Page 1 of 1

Unusable Memory Locations/Ranges

Posted: Mon Sep 29, 2003 9:53 pm
by rdragon
I am trying to figure out what memory locations are "off limits" to general allocation. That is, memory such as the video buffer at 0x0B8000 , and I have also read somewhere that the BIOS has itself copied into memory at some location, and that should not be overwritten.

My first question is, what exactly is going on here, is the system memory location 0x0B8000 simply read by the video card to get the data for outputting, or is it something like memory mapped I/O ?

My second question, is there any site out there that details what other things might be allocated here and there, so that I (and others) have an accurate picture of what is happening where in memory by default, to appropriately compensate in memory management routines?

Re:Unusable Memory Locations/Ranges

Posted: Tue Sep 30, 2003 1:11 am
by Pype.Clicker
in a conventionnal PC architecture, you should always consider that address range [[ 0xa0000 .. 0xfffff ]] is reserved for BIOS and memory-mapped I/O vga screen.

there's another reserved area (Bios Data Area + Interrupt Vector Table) covering 0x00000 .. 0x00500, iirc. All this is explained in details in Perica's tutorial on Bona Fide OSDEV page (see .:QuickLinkz:.)

Re:Unusable Memory Locations/Ranges

Posted: Tue Sep 30, 2003 10:55 am
by rdragon
Ohh excellent. Excuse me for not researching it in depth prior to asking. Thank you for the pointer :)