Mail Archives: djgpp/1995/01/13/15:18:30
I have been tasked with writing a function that will determine
if a specified address is valid when using the go32 extender.
I have been able to examine the GDT and the paging tables, but
I'm a little puzzled by what I have found.
The CS and DS registers point to descriptors in the GDT that specify
segments that start at address 0x10000000 with a size of 0xEFFFFFFF
bytes.
The page table contains entries for 16 megabytes at 0 and at 0xF0000000.
So my question is: what are the mechanics that happen when an address
with an offset of 0xE0000000 is specified? Is there a better way to
write a function to determine if an address is actually implemented
by a physical address? The solution should not cause any exception
conditions. We are not allowing memory paging in our implementation.
Thanks in advance for any help.
-Jim.
----
James A. Babcock, Software Engineer Email: jab AT netrix DOT com
Netrix Corporation '92 Honda Accord
13595 Dulles Technology Drive '76 Triumph TR7
Herndon VA 22071 USA Give Blood -- It's a great feeling!
- Raw text -