Skip to main content

USER_SPACE_END

Constant USER_SPACE_END 

Source
pub const USER_SPACE_END: u64 = 0xFFFF_FFFF_FFFF_FFFF;
Expand description

End of user-accessible virtual address space.

On x86_64 with 4-level paging, canonical user addresses are 0x0000_0000_0000_0000 ..= 0x0000_7FFF_FFFF_FFFF. Anything at or above this boundary is kernel space. Upper bound (exclusive semantics at use sites) of the user virtual range.

Strat9 userspace is statically linked in the higher-half window (0xFFFFFFFF80000000, same convention as the kernel image). Each process gets a PRIVATE copy of the PML4[511] PDP with the kernel-image slot removed (see address_space::new_user), so user mappings can span the full canonical range; kernel isolation comes from U/S page bits and the private window, not from an address split.