Struct x86::paging::PTEntry
[−]
[src]
pub struct PTEntry { // some fields omitted }
Methods
impl PTEntry
[src]
fn empty() -> PTEntry
Returns an empty set of flags.
fn all() -> PTEntry
Returns the set containing all flags.
fn bits(&self) -> u64
Returns the raw value of the flags currently stored.
fn from_bits(bits: u64) -> Option<PTEntry>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
fn from_bits_truncate(bits: u64) -> PTEntry
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
fn is_empty(&self) -> bool
Returns true
if no flags are currently stored.
fn is_all(&self) -> bool
Returns true
if all flags are currently set.
fn intersects(&self, other: PTEntry) -> bool
Returns true
if there are flags common to both self
and other
.
fn contains(&self, other: PTEntry) -> bool
Returns true
all of the flags in other
are contained within self
.
fn insert(&mut self, other: PTEntry)
Inserts the specified flags in-place.
fn remove(&mut self, other: PTEntry)
Removes the specified flags in-place.
fn toggle(&mut self, other: PTEntry)
Toggles the specified flags in-place.
impl PTEntry
[src]
fn new(page: PAddr, flags: PTEntry) -> PTEntry
Creates a new PTEntry.
Arguments
page
- The physical address of the backing 4 KiB page.flags
- Additional flags for the entry.
fn get_address(self) -> PAddr
Retrieves the physical address in this entry.
fn is_present(&self) -> bool
Present; must be 1 to map a 4-KByte page or reference a page table.
fn is_writeable(&self) -> bool
Read/write; if 0, writes may not be allowed to the 4-KByte region controlled by this entry
fn is_user_mode_allowed(&self) -> bool
User/supervisor; user-mode accesses are not allowed to the 4-KByte region controlled by this entry.
fn is_page_write_through(&self) -> bool
Page-level write-through.
fn is_page_level_cache_disabled(&self) -> bool
Page-level cache disable.
fn is_accessed(&self) -> bool
Accessed; if PT_PS set indicates whether software has accessed the 4-KByte page else indicates whether this entry has been used for linear-address translation.
fn is_dirty(&self) -> bool
Dirty; if PD_PS set indicates whether software has written to the 4-KByte page referenced by this entry else ignored.
fn is_global(&self) -> bool
Global; if PT_PS && CR4.PGE = 1, determines whether the translation is global; ignored otherwise if not PT_PS this is ignored.
fn is_instruction_fetching_disabled(&self) -> bool
If IA32_EFER.NXE = 1, execute-disable. If 1, instruction fetches are not allowed from the 4-KByte region.
Trait Implementations
impl Hash for PTEntry
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0
Feeds a slice of this type into the state provided.
impl Ord for PTEntry
[src]
fn cmp(&self, __arg_0: &PTEntry) -> Ordering
This method returns an Ordering
between self
and other
. Read more
impl PartialOrd for PTEntry
[src]
fn partial_cmp(&self, __arg_0: &PTEntry) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, __arg_0: &PTEntry) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, __arg_0: &PTEntry) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, __arg_0: &PTEntry) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, __arg_0: &PTEntry) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Clone for PTEntry
[src]
fn clone(&self) -> PTEntry
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Eq for PTEntry
[src]
impl PartialEq for PTEntry
[src]
fn eq(&self, __arg_0: &PTEntry) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &PTEntry) -> bool
This method tests for !=
.
impl Copy for PTEntry
[src]
impl Debug for PTEntry
[src]
impl BitOr for PTEntry
[src]
type Output = PTEntry
The resulting type after applying the |
operator
fn bitor(self, other: PTEntry) -> PTEntry
Returns the union of the two sets of flags.
impl BitXor for PTEntry
[src]
type Output = PTEntry
The resulting type after applying the ^
operator
fn bitxor(self, other: PTEntry) -> PTEntry
Returns the left flags, but with all the right flags toggled.
impl BitAnd for PTEntry
[src]
type Output = PTEntry
The resulting type after applying the &
operator
fn bitand(self, other: PTEntry) -> PTEntry
Returns the intersection between the two sets of flags.
impl Sub for PTEntry
[src]
type Output = PTEntry
The resulting type after applying the -
operator
fn sub(self, other: PTEntry) -> PTEntry
Returns the set difference of the two sets of flags.