Sv39
Sv39 is a 39-bit virtual memory addressing mode defined for the 64-bit RISC-V architecture. It provides a 39-bit virtual address space and uses a three-level page table with 4 KiB pages. Sv39 is the common address translation scheme for RV64 implementations and is widely used by Linux on RISC-V.
Virtual address format in Sv39 partitions a 39-bit virtual address into three 9-bit VPN fields and a
Page table entries (PTEs) are 64 bits wide. Each PTE contains standard permission and status bits (valid,
Translation proceeds by walking the three levels of page tables using the VPN components; if a required
Sv39 also defines canonical, sign-extended virtual addresses and interacts with the processor’s privilege model and memory