Skip to content

Initial Memory Map

Charles Ambrye edited this page Feb 11, 2022 · 2 revisions

Initial Memory Map

This is the memory map immediately after the second stage Bootloader transfers control to the operating system. It is worth checking out the x86 Memory Map for additional information.

  • 0x0000-0x04FF - Unusable
  • 0x0500-0x7BFF - Memory Identified by BIOS during stage 2 bootloader
  • 0x7C00-0x7DFF (initial entry point BIOS jumps to on x86 hardware) - Bootloader Stage 1 (512 bytes)
  • 0x7E00-0x8FFF - Initial Kernel Stack (4,608 bytes if stage 1 is kept, 5,120 bytes if stage 1 is clobbered)
  • 0x9000-0x9FFF - Bootloader Stage 2 (4kiB)
  • 0xA000-0x5FFFF - Red Panda OS (352,255 bytes)
  • 0x60000-0x7FFFF - Initial Kernel Heap (131,071 bytes)
  • 0x80000-0xFFFFF - Memory mapped to video, BIOS, etc
We only have a limited amount of memory to start with, which is why it's important to read in the memory from the BIOS, get everything we need setup as part of the initial OS load (352,255 bytes), and then start using that BIOS identified memory.
Clone this wiki locally