It's a bit of a shame that Linux doesn't put the kernel at the low end of the address space and identity-map the kernel's address space. For one, calculating kernel address mappings would be slightly faster, and for two, it would allow putting 64-bit processes at the top of virtual memory, where pointers are NaN when bit-cast to pointers, so NaN-boxing language runtimes get a speed bump.
I wonder how much software assumes it's being mapped in the lower portion of the address space.
> You'll love my 64-bit ring-0-only identity-mapped operating system.
RIP