pub struct Descriptor(/* private fields */);Expand description
An entry in a page table.
A descriptor may be:
- Invalid, i.e. the virtual address range is unmapped
- A page mapping, if it is in the lowest level page table.
- A block mapping, if it is not in the lowest level page table.
- A pointer to a lower level pagetable, if it is not in the lowest level page table.
Implementations§
Source§impl Descriptor
impl Descriptor
Sourcepub fn output_address(&self) -> PhysicalAddress
pub fn output_address(&self) -> PhysicalAddress
Returns the physical address that this descriptor refers to if it is valid.
Depending on the flags this could be the address of a subtable, a mapping, or (if it is not a valid mapping) entirely arbitrary.
Sourcepub fn flags(&self) -> Attributes
pub fn flags(&self) -> Attributes
Returns the flags of this page table entry, or None if its state does not
contain a valid set of flags.
Sourcepub fn is_valid(&self) -> bool
pub fn is_valid(&self) -> bool
Returns true if Attributes::VALID is set on this entry, e.g. if the entry is mapped.
Sourcepub fn is_table_or_page(&self) -> bool
pub fn is_table_or_page(&self) -> bool
Returns true if this is a valid entry pointing to a next level translation table or a page.