Struct x86_64::structures::paging::page_table::PageTableFlags [−][src]
pub struct PageTableFlags { /* fields omitted */ }
Expand description
Possible flags for a page table entry.
Implementations
impl PageTableFlags
[src]
impl PageTableFlags
[src]pub const PRESENT: PageTableFlags
[src]
pub const PRESENT: PageTableFlags
[src]Specifies whether the mapped frame or page table is loaded in memory.
pub const WRITABLE: PageTableFlags
[src]
pub const WRITABLE: PageTableFlags
[src]Controls whether writes to the mapped frames are allowed.
If this bit is unset in a level 1 page table entry, the mapped frame is read-only. If this bit is unset in a higher level page table entry the complete range of mapped pages is read-only.
pub const USER_ACCESSIBLE: PageTableFlags
[src]
pub const USER_ACCESSIBLE: PageTableFlags
[src]Controls whether accesses from userspace (i.e. ring 3) are permitted.
pub const WRITE_THROUGH: PageTableFlags
[src]
pub const WRITE_THROUGH: PageTableFlags
[src]If this bit is set, a “write-through” policy is used for the cache, else a “write-back” policy is used.
pub const NO_CACHE: PageTableFlags
[src]
pub const NO_CACHE: PageTableFlags
[src]Disables caching for the pointed entry is cacheable.
pub const ACCESSED: PageTableFlags
[src]
pub const ACCESSED: PageTableFlags
[src]Set by the CPU when the mapped frame or page table is accessed.
pub const DIRTY: PageTableFlags
[src]
pub const DIRTY: PageTableFlags
[src]Set by the CPU on a write to the mapped frame.
pub const HUGE_PAGE: PageTableFlags
[src]
pub const HUGE_PAGE: PageTableFlags
[src]Specifies that the entry maps a huge frame instead of a page table. Only allowed in P2 or P3 tables.
pub const GLOBAL: PageTableFlags
[src]
pub const GLOBAL: PageTableFlags
[src]Indicates that the mapping is present in all address spaces, so it isn’t flushed from the TLB on an address space switch.
pub const BIT_9: PageTableFlags
[src]
pub const BIT_9: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_10: PageTableFlags
[src]
pub const BIT_10: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_11: PageTableFlags
[src]
pub const BIT_11: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_52: PageTableFlags
[src]
pub const BIT_52: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_53: PageTableFlags
[src]
pub const BIT_53: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_54: PageTableFlags
[src]
pub const BIT_54: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_55: PageTableFlags
[src]
pub const BIT_55: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_56: PageTableFlags
[src]
pub const BIT_56: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_57: PageTableFlags
[src]
pub const BIT_57: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_58: PageTableFlags
[src]
pub const BIT_58: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_59: PageTableFlags
[src]
pub const BIT_59: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_60: PageTableFlags
[src]
pub const BIT_60: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_61: PageTableFlags
[src]
pub const BIT_61: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const BIT_62: PageTableFlags
[src]
pub const BIT_62: PageTableFlags
[src]Available to the OS, can be used to store additional data, e.g. custom flags.
pub const NO_EXECUTE: PageTableFlags
[src]
pub const NO_EXECUTE: PageTableFlags
[src]Forbid code execution from the mapped frames.
Can be only used when the no-execute page protection feature is enabled in the EFER register.
pub const fn empty() -> PageTableFlags
[src]
pub const fn empty() -> PageTableFlags
[src]Returns an empty set of flags
pub const fn all() -> PageTableFlags
[src]
pub const fn all() -> PageTableFlags
[src]Returns the set containing all flags.
pub fn from_bits(bits: u64) -> Option<PageTableFlags>
[src]
pub fn from_bits(bits: u64) -> Option<PageTableFlags>
[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) -> PageTableFlags
[src]
pub const fn from_bits_truncate(bits: u64) -> PageTableFlags
[src]Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub const unsafe fn from_bits_unchecked(bits: u64) -> PageTableFlags
[src]
pub const unsafe fn from_bits_unchecked(bits: u64) -> PageTableFlags
[src]Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
pub const fn intersects(&self, other: PageTableFlags) -> bool
[src]
pub const fn intersects(&self, other: PageTableFlags) -> bool
[src]Returns true
if there are flags common to both self
and other
.
pub const fn contains(&self, other: PageTableFlags) -> bool
[src]
pub const fn contains(&self, other: PageTableFlags) -> bool
[src]Returns true
all of the flags in other
are contained within self
.
pub fn insert(&mut self, other: PageTableFlags)
[src]
pub fn insert(&mut self, other: PageTableFlags)
[src]Inserts the specified flags in-place.
pub fn remove(&mut self, other: PageTableFlags)
[src]
pub fn remove(&mut self, other: PageTableFlags)
[src]Removes the specified flags in-place.
pub fn toggle(&mut self, other: PageTableFlags)
[src]
pub fn toggle(&mut self, other: PageTableFlags)
[src]Toggles the specified flags in-place.
pub fn set(&mut self, other: PageTableFlags, value: bool)
[src]
pub fn set(&mut self, other: PageTableFlags, value: bool)
[src]Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl Binary for PageTableFlags
[src]
impl Binary for PageTableFlags
[src]impl BitAnd<PageTableFlags> for PageTableFlags
[src]
impl BitAnd<PageTableFlags> for PageTableFlags
[src]fn bitand(self, other: PageTableFlags) -> PageTableFlags
[src]
fn bitand(self, other: PageTableFlags) -> PageTableFlags
[src]Returns the intersection between the two sets of flags.
type Output = PageTableFlags
type Output = PageTableFlags
The resulting type after applying the &
operator.
impl BitAndAssign<PageTableFlags> for PageTableFlags
[src]
impl BitAndAssign<PageTableFlags> for PageTableFlags
[src]fn bitand_assign(&mut self, other: PageTableFlags)
[src]
fn bitand_assign(&mut self, other: PageTableFlags)
[src]Disables all flags disabled in the set.
impl BitOr<PageTableFlags> for PageTableFlags
[src]
impl BitOr<PageTableFlags> for PageTableFlags
[src]fn bitor(self, other: PageTableFlags) -> PageTableFlags
[src]
fn bitor(self, other: PageTableFlags) -> PageTableFlags
[src]Returns the union of the two sets of flags.
type Output = PageTableFlags
type Output = PageTableFlags
The resulting type after applying the |
operator.
impl BitOrAssign<PageTableFlags> for PageTableFlags
[src]
impl BitOrAssign<PageTableFlags> for PageTableFlags
[src]fn bitor_assign(&mut self, other: PageTableFlags)
[src]
fn bitor_assign(&mut self, other: PageTableFlags)
[src]Adds the set of flags.
impl BitXor<PageTableFlags> for PageTableFlags
[src]
impl BitXor<PageTableFlags> for PageTableFlags
[src]fn bitxor(self, other: PageTableFlags) -> PageTableFlags
[src]
fn bitxor(self, other: PageTableFlags) -> PageTableFlags
[src]Returns the left flags, but with all the right flags toggled.
type Output = PageTableFlags
type Output = PageTableFlags
The resulting type after applying the ^
operator.
impl BitXorAssign<PageTableFlags> for PageTableFlags
[src]
impl BitXorAssign<PageTableFlags> for PageTableFlags
[src]fn bitxor_assign(&mut self, other: PageTableFlags)
[src]
fn bitxor_assign(&mut self, other: PageTableFlags)
[src]Toggles the set of flags.
impl Clone for PageTableFlags
[src]
impl Clone for PageTableFlags
[src]fn clone(&self) -> PageTableFlags
[src]
fn clone(&self) -> PageTableFlags
[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 PageTableFlags
[src]
impl Debug for PageTableFlags
[src]impl Extend<PageTableFlags> for PageTableFlags
[src]
impl Extend<PageTableFlags> for PageTableFlags
[src]fn extend<T: IntoIterator<Item = PageTableFlags>>(&mut self, iterator: T)
[src]
fn extend<T: IntoIterator<Item = PageTableFlags>>(&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<PageTableFlags> for PageTableFlags
[src]
impl FromIterator<PageTableFlags> for PageTableFlags
[src]fn from_iter<T: IntoIterator<Item = PageTableFlags>>(
iterator: T
) -> PageTableFlags
[src]
fn from_iter<T: IntoIterator<Item = PageTableFlags>>(
iterator: T
) -> PageTableFlags
[src]Creates a value from an iterator. Read more
impl Hash for PageTableFlags
[src]
impl Hash for PageTableFlags
[src]impl LowerHex for PageTableFlags
[src]
impl LowerHex for PageTableFlags
[src]impl Not for PageTableFlags
[src]
impl Not for PageTableFlags
[src]fn not(self) -> PageTableFlags
[src]
fn not(self) -> PageTableFlags
[src]Returns the complement of this set of flags.
type Output = PageTableFlags
type Output = PageTableFlags
The resulting type after applying the !
operator.
impl Octal for PageTableFlags
[src]
impl Octal for PageTableFlags
[src]impl Ord for PageTableFlags
[src]
impl Ord for PageTableFlags
[src]impl PartialEq<PageTableFlags> for PageTableFlags
[src]
impl PartialEq<PageTableFlags> for PageTableFlags
[src]fn eq(&self, other: &PageTableFlags) -> bool
[src]
fn eq(&self, other: &PageTableFlags) -> bool
[src]This method tests for self
and other
values to be equal, and is used
by ==
. Read more
fn ne(&self, other: &PageTableFlags) -> bool
[src]
fn ne(&self, other: &PageTableFlags) -> bool
[src]This method tests for !=
.
impl PartialOrd<PageTableFlags> for PageTableFlags
[src]
impl PartialOrd<PageTableFlags> for PageTableFlags
[src]fn partial_cmp(&self, other: &PageTableFlags) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &PageTableFlags) -> 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<PageTableFlags> for PageTableFlags
[src]
impl Sub<PageTableFlags> for PageTableFlags
[src]fn sub(self, other: PageTableFlags) -> PageTableFlags
[src]
fn sub(self, other: PageTableFlags) -> PageTableFlags
[src]Returns the set difference of the two sets of flags.
type Output = PageTableFlags
type Output = PageTableFlags
The resulting type after applying the -
operator.
impl SubAssign<PageTableFlags> for PageTableFlags
[src]
impl SubAssign<PageTableFlags> for PageTableFlags
[src]fn sub_assign(&mut self, other: PageTableFlags)
[src]
fn sub_assign(&mut self, other: PageTableFlags)
[src]Disables all flags enabled in the set.
impl UpperHex for PageTableFlags
[src]
impl UpperHex for PageTableFlags
[src]