[−][src]Struct sunrise_bootstrap::paging::table::ActivePageDirectory
The page directory currently in use.
Its last entry enables recursive mapping, which we use to access and modify it
Implementations
impl ActivePageDirectory
[src]
fn get_table_address(&self, index: usize) -> PageState<usize>
[src]
reduce recursive mapping by one time to get further down in table hierarchy
Trait Implementations
impl Deref for ActivePageDirectory
[src]
type Target = PageDirectory
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
impl DerefMut for ActivePageDirectory
[src]
impl HierarchicalTable for ActivePageDirectory
[src]
fn entries(&self) -> &[Entry; 1024]
[src]
fn entries_mut(&mut self) -> &mut [Entry; 1024]
[src]
fn zero(&mut self)
[src]
fn map_nth_entry<T: Flusher>(
&mut self,
entry: usize,
frame: Frame,
flags: I386EntryFlags
)
[src]
&mut self,
entry: usize,
frame: Frame,
flags: I386EntryFlags
)
fn guard_nth_entry<T: Flusher>(&mut self, entry: usize)
[src]
fn flush_cache()
[src]
impl Index<usize> for ActivePageDirectory
[src]
type Output = <PageDirectory as Index<usize>>::Output
The returned type after indexing.
fn index(&self, index: usize) -> &Entry
[src]
impl IndexMut<usize> for ActivePageDirectory
[src]
impl PageDirectoryTrait for ActivePageDirectory
[src]
type PageTableType = ActivePageTable
type FlusherType = TlbFlush
fn get_table(
&mut self,
index: usize
) -> PageState<SmartHierarchicalTable<Self::PageTableType>>
[src]
&mut self,
index: usize
) -> PageState<SmartHierarchicalTable<Self::PageTableType>>
Gets a reference to a page table through recursive mapping
fn create_table(
&mut self,
index: usize
) -> SmartHierarchicalTable<Self::PageTableType>
[src]
&mut self,
index: usize
) -> SmartHierarchicalTable<Self::PageTableType>
Allocates a page table, zero it and add an entry to the directory pointing to it
fn get_table_or_create(
&mut self,
index: usize
) -> SmartHierarchicalTable<Self::PageTableType>
[src]
&mut self,
index: usize
) -> SmartHierarchicalTable<Self::PageTableType>
fn map_to(
&mut self,
page: Frame,
address: VirtualAddress,
flags: I386EntryFlags
)
[src]
&mut self,
page: Frame,
address: VirtualAddress,
flags: I386EntryFlags
)
fn guard(&mut self, address: VirtualAddress)
[src]
fn __unmap(&mut self, page: VirtualAddress) -> PageState<Frame>
[src]
fn find_available_virtual_space_aligned<Land: VirtualSpaceLand>(
&mut self,
page_nb: usize,
alignement: usize
) -> Option<VirtualAddress>
[src]
&mut self,
page_nb: usize,
alignement: usize
) -> Option<VirtualAddress>
Auto Trait Implementations
impl RefUnwindSafe for ActivePageDirectory
impl Send for ActivePageDirectory
impl Sync for ActivePageDirectory
impl Unpin for ActivePageDirectory
impl UnwindSafe for ActivePageDirectory
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,