pub trait PagingMetaData: Sync + Send {
type VirtAddr: MemoryAddr;
const LEVELS: usize;
const PA_MAX_BITS: usize;
const VA_MAX_BITS: usize;
const PA_MAX_ADDR: usize = _;
// Required method
fn flush_tlb(vaddr: Option<Self::VirtAddr>);
// Provided methods
fn paddr_is_valid(paddr: usize) -> bool { ... }
fn vaddr_is_valid(vaddr: usize) -> bool { ... }
}Expand description
The architecture-dependent metadata that must be provided for
PageTable64.
Required Associated Constants§
sourceconst PA_MAX_BITS: usize
const PA_MAX_BITS: usize
The maximum number of bits of physical address.
sourceconst VA_MAX_BITS: usize
const VA_MAX_BITS: usize
The maximum number of bits of virtual address.
Provided Associated Constants§
sourceconst PA_MAX_ADDR: usize = _
const PA_MAX_ADDR: usize = _
The maximum physical address.
Required Associated Types§
sourcetype VirtAddr: MemoryAddr
type VirtAddr: MemoryAddr
The virtual address to be translated in this page table.
This associated type allows more flexible use of page tables structs like PageTable64,
for example, to implement EPTs.
Required Methods§
Provided Methods§
sourcefn paddr_is_valid(paddr: usize) -> bool
fn paddr_is_valid(paddr: usize) -> bool
Whether a given physical address is valid.
sourcefn vaddr_is_valid(vaddr: usize) -> bool
fn vaddr_is_valid(vaddr: usize) -> bool
Whether a given virtual address is valid.
Object Safety§
This trait is not object safe.
Implementors§
source§impl PagingMetaData for A64PagingMetaData
Available on AArch64 only.
impl PagingMetaData for A64PagingMetaData
Available on AArch64 only.
source§impl PagingMetaData for X64PagingMetaData
Available on x86-64 only.
impl PagingMetaData for X64PagingMetaData
Available on x86-64 only.
source§impl<VA: SvVirtAddr> PagingMetaData for Sv39MetaData<VA>
Available on RISC-V RV32 or RISC-V RV64 only.
impl<VA: SvVirtAddr> PagingMetaData for Sv39MetaData<VA>
Available on RISC-V RV32 or RISC-V RV64 only.
source§impl<VA: SvVirtAddr> PagingMetaData for Sv48MetaData<VA>
Available on RISC-V RV32 or RISC-V RV64 only.
impl<VA: SvVirtAddr> PagingMetaData for Sv48MetaData<VA>
Available on RISC-V RV32 or RISC-V RV64 only.