[−][src]Struct sunrise_bootstrap::paging::table::PagingOffDirectory
A directory we can modify by directly accessing physical memory because paging is off
Implementations
impl PagingOffDirectory
[src]
unsafe fn init_directory(&mut self)
[src]
Initializes the directory. This function does two things:
- zero out the whole directory
- make its last entry point to itself to enable recursive mapping
Safety
Paging must be disabled when calling this function.
Trait Implementations
impl Deref for PagingOffDirectory
[src]
type Target = PageDirectory
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
impl DerefMut for PagingOffDirectory
[src]
impl HierarchicalTable for PagingOffDirectory
[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 PagingOffDirectory
[src]
type Output = <PageDirectory as Index<usize>>::Output
The returned type after indexing.
fn index(&self, index: usize) -> &Entry
[src]
impl IndexMut<usize> for PagingOffDirectory
[src]
impl PageDirectoryTrait for PagingOffDirectory
[src]
type PageTableType = PagingOffTable
type FlusherType = NoFlush
fn get_table(
&mut self,
index: usize
) -> PageState<SmartHierarchicalTable<Self::PageTableType>>
[src]
&mut self,
index: usize
) -> PageState<SmartHierarchicalTable<Self::PageTableType>>
Simply cast pointed frame as PageTable
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 PagingOffDirectory
impl Send for PagingOffDirectory
impl Sync for PagingOffDirectory
impl Unpin for PagingOffDirectory
impl UnwindSafe for PagingOffDirectory
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>,