What is the memory map when you boot into pmode? obvoisuly u can put the idt/gdt etc where u want but what is say at 0000:000h?
Also when u jump into pmode is it true that u are unable to use the bios routines such as int 13h?
THANKS IN ADVANCE
BIOS and mem map info
RE:BIOS and mem map info
The memory "map" is the same as real mode, except it's bigger (ie, 32-bit addressing = 4.29GB), and access linearly, instead of through segment:offset pairs.
At 0:0 is the real mode IDT, unless you've overwritten it while entering pmode. Any memory address which can be accessed in real mode, can be accessed at that same location in pmode, albeit through a segment:offset to linear address space translation.
As for BIOS routines, no, you can't use them. You can use pmode's vm86 mode to execute bios interrupts in an environment designed to _look_ like real mode. It's a bit involved, however, and not quite as fast as if you were to write your own protected mode interrupts.
Jeff
At 0:0 is the real mode IDT, unless you've overwritten it while entering pmode. Any memory address which can be accessed in real mode, can be accessed at that same location in pmode, albeit through a segment:offset to linear address space translation.
As for BIOS routines, no, you can't use them. You can use pmode's vm86 mode to execute bios interrupts in an environment designed to _look_ like real mode. It's a bit involved, however, and not quite as fast as if you were to write your own protected mode interrupts.
Jeff
RE:BIOS and mem map info
Hate to be finicky, but to say that pmode is 4G and accessed linearly is not necessarily true - it CAN be configured that way and usually is, but it could be configured to be bigger or smaller and segments could be any size, even the good old 64K we are used to !
In 99% of cases what you say is correct, but I just want to point out that there are other possibilities if the OS programmer so chooses
In 99% of cases what you say is correct, but I just want to point out that there are other possibilities if the OS programmer so chooses
RE:BIOS and mem map info
lol, true, true
One other thing I should probably add, as well, in regardds to the original question, is that, although anything that is accessable in real mode is also accessable in pmode, the reverse is not true.
This is pretty obvious, of course... the only reason I mention it is because the LFB of Vesa 2.0 cards (and even non-vesa cards) is always mapped above the 1MB accessable in real mode (unless you have a 64k card, I suppose, in which case 0xA0000 will suffice)... so, in this case, I suppose the memory map can be considered different between real mode and pmode... or rather, enhanced, I suppose, because the first 1MB will _always_ be the same (unless otherwise changed through the paging mechanism... and even then, only linear addresses are changed, physically, the first 1MB is still the same).
Jeff
One other thing I should probably add, as well, in regardds to the original question, is that, although anything that is accessable in real mode is also accessable in pmode, the reverse is not true.
This is pretty obvious, of course... the only reason I mention it is because the LFB of Vesa 2.0 cards (and even non-vesa cards) is always mapped above the 1MB accessable in real mode (unless you have a 64k card, I suppose, in which case 0xA0000 will suffice)... so, in this case, I suppose the memory map can be considered different between real mode and pmode... or rather, enhanced, I suppose, because the first 1MB will _always_ be the same (unless otherwise changed through the paging mechanism... and even then, only linear addresses are changed, physically, the first 1MB is still the same).
Jeff