Struct hermit::mm::paging::PageTableEntryFlags [−][src]
pub struct PageTableEntryFlags { /* fields omitted */ }
Expand description
Possible flags for an entry in either table (PML4, PDPT, PD, PT)
See Intel Vol. 3A, Tables 4-14 through 4-19
Implementations
impl PageTableEntryFlags
[src]
impl PageTableEntryFlags
[src]pub const PRESENT: PageTableEntryFlags
[src]
pub const PRESENT: PageTableEntryFlags
[src]Set if this entry is valid and points to a page or table.
pub const WRITABLE: PageTableEntryFlags
[src]
pub const WRITABLE: PageTableEntryFlags
[src]Set if memory referenced by this entry shall be writable.
pub const USER_ACCESSIBLE: PageTableEntryFlags
[src]
pub const USER_ACCESSIBLE: PageTableEntryFlags
[src]Set if memory referenced by this entry shall be accessible from user-mode (Ring 3).
pub const WRITE_THROUGH: PageTableEntryFlags
[src]
pub const WRITE_THROUGH: PageTableEntryFlags
[src]Set if Write-Through caching shall be enabled for memory referenced by this entry. Otherwise, Write-Back caching is used.
pub const CACHE_DISABLE: PageTableEntryFlags
[src]
pub const CACHE_DISABLE: PageTableEntryFlags
[src]Set if caching shall be disabled for memory referenced by this entry.
pub const ACCESSED: PageTableEntryFlags
[src]
pub const ACCESSED: PageTableEntryFlags
[src]Set if software has accessed this entry (for memory access or address translation).
pub const DIRTY: PageTableEntryFlags
[src]
pub const DIRTY: PageTableEntryFlags
[src]Only for page entries: Set if software has written to the memory referenced by this entry.
pub const HUGE_PAGE: PageTableEntryFlags
[src]
pub const HUGE_PAGE: PageTableEntryFlags
[src]Only for page entries in PDPT or PDT: Set if this entry references a 1 GiB (PDPT) or 2 MiB (PDT) page.
pub const GLOBAL: PageTableEntryFlags
[src]
pub const GLOBAL: PageTableEntryFlags
[src]Only for page entries: Set if this address translation is global for all tasks and does not need to be flushed from the TLB when CR3 is reset.
pub const EXECUTE_DISABLE: PageTableEntryFlags
[src]
pub const EXECUTE_DISABLE: PageTableEntryFlags
[src]Set if code execution shall be disabled for memory referenced by this entry.
pub const fn empty() -> PageTableEntryFlags
[src]
pub const fn empty() -> PageTableEntryFlags
[src]Returns an empty set of flags
pub const fn all() -> PageTableEntryFlags
[src]
pub const fn all() -> PageTableEntryFlags
[src]Returns the set containing all flags.
pub fn from_bits(bits: u64) -> Option<PageTableEntryFlags>
[src]
pub fn from_bits(bits: u64) -> Option<PageTableEntryFlags>
[src]Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
pub const fn from_bits_truncate(bits: u64) -> PageTableEntryFlags
[src]
pub const fn from_bits_truncate(bits: u64) -> PageTableEntryFlags
[src]Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub const unsafe fn from_bits_unchecked(bits: u64) -> PageTableEntryFlags
[src]
pub const unsafe fn from_bits_unchecked(bits: u64) -> PageTableEntryFlags
[src]Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
pub const fn intersects(&self, other: PageTableEntryFlags) -> bool
[src]
pub const fn intersects(&self, other: PageTableEntryFlags) -> bool
[src]Returns true
if there are flags common to both self
and other
.
pub const fn contains(&self, other: PageTableEntryFlags) -> bool
[src]
pub const fn contains(&self, other: PageTableEntryFlags) -> bool
[src]Returns true
all of the flags in other
are contained within self
.
pub fn insert(&mut self, other: PageTableEntryFlags)
[src]
pub fn insert(&mut self, other: PageTableEntryFlags)
[src]Inserts the specified flags in-place.
pub fn remove(&mut self, other: PageTableEntryFlags)
[src]
pub fn remove(&mut self, other: PageTableEntryFlags)
[src]Removes the specified flags in-place.
pub fn toggle(&mut self, other: PageTableEntryFlags)
[src]
pub fn toggle(&mut self, other: PageTableEntryFlags)
[src]Toggles the specified flags in-place.
pub fn set(&mut self, other: PageTableEntryFlags, value: bool)
[src]
pub fn set(&mut self, other: PageTableEntryFlags, value: bool)
[src]Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl Binary for PageTableEntryFlags
[src]
impl Binary for PageTableEntryFlags
[src]impl BitAnd<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl BitAnd<PageTableEntryFlags> for PageTableEntryFlags
[src]fn bitand(self, other: PageTableEntryFlags) -> PageTableEntryFlags
[src]
fn bitand(self, other: PageTableEntryFlags) -> PageTableEntryFlags
[src]Returns the intersection between the two sets of flags.
type Output = PageTableEntryFlags
type Output = PageTableEntryFlags
The resulting type after applying the &
operator.
impl BitAndAssign<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl BitAndAssign<PageTableEntryFlags> for PageTableEntryFlags
[src]fn bitand_assign(&mut self, other: PageTableEntryFlags)
[src]
fn bitand_assign(&mut self, other: PageTableEntryFlags)
[src]Disables all flags disabled in the set.
impl BitOr<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl BitOr<PageTableEntryFlags> for PageTableEntryFlags
[src]fn bitor(self, other: PageTableEntryFlags) -> PageTableEntryFlags
[src]
fn bitor(self, other: PageTableEntryFlags) -> PageTableEntryFlags
[src]Returns the union of the two sets of flags.
type Output = PageTableEntryFlags
type Output = PageTableEntryFlags
The resulting type after applying the |
operator.
impl BitOrAssign<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl BitOrAssign<PageTableEntryFlags> for PageTableEntryFlags
[src]fn bitor_assign(&mut self, other: PageTableEntryFlags)
[src]
fn bitor_assign(&mut self, other: PageTableEntryFlags)
[src]Adds the set of flags.
impl BitXor<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl BitXor<PageTableEntryFlags> for PageTableEntryFlags
[src]fn bitxor(self, other: PageTableEntryFlags) -> PageTableEntryFlags
[src]
fn bitxor(self, other: PageTableEntryFlags) -> PageTableEntryFlags
[src]Returns the left flags, but with all the right flags toggled.
type Output = PageTableEntryFlags
type Output = PageTableEntryFlags
The resulting type after applying the ^
operator.
impl BitXorAssign<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl BitXorAssign<PageTableEntryFlags> for PageTableEntryFlags
[src]fn bitxor_assign(&mut self, other: PageTableEntryFlags)
[src]
fn bitxor_assign(&mut self, other: PageTableEntryFlags)
[src]Toggles the set of flags.
impl Clone for PageTableEntryFlags
[src]
impl Clone for PageTableEntryFlags
[src]fn clone(&self) -> PageTableEntryFlags
[src]
fn clone(&self) -> PageTableEntryFlags
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for PageTableEntryFlags
[src]
impl Debug for PageTableEntryFlags
[src]impl Extend<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl Extend<PageTableEntryFlags> for PageTableEntryFlags
[src]fn extend<T: IntoIterator<Item = PageTableEntryFlags>>(&mut self, iterator: T)
[src]
fn extend<T: IntoIterator<Item = PageTableEntryFlags>>(&mut self, iterator: T)
[src]Extends a collection with the contents of an iterator. Read more
fn extend_one(&mut self, item: A)
[src]
fn extend_one(&mut self, item: A)
[src]extend_one
)Extends a collection with exactly one element.
fn extend_reserve(&mut self, additional: usize)
[src]
fn extend_reserve(&mut self, additional: usize)
[src]extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
impl FromIterator<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl FromIterator<PageTableEntryFlags> for PageTableEntryFlags
[src]fn from_iter<T: IntoIterator<Item = PageTableEntryFlags>>(
iterator: T
) -> PageTableEntryFlags
[src]
fn from_iter<T: IntoIterator<Item = PageTableEntryFlags>>(
iterator: T
) -> PageTableEntryFlags
[src]Creates a value from an iterator. Read more
impl Hash for PageTableEntryFlags
[src]
impl Hash for PageTableEntryFlags
[src]impl LowerHex for PageTableEntryFlags
[src]
impl LowerHex for PageTableEntryFlags
[src]impl Not for PageTableEntryFlags
[src]
impl Not for PageTableEntryFlags
[src]fn not(self) -> PageTableEntryFlags
[src]
fn not(self) -> PageTableEntryFlags
[src]Returns the complement of this set of flags.
type Output = PageTableEntryFlags
type Output = PageTableEntryFlags
The resulting type after applying the !
operator.
impl Octal for PageTableEntryFlags
[src]
impl Octal for PageTableEntryFlags
[src]impl Ord for PageTableEntryFlags
[src]
impl Ord for PageTableEntryFlags
[src]impl PartialEq<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl PartialEq<PageTableEntryFlags> for PageTableEntryFlags
[src]fn eq(&self, other: &PageTableEntryFlags) -> bool
[src]
fn eq(&self, other: &PageTableEntryFlags) -> bool
[src]This method tests for self
and other
values to be equal, and is used
by ==
. Read more
fn ne(&self, other: &PageTableEntryFlags) -> bool
[src]
fn ne(&self, other: &PageTableEntryFlags) -> bool
[src]This method tests for !=
.
impl PartialOrd<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl PartialOrd<PageTableEntryFlags> for PageTableEntryFlags
[src]fn partial_cmp(&self, other: &PageTableEntryFlags) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &PageTableEntryFlags) -> Option<Ordering>
[src]This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Sub<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl Sub<PageTableEntryFlags> for PageTableEntryFlags
[src]fn sub(self, other: PageTableEntryFlags) -> PageTableEntryFlags
[src]
fn sub(self, other: PageTableEntryFlags) -> PageTableEntryFlags
[src]Returns the set difference of the two sets of flags.
type Output = PageTableEntryFlags
type Output = PageTableEntryFlags
The resulting type after applying the -
operator.
impl SubAssign<PageTableEntryFlags> for PageTableEntryFlags
[src]
impl SubAssign<PageTableEntryFlags> for PageTableEntryFlags
[src]fn sub_assign(&mut self, other: PageTableEntryFlags)
[src]
fn sub_assign(&mut self, other: PageTableEntryFlags)
[src]Disables all flags enabled in the set.
impl UpperHex for PageTableEntryFlags
[src]
impl UpperHex for PageTableEntryFlags
[src]impl Copy for PageTableEntryFlags
[src]
impl Eq for PageTableEntryFlags
[src]
impl StructuralEq for PageTableEntryFlags
[src]
impl StructuralPartialEq for PageTableEntryFlags
[src]
Auto Trait Implementations
impl RefUnwindSafe for PageTableEntryFlags
impl Send for PageTableEntryFlags
impl Sync for PageTableEntryFlags
impl Unpin for PageTableEntryFlags
impl UnwindSafe for PageTableEntryFlags
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more