Struct x86_64::structures::paging::RecursivePageTable
[−]
[src]
pub struct RecursivePageTable<'a> { /* fields omitted */ }
Methods
impl<'a> RecursivePageTable<'a>
[src]
pub fn new(table: &'a mut PageTable) -> Result<Self, NotRecursivelyMapped>
[src]
pub unsafe fn new_unchecked(
table: &'a mut PageTable,
recursive_index: u9
) -> Self
[src]
table: &'a mut PageTable,
recursive_index: u9
) -> Self
pub fn identity_map<A, S>(
&mut self,
frame: PhysFrame<S>,
flags: PageTableFlags,
allocator: &mut A
) -> Result<MapperFlush<S>, MapToError> where
A: FnMut() -> Option<PhysFrame>,
S: PageSize,
Self: Mapper<S>,
[src]
&mut self,
frame: PhysFrame<S>,
flags: PageTableFlags,
allocator: &mut A
) -> Result<MapperFlush<S>, MapToError> where
A: FnMut() -> Option<PhysFrame>,
S: PageSize,
Self: Mapper<S>,
Trait Implementations
impl<'a> Mapper<Size1GB> for RecursivePageTable<'a>
[src]
fn map_to<A>(
&mut self,
page: Page<Size1GB>,
frame: PhysFrame<Size1GB>,
flags: PageTableFlags,
allocator: &mut A
) -> Result<MapperFlush<Size1GB>, MapToError> where
A: FnMut() -> Option<PhysFrame>,
[src]
&mut self,
page: Page<Size1GB>,
frame: PhysFrame<Size1GB>,
flags: PageTableFlags,
allocator: &mut A
) -> Result<MapperFlush<Size1GB>, MapToError> where
A: FnMut() -> Option<PhysFrame>,
fn unmap<A>(
&mut self,
page: Page<Size1GB>,
allocator: &mut A
) -> Result<MapperFlush<Size1GB>, UnmapError> where
A: FnMut(PhysFrame<Size1GB>),
[src]
&mut self,
page: Page<Size1GB>,
allocator: &mut A
) -> Result<MapperFlush<Size1GB>, UnmapError> where
A: FnMut(PhysFrame<Size1GB>),
fn update_flags(
&mut self,
page: Page<Size1GB>,
flags: PageTableFlags
) -> Result<MapperFlush<Size1GB>, FlagUpdateError>
[src]
&mut self,
page: Page<Size1GB>,
flags: PageTableFlags
) -> Result<MapperFlush<Size1GB>, FlagUpdateError>
fn translate(&self, page: Page<Size1GB>) -> Option<PhysFrame<Size1GB>>
[src]
impl<'a> Mapper<Size2MB> for RecursivePageTable<'a>
[src]
fn map_to<A>(
&mut self,
page: Page<Size2MB>,
frame: PhysFrame<Size2MB>,
flags: PageTableFlags,
allocator: &mut A
) -> Result<MapperFlush<Size2MB>, MapToError> where
A: FnMut() -> Option<PhysFrame>,
[src]
&mut self,
page: Page<Size2MB>,
frame: PhysFrame<Size2MB>,
flags: PageTableFlags,
allocator: &mut A
) -> Result<MapperFlush<Size2MB>, MapToError> where
A: FnMut() -> Option<PhysFrame>,
fn unmap<A>(
&mut self,
page: Page<Size2MB>,
allocator: &mut A
) -> Result<MapperFlush<Size2MB>, UnmapError> where
A: FnMut(PhysFrame<Size2MB>),
[src]
&mut self,
page: Page<Size2MB>,
allocator: &mut A
) -> Result<MapperFlush<Size2MB>, UnmapError> where
A: FnMut(PhysFrame<Size2MB>),
fn update_flags(
&mut self,
page: Page<Size2MB>,
flags: PageTableFlags
) -> Result<MapperFlush<Size2MB>, FlagUpdateError>
[src]
&mut self,
page: Page<Size2MB>,
flags: PageTableFlags
) -> Result<MapperFlush<Size2MB>, FlagUpdateError>
fn translate(&self, page: Page<Size2MB>) -> Option<PhysFrame<Size2MB>>
[src]
impl<'a> Mapper<Size4KB> for RecursivePageTable<'a>
[src]
fn map_to<A>(
&mut self,
page: Page<Size4KB>,
frame: PhysFrame<Size4KB>,
flags: PageTableFlags,
allocator: &mut A
) -> Result<MapperFlush<Size4KB>, MapToError> where
A: FnMut() -> Option<PhysFrame>,
[src]
&mut self,
page: Page<Size4KB>,
frame: PhysFrame<Size4KB>,
flags: PageTableFlags,
allocator: &mut A
) -> Result<MapperFlush<Size4KB>, MapToError> where
A: FnMut() -> Option<PhysFrame>,
fn unmap<A>(
&mut self,
page: Page<Size4KB>,
allocator: &mut A
) -> Result<MapperFlush<Size4KB>, UnmapError> where
A: FnMut(PhysFrame<Size4KB>),
[src]
&mut self,
page: Page<Size4KB>,
allocator: &mut A
) -> Result<MapperFlush<Size4KB>, UnmapError> where
A: FnMut(PhysFrame<Size4KB>),
fn update_flags(
&mut self,
page: Page<Size4KB>,
flags: PageTableFlags
) -> Result<MapperFlush<Size4KB>, FlagUpdateError>
[src]
&mut self,
page: Page<Size4KB>,
flags: PageTableFlags
) -> Result<MapperFlush<Size4KB>, FlagUpdateError>