This might be a silly question, but why is the memory layout documented in
this document from the linux documentation different from
the article about the memory map from the osdev wiki in the address 0x00000500?
According to the linux kernel documentation the memory is something like this:
Code:
010000 +------------------------+
| Boot loader | <- Boot sector entry point 0000:7C00
001000 +------------------------+
| Reserved for MBR/BIOS |
000800 +------------------------+
| Typically used by MBR |
000600 +------------------------+
| BIOS use only |
000000 +------------------------+
But in the
osdev wiki, it is something like this:
Code:
007E00 +------------------------+
| Your OS BootSector |
007C00 +------------------------+
| Conventional memory |
000500 +------------------------+
| BDA (BIOS data area) |
000400 +------------------------+
| Real Mode IVT |
000000 +------------------------+
The "Real Mode IVT" and "BDA" are things that are meant for BIOS use only, so it makes sense. I don't undestand however why linux says memory from 0x000500 to 0x000600 is also "BIOS use only" but that piece of memory is part of the "Conventional memory" according to the osdev wiki.