Kernel memory

While jsix probably should eventually use KASLR to randomize its memory layout, currently the layout is mostly fixed. (Kernel code locations are not consistent but aren’t explicitly randomized.)

Address

Size

Use

0x ffff c000 0000 0000

64 TiB

Linearly-mapped physical memory

0x ffff bf00 0000 0000

1 TiB

Used/free page tracking bitmap

0x ffff bef8 0000 0000

32 GiB

Kernel heap accounting structures

0x ffff bef0 0000 0000

32 GiB

Kernel heap

0x ffff bee8 0000 0000

32 GiB

Capabilities accounting structures

0x ffff bee0 0000 0000

32 GiB

Capabilities

0x ffff bed0 0000 0000

64 GiB

Kernel thread stacks

0x ffff bec0 0000 0000

64 GiB

Kernel buffers

0x ffff bebf 8000 0000

2 GiB

Kernel logs circular buffer

0x ffff 0000 0000 0000

Kernel code / headers

Un-reserved virtual memory address space in the higher half: 62 TiB