ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/13/11:24:59

Date: Wed, 13 Nov 1996 18:07:20 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: Koen DOT VanHerck AT barco DOT com
Cc: djgpp AT delorie DOT com
Subject: Re: Accessing memory above 1MB
In-Reply-To: <9611131609.AA20023@ivs4.>
Message-Id: <Pine.SUN.3.91.961113175258.5516E-100000@is>
Mime-Version: 1.0

On Wed, 13 Nov 1996, Koen Van Herck wrote:

> *A* :  Use the `__dpmi_physical_address_mapping' library function.  
> ...
> If you prefer to create the mapping yourself,
> these are the DPMI calls that you will have to use:
> 
>    - allocate an LDT descriptor (Int 31h/AX=0);
>    - map selector to physical address (Int 31h/AX=0800h);
>    - lock linear address (Int 31h/AX=0600h);
>    - set segment base address (Int 31h/AX=7);
>    - set segment limit (Int 31h/AX=8).
> 
> Now, what is meant exactly with "doing it yourself" ? Does this mean
> that I use either __dpmi_physical_address_mapping or the five points above.
> 
> If so, then how do I do point 2 ? Isn't this what
> __dpmi_physical_address_mapping does ?
> 
> Or is __dpmi_physical_address_mapping equivalent to all 5 points together?

Hmmm... looks like this FAQ section is a left-over from my misconception 
about what `__dpmi_physical_address_mapping' does.  In reality it only 
accomplishes step 2 above, you are right.  I will correct this in the 
next revision of the FAQ.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019