#[repr(C, align(4096))]pub struct PageDirectoryPointerTable {
entries: [PdptEntry; 512],
}Expand description
The PDPT (L3) table: 512 entries, 4 KiB aligned.
Fields§
§entries: [PdptEntry; 512]Implementations§
Source§impl PageDirectoryPointerTable
impl PageDirectoryPointerTable
Sourcepub const fn get(&self, i: L3Index) -> PdptEntry
pub const fn get(&self, i: L3Index) -> PdptEntry
Read an entry at i.
Plain load; does not imply any TLB maintenance.
Sourcepub const fn set(&mut self, i: L3Index, e: PdptEntry)
pub const fn set(&mut self, i: L3Index, e: PdptEntry)
Write an entry at i.
Caller is responsible for necessary TLB invalidations if this affects an active address space.
Sourcepub const fn set_zero(&mut self, i: L3Index)
pub const fn set_zero(&mut self, i: L3Index)
Set the entry at i to PdptEntry::zero.
Caller is responsible for necessary TLB invalidations if this affects an active address space.
Sourcepub const fn index_of(va: VirtualAddress) -> L3Index
pub const fn index_of(va: VirtualAddress) -> L3Index
Derive the PDPT index from a virtual address.
Auto Trait Implementations§
impl Freeze for PageDirectoryPointerTable
impl RefUnwindSafe for PageDirectoryPointerTable
impl Send for PageDirectoryPointerTable
impl Sync for PageDirectoryPointerTable
impl Unpin for PageDirectoryPointerTable
impl UnwindSafe for PageDirectoryPointerTable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more