physical memory 0x0000 - 0x1000 : GDT for kernel initialization use and some early kernel data 0x1000 - 0x2000 : kernel stage1 0x2000 - 0x3000 : kernel space PML4 0x3000 - 0x4000 : kernel PDPT for physical memory mappings 0x4000 - 0x5000 : kernel PDPT for kernel space 0x5000 - 0x6000 : kernel PD for kernel image 0x6000 - 0x7000 : kernel PT for kernel image 0x7000 - 0x8000 : kernel PD for struct page array#1 0x100000 - 0x200000 : unused 0x200000 - 0x400000 : first kernel bss page (2MB) 0x400000 - ? : kernel image ? - ? : struct page array virtual address space 0xffff ff0 000 000 000 - 0xffff ff3 fff fff fff 256GB physical memory (cached) 0xffff ff4 000 000 000 - 0xffff ff7 fff fff fff 256GB physical memory (not cached) 0xffff ff8 000 000 000 - 0xffff ff8 03f fff fff 1GB unused 0xffff ff8 040 000 000 - 0xffff ff8 13f fff fff 4GB struct page array 0xffff ff8 140 000 000 - 0xffff ff8 17f fff fff 1GB unused 0xffff ff8 180 000 000 - 0xffff ffb fff fff fff 250GB kernel heap 0xffff ffc 000 000 000 - 0xffff fff fbf fff fff 255GB unused 0xffff fff fc0 000 000 - 0xffff fff fc0 1ff fff 2MB unused 0xffff fff fc0 200 000 - 0xffff fff fff 9ff fff 1016MB kernel bss 0xffff fff fff a00 000 - 0xffff fff fff bff fff 2MB unused 0xffff fff fff c00 000 - 0xffff fff fff dff fff 2MB kernel image 0xffff fff fff e00 000 - 0xffff fff fff fff fff 2MB unused