Next revision | Previous revision |
en:docs:boot:memmap [2013/03/07 22:29] – created valerius | en:docs:boot:memmap [2014/05/21 20:52] (current) – external edit 127.0.0.1 |
---|
==== Initial memory map ==== | ===== Initial memory map ===== |
| |
The standard PC has the following memory map: | The standard PC has the following memory map: |
| |
^Addresses ^Name ^Description ^ | ^Addresses ^Name ^Description ^ |
|0×000000-0x09FFFF |Conventional memory |RAM, which can be used by user| | |0x000000-0x09FFFF |Conventional memory |RAM, which can be used by user| |
|0x0A0000-0x0BFFFF |Video memory |RAM, used by video adapter | | |0x0A0000-0x0BFFFF |Video memory |RAM, used by video adapter | |
|0x0C0000-0x0CFFFF |Adapter's ROM |ROM, used by different adapters| | |0x0C0000-0x0CFFFF |Adapter's ROM |ROM, used by different adapters| |
| |
^Addresses ^Name ^Description ^ | ^Addresses ^Name ^Description ^ |
|0×000000-0x0003FF |Interrupt Vectors |This memory used to control Inerrupts| | |0x000000-0x0003FF |Interrupt Vectors |This memory used to control Inerrupts| |
|0×000400-0x0004FF |BIOS Data Area |Used by ROM BIOS| | |0x000400-0x0004FF |BIOS Data Area |Used by ROM BIOS| |
| |
=== After BIOS POST === | ==== After BIOS POST ==== |
| |
^Addresses ^Name ^Description ^ | ^Addresses ^Name ^Description ^ |
|0×000000-0x0003FF |Interrupt Vectors |This memory used to control Inerrupts| | |0x000000-0x0003FF |Interrupt Vectors |This memory used to control Inerrupts| |
|0×000400-0x0004FF |BIOS Data Area |Used by ROM BIOS| | |0x000400-0x0004FF |BIOS Data Area |Used by ROM BIOS| |
|0×000500-0x007BFF |Free |Free, unused memory| | |0x000500-0x007BFF |Free |Free, unused memory| |
|0x007C00-0x007DFF |MBR |Master Boot Record | |0x007C00-0x007DFF |MBR |Master Boot Record |
|0x007E00-0x09FFFF |Free Conventional memory|RAM, which can be used by user| | |0x007E00-0x09FFFF |Free Conventional memory|RAM, which can be used by user| |
| |
^Addresses ^Name ^Description ^ | ^Addresses ^Name ^Description ^ |
|0×000000-0x0003FF |Interrupt Vectors |This memory used to control Inerrupts| | |0x000000-0x0003FF |Interrupt Vectors |This memory used to control Inerrupts| |
|0×000400-0x0004FF |BIOS Data Area |Used by ROM BIOS| | |0x000400-0x0004FF |BIOS Data Area |Used by ROM BIOS| |
|0×000500-0x0005FF |Free |Free, unused memory| | |0x000500-0x0005FF |Free |Free, unused memory| |
|0×000600-0x0007FF |MBR |Master Boot Record| | |0x000600-0x0007FF |MBR |Master Boot Record| |
|0×000800-0x007BFF |Free |Free, unused memory| | |0x000800-0x007BFF |Free |Free, unused memory| |
|0x007C00-0x007DFF |Boot record |Boot Record loaded from boot sector of active partition| | |0x007C00-0x007DFF |Boot record |Boot Record loaded from boot sector of active partition| |
|0x007E00-0x007FFF |MBR Work area |This area was used as MBR work area| | |0x007E00-0x007FFF |MBR Work area |This area was used as MBR work area| |
|0×008000-0x09FFFF |Free Conventional memory|RAM, which can be used by user| | |0x008000-0x09FFFF |Free Conventional memory|RAM, which can be used by user| |
|0x0A0000-0x0BFFFF |Video memory |RAM, used by video adapter| | |0x0A0000-0x0BFFFF |Video memory |RAM, used by video adapter| |
|0x0C0000-0x0CFFFF |Adapter's ROM |ROM, used by different adapters| | |0x0C0000-0x0CFFFF |Adapter's ROM |ROM, used by different adapters| |
| |
^Addresses ^Name ^Description ^ | ^Addresses ^Name ^Description ^ |
|0×000000-0x0003FF |Interrupt Vectors |This memory used to control Inerrupts| | |0x000000-0x0003FF |Interrupt Vectors |This memory used to control Inerrupts| |
|0×000400-0x0004FF |BIOS Data Area |Used by ROM BIOS| | |0x000400-0x0004FF |BIOS Data Area |Used by ROM BIOS| |
|0×000500-0x0005FF |Free |Free, unused memory| | |0x000500-0x0005FF |Free |Free, unused memory| |
|0×000600-0x0007FF |MBR |Master Boot Record| | |0x000600-0x0007FF |MBR |Master Boot Record| |
|0×000800-0x007BFF |Free |Free, unused memory| | |0x000800-0x007BFF |Free |Free, unused memory| |
|0x007C00-0x007DFF |Boot record |Boot Record loaded from boot sector of active partition| | |0x007C00-0x007DFF |Boot record |Boot Record loaded from boot sector of active partition| |
|0x007E00-0x007FFF |Boot record Work area |This area was used as Boot Record work area| | |0x007E00-0x007FFF |Boot record Work area |This area was used as Boot Record work area| |
|0×008000-(MuFSDStart-1) |Free |Free, unused memory| | |0x008000-(MuFSDStart-1) |Free |Free, unused memory| |
|MuFSDStart-MuFSDEnd |MicroFSD |MicroFSD/BlackBox code| | |MuFSDStart-MuFSDEnd |MicroFSD |MicroFSD/BlackBox code| |
|(MuFSDEnd+1)-0x09FFFF |Free Conventional memory |RAM, which can be used by user| | |(MuFSDEnd+1)-0x09FFFF |Free Conventional memory |RAM, which can be used by user| |
|0x0E0000-0x0FFFFF |BIOS |PC BIOS ROM| | |0x0E0000-0x0FFFFF |BIOS |PC BIOS ROM| |
| |
MuFSDStart=0×008000 or 0×090000. Now we use 0×090000 as LILO does but have a plan to use 0×008000 for more compact memory reuse and less possibility of overlapping. | MuFSDStart=0x008000 or 0x090000. Now we use 0x090000 as LILO does but have a plan to use 0x008000 for more compact memory reuse and less possibility of overlapping. |
| |
MuFSDEnd is (0×008000+MicroFSD_file_length-1) | MuFSDEnd is (0x008000+MicroFSD_file_length-1) |
| |
==== After MicroFSD/BlackBox ==== | ==== After MicroFSD/BlackBox ==== |
Memory map after L4Ka:Kickstart work known to microkernel via Kernel Interface Page. Other tasks has access to memory via sigma0 server. Strating from this point all memory operation controlled by L4 microkernel. | Memory map after L4Ka:Kickstart work known to microkernel via Kernel Interface Page. Other tasks has access to memory via sigma0 server. Strating from this point all memory operation controlled by L4 microkernel. |
| |
=== Discussion === | ~~DISCUSSION~~ |
| |