Struct x86::paging::PDEntry
[−]
[src]
pub struct PDEntry {
// some fields omitted
}Methods
impl PDEntry[src]
fn empty() -> PDEntry
Returns an empty set of flags.
fn all() -> PDEntry
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<PDEntry>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
fn from_bits_truncate(bits: u64) -> PDEntry
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: PDEntry) -> bool
Returns true if there are flags common to both self and other.
fn contains(&self, other: PDEntry) -> bool
Returns true all of the flags in other are contained within self.
fn insert(&mut self, other: PDEntry)
Inserts the specified flags in-place.
fn remove(&mut self, other: PDEntry)
Removes the specified flags in-place.
fn toggle(&mut self, other: PDEntry)
Toggles the specified flags in-place.
impl PDEntry[src]
fn new(pt: PAddr, flags: PDEntry) -> PDEntry
Creates a new PDEntry.
Arguments
pt- The physical address of the page table.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 2-MByte page or reference a page table.
fn is_writeable(&self) -> bool
Read/write; if 0, writes may not be allowed to the 2-MByte region controlled by this entry
fn is_user_mode_allowed(&self) -> bool
User/supervisor; user-mode accesses are not allowed to the 2-MByte 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 PD_PS set indicates whether software has accessed the 2-MByte 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 2-MByte page referenced by this entry else ignored.
fn is_page(&self) -> bool
Page size; if set this entry maps a 2-MByte page; otherwise, this entry references a page directory.
fn is_global(&self) -> bool
Global; if PD_PS && CR4.PGE = 1, determines whether the translation is global; ignored otherwise if not PD_PS this is ignored.
fn is_pat(&self) -> bool
Indirectly determines the memory type used to access the 2-MByte page referenced by this entry. if not PD_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 2-Mbyte region.
Trait Implementations
impl Hash for PDEntry[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: Hasher1.3.0
Feeds a slice of this type into the state provided.
impl Ord for PDEntry[src]
fn cmp(&self, __arg_0: &PDEntry) -> Ordering
This method returns an Ordering between self and other. Read more
impl PartialOrd for PDEntry[src]
fn partial_cmp(&self, __arg_0: &PDEntry) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, __arg_0: &PDEntry) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, __arg_0: &PDEntry) -> 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: &PDEntry) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, __arg_0: &PDEntry) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl Clone for PDEntry[src]
fn clone(&self) -> PDEntry
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 PDEntry[src]
impl PartialEq for PDEntry[src]
fn eq(&self, __arg_0: &PDEntry) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &PDEntry) -> bool
This method tests for !=.
impl Copy for PDEntry[src]
impl Debug for PDEntry[src]
impl BitOr for PDEntry[src]
type Output = PDEntry
The resulting type after applying the | operator
fn bitor(self, other: PDEntry) -> PDEntry
Returns the union of the two sets of flags.
impl BitXor for PDEntry[src]
type Output = PDEntry
The resulting type after applying the ^ operator
fn bitxor(self, other: PDEntry) -> PDEntry
Returns the left flags, but with all the right flags toggled.
impl BitAnd for PDEntry[src]
type Output = PDEntry
The resulting type after applying the & operator
fn bitand(self, other: PDEntry) -> PDEntry
Returns the intersection between the two sets of flags.
impl Sub for PDEntry[src]
type Output = PDEntry
The resulting type after applying the - operator
fn sub(self, other: PDEntry) -> PDEntry
Returns the set difference of the two sets of flags.