pub trait PageTable: Send + 'static {
// Required methods
fn addr(&self) -> PhysAddr;
fn map(
&mut self,
virt_start: VirtAddr,
phys_start: PhysAddr,
size: usize,
settings: MemConfig,
flush: bool,
) -> Result<(), PagingError>;
fn unmap(
&mut self,
virt_start: VirtAddr,
size: usize,
) -> Result<(), PagingError>;
// Provided method
fn ioremap(
&mut self,
phys_start: PhysAddr,
size: usize,
flush: bool,
) -> Result<IoMemAddr, PagingError> { ... }
}Required Methods§
fn addr(&self) -> PhysAddr
fn map( &mut self, virt_start: VirtAddr, phys_start: PhysAddr, size: usize, settings: MemConfig, flush: bool, ) -> Result<(), PagingError>
fn unmap( &mut self, virt_start: VirtAddr, size: usize, ) -> Result<(), PagingError>
Provided Methods§
fn ioremap( &mut self, phys_start: PhysAddr, size: usize, flush: bool, ) -> Result<IoMemAddr, PagingError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".