mem_layout.txt 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. physical memory
  2. 0x0000 - 0x1000 : GDT for kernel initialization use and some early kernel data
  3. 0x1000 - 0x2000 : kernel stage1
  4. 0x2000 - 0x3000 : kernel space PML4
  5. 0x3000 - 0x4000 : kernel PDPT for physical memory mappings
  6. 0x4000 - 0x5000 : kernel PDPT for kernel space
  7. 0x5000 - 0x6000 : kernel PD for kernel image
  8. 0x6000 - 0x7000 : kernel PT for kernel image
  9. 0x7000 - 0x8000 : kernel PD for struct page array#1
  10. 0x100000 - 0x200000 : unused
  11. 0x200000 - 0x400000 : first kernel bss page (2MB)
  12. 0x400000 - ? : kernel image
  13. ? - ? : struct page array
  14. virtual address space
  15. 0xffff ff0 000 000 000 - 0xffff ff3 fff fff fff 256GB physical memory (cached)
  16. 0xffff ff4 000 000 000 - 0xffff ff7 fff fff fff 256GB physical memory (not cached)
  17. 0xffff ff8 000 000 000 - 0xffff ff8 03f fff fff 1GB unused
  18. 0xffff ff8 040 000 000 - 0xffff ff8 13f fff fff 4GB struct page array
  19. 0xffff ff8 140 000 000 - 0xffff ff8 17f fff fff 1GB unused
  20. 0xffff ff8 180 000 000 - 0xffff ffb fff fff fff 250GB kernel heap
  21. 0xffff ffc 000 000 000 - 0xffff fff fbf fff fff 255GB unused
  22. 0xffff fff fc0 000 000 - 0xffff fff fc0 1ff fff 2MB unused
  23. 0xffff fff fc0 200 000 - 0xffff fff fff 9ff fff 1016MB kernel bss
  24. 0xffff fff fff a00 000 - 0xffff fff fff bff fff 2MB unused
  25. 0xffff fff fff c00 000 - 0xffff fff fff dff fff 2MB kernel image
  26. 0xffff fff fff e00 000 - 0xffff fff fff fff fff 2MB unused