Struct x86_64::structures::paging::page_table::PageTableFlags [−][src]
pub struct PageTableFlags { /* fields omitted */ }
Expand description
Possible flags for a page table entry.
Implementations
Specifies whether the mapped frame or page table is loaded in memory.
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.
Controls whether accesses from userspace (i.e. ring 3) are permitted.
If this bit is set, a “write-through” policy is used for the cache, else a “write-back” policy is used.
Disables caching for the pointed entry is cacheable.
Set by the CPU when the mapped frame or page table is accessed.
Set by the CPU on a write to the mapped frame.
Specifies that the entry maps a huge frame instead of a page table. Only allowed in P2 or P3 tables.
Indicates that the mapping is present in all address spaces, so it isn’t flushed from the TLB on an address space switch.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Available to the OS, can be used to store additional data, e.g. custom flags.
Forbid code execution from the mapped frames.
Can be only used when the no-execute page protection feature is enabled in the EFER register.
Returns an empty set of flags
Returns the set containing all flags.
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
Returns true
if there are flags common to both self
and other
.
Returns true
all of the flags in other
are contained within self
.
Inserts the specified flags in-place.
Removes the specified flags in-place.
Toggles the specified flags in-place.
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
Returns the intersection between the two sets of flags.
type Output = PageTableFlags
type Output = PageTableFlags
The resulting type after applying the &
operator.
Disables all flags disabled in the set.
Returns the union of the two sets of flags.
type Output = PageTableFlags
type Output = PageTableFlags
The resulting type after applying the |
operator.
Adds the set of flags.
Returns the left flags, but with all the right flags toggled.
type Output = PageTableFlags
type Output = PageTableFlags
The resulting type after applying the ^
operator.
Toggles the set of flags.
Extends a collection with the contents of an iterator. Read more
extend_one
)Extends a collection with exactly one element.
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
Creates a value from an iterator. Read more
Returns the complement of this set of flags.
type Output = PageTableFlags
type Output = PageTableFlags
The resulting type after applying the !
operator.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the set difference of the two sets of flags.
type Output = PageTableFlags
type Output = PageTableFlags
The resulting type after applying the -
operator.
Disables all flags enabled in the set.