Trait x86_64::structures::paging::Mapper [−][src]
pub trait Mapper<S: PageSize> { fn map_to<A>(
&mut self,
page: Page<S>,
frame: PhysFrame<S>,
flags: PageTableFlags,
allocator: &mut A
) -> Result<MapperFlush<S>, MapToError>
where
A: FnMut() -> Option<PhysFrame>; fn unmap<A>(
&mut self,
page: Page<S>,
allocator: &mut A
) -> Result<MapperFlush<S>, UnmapError>
where
A: FnMut(PhysFrame<S>); fn update_flags(
&mut self,
page: Page<S>,
flags: PageTableFlags
) -> Result<MapperFlush<S>, FlagUpdateError>; fn translate(&self, page: Page<S>) -> Option<PhysFrame<S>>; }
Required Methods
fn map_to<A>(
&mut self,
page: Page<S>,
frame: PhysFrame<S>,
flags: PageTableFlags,
allocator: &mut A
) -> Result<MapperFlush<S>, MapToError> where
A: FnMut() -> Option<PhysFrame>,
&mut self,
page: Page<S>,
frame: PhysFrame<S>,
flags: PageTableFlags,
allocator: &mut A
) -> Result<MapperFlush<S>, MapToError> where
A: FnMut() -> Option<PhysFrame>,
fn unmap<A>(
&mut self,
page: Page<S>,
allocator: &mut A
) -> Result<MapperFlush<S>, UnmapError> where
A: FnMut(PhysFrame<S>),
&mut self,
page: Page<S>,
allocator: &mut A
) -> Result<MapperFlush<S>, UnmapError> where
A: FnMut(PhysFrame<S>),
fn update_flags(
&mut self,
page: Page<S>,
flags: PageTableFlags
) -> Result<MapperFlush<S>, FlagUpdateError>
&mut self,
page: Page<S>,
flags: PageTableFlags
) -> Result<MapperFlush<S>, FlagUpdateError>
fn translate(&self, page: Page<S>) -> Option<PhysFrame<S>>
Implementors
impl<'a> Mapper<Size1GB> for RecursivePageTable<'a>
impl<'a> Mapper<Size2MB> for RecursivePageTable<'a>
impl<'a> Mapper<Size4KB> for RecursivePageTable<'a>