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: Hasher
1.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.