only the first 32GiB of physical memory are considered. this can be changed with pram_pages in paging.cpp. vram layout is as follows: 0x0000.0000.0000 - 0x0000.0000.0fff: always unmapped 0x0000.0000.1000 - 0x003f.ffff.ffff: available to user process 0x0040.0000.0000 - 0x007f.ffff.ffff: each 16MB: 0x00.0000 - 0x00.0fff: always unmapped 0x00.1000 - 0xff.ffff: available for user thread stack 0x0080.0000.0000 - 0xffff.bfff.ffff: always unmapped 0xffff.c000.0000 - 0xffff.ffdf.ffff: available to kernel 0xffff.ffe0.0000 - 0xffff.ffe0.0fff: always unmapped 0xffff.ffe0.1000 - 0xffff.ffef.efff: interrupt stack 0xffff.ffef.f000 - 0xffff.fff0.0fff: always unmapped 0xffff.fff0.1000 - 0xffff.ffff.efff: syscall stack / kernel init stack 0xffff.ffff.f000 - 0xffff.ffff.ffff: always unmapped