pub struct EptEntry(/* private fields */);Available on x86-64 only.
Expand description
An EPT descriptor, independent of table allocation and EPTP geometry.
Implementations§
Source§impl EptEntry
impl EptEntry
Sourcepub const fn from_parts(paddr: PhysAddr, flags: EptFlags) -> Self
pub const fn from_parts(paddr: PhysAddr, flags: EptFlags) -> Self
Encodes a host physical page and explicit hardware flags.
This does not install a translation. The table owner must validate the CPU’s physical width, large-page alignment, supported memory types, permissions and optional EPT controls before making this entry live.
Trait Implementations§
impl Copy for EptEntry
Source§impl PageTableEntry for EptEntry
impl PageTableEntry for EptEntry
Source§fn new_page(paddr: PhysAddr, flags: EptFlags, is_huge: bool) -> Self
fn new_page(paddr: PhysAddr, flags: EptFlags, is_huge: bool) -> Self
Creates a leaf or block entry.
Source§fn new_table(paddr: PhysAddr) -> Self
fn new_table(paddr: PhysAddr) -> Self
Creates an entry that points to a child page-table frame.
Source§fn paddr(&self, _is_dir: bool) -> PhysAddr
fn paddr(&self, _is_dir: bool) -> PhysAddr
Returns the physical address encoded by this entry. Read more
Source§fn present(&self) -> bool
fn present(&self) -> bool
Returns whether this entry participates in address translation. Read more
Source§fn huge(&self, is_dir: bool) -> bool
fn huge(&self, is_dir: bool) -> bool
Returns whether this entry is a block mapping at the current level. Read more
Auto Trait Implementations§
impl Freeze for EptEntry
impl RefUnwindSafe for EptEntry
impl Send for EptEntry
impl Sync for EptEntry
impl Unpin for EptEntry
impl UnsafeUnpin for EptEntry
impl UnwindSafe for EptEntry
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