Besides writing an OS, any way on x86_64 linux to do custom paging?

  1. I'm reading Introduction to Paging | Writing an OS in Rust

  2. 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?