I'm reading Introduction to Paging | Writing an OS in Rust
This clearly shows how to do paging / the 4 level hierarchy of virtual address to physical address.
Question: on x86_64 linux, is it possible to do this in user land programs? say some program running as root, or is this something that can only be done at the kernel level ?
EDIT: Even something that allows to do "virtual virtual address" would be interesting, i.e.
virtual virtual address -> ??? -> virtual address virtual address -> standard 4 level translation -> physical address
EDIT2: Suppose the answer to the above is 'no' -- is there any minimalist rust kernel (that runs on x86_64 and also easily runs on AWS) which does allow us this access?