Sv39 Rust Implementation
Sv39 is one of RISCV's paging systems, with 39-bit virtual addresses and a total address space of 512 GB.
Get Started!
One of the simplest examples is the dummy kernel found in the source code, which performs a 1:1 mapping without the higher half.
let kernel_base = as u64;
let heap_end = as u64; // OR KERNEL_END
let offset_mapper = identity;
offset_mapper
.map_range
.unwrap;
println!;
load_with_phys;
Resources
- Inspired in: https://github.com/rust-osdev/x86_64/
- RiscV oficial docs: https://docs.riscv.org/reference/isa/v20260120/priv/supervisor.html#sv39