Struct tartan_arch::x86_common::paging::Level2PageTableEntry

source ·
pub struct Level2PageTableEntry(/* private fields */);
Available on x86 or x86-64 only.
Expand description

Second-level page table (page directory) entry that either points to a bottom-level page table or directly maps a 2MB/4MB page.

Trait Implementations§

source§

impl Bitfield<usize> for Level2PageTableEntry

§

fn new(value: T) -> Self

Construct a new bitfield type from its underlying representation
§

fn value(self) -> T

Unwrap the bitfield into its underlying representation
source§

impl Clone for Level2PageTableEntry

source§

fn clone(&self) -> Level2PageTableEntry

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Level2PageTableEntry

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Level2PageTableEntry

source§

fn default() -> Level2PageTableEntry

Returns the “default value” for a type. Read more
source§

impl From<Level2PageTableEntry> for usize

source§

fn from(val: Level2PageTableEntry) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Level2PageTableEntry

source§

fn from(val: usize) -> Self

Converts to this type from the input type.
source§

impl GenericPageTableEntry for Level2PageTableEntry

source§

fn present(&self) -> bool

P: Indicates that this entry is mapped. Otherwise the whole entry is ignored.
source§

fn writable(&self) -> bool

R/W: Allows writes to this memory region.
source§

fn user(&self) -> bool

U/S: Allows access to this memory region from permission level 3. Otherwise, it is only accessible from levels 0–2.
source§

fn write_through(&self) -> bool

PWT: Enables write-through caching for this memory region.
source§

fn cache_disabled(&self) -> bool

PCD: Disables caching for this memory region.
source§

fn accessed(&self) -> bool

A: Set by the processor when an instruction accesses the memory region.
source§

fn no_execute(&self) -> bool

Available on x86-64 only.
XD/NX: Prevent the processor from executing any instructions in this memory region. Read more
source§

fn set_present(&mut self, value: bool)

P: Indicates that this entry is mapped. Otherwise the whole entry is ignored.
source§

fn with_present(&mut self, value: bool) -> Self

P: Indicates that this entry is mapped. Otherwise the whole entry is ignored.
source§

fn set_writable(&mut self, value: bool)

R/W: Allows writes to this memory region.
source§

fn with_writable(&mut self, value: bool) -> Self

R/W: Allows writes to this memory region.
source§

fn set_user(&mut self, value: bool)

U/S: Allows access to this memory region from permission level 3. Otherwise, it is only accessible from levels 0–2.
source§

fn with_user(&mut self, value: bool) -> Self

U/S: Allows access to this memory region from permission level 3. Otherwise, it is only accessible from levels 0–2.
source§

fn set_write_through(&mut self, value: bool)

PWT: Enables write-through caching for this memory region.
source§

fn with_write_through(&mut self, value: bool) -> Self

PWT: Enables write-through caching for this memory region.
source§

fn set_cache_disabled(&mut self, value: bool)

PCD: Disables caching for this memory region.
source§

fn with_cache_disabled(&mut self, value: bool) -> Self

PCD: Disables caching for this memory region.
source§

fn set_accessed(&mut self, value: bool)

A: Set by the processor when an instruction accesses the memory region.
source§

fn with_accessed(&mut self, value: bool) -> Self

A: Set by the processor when an instruction accesses the memory region.
source§

fn set_no_execute(&mut self, value: bool)

Available on x86-64 only.
XD/NX: Prevent the processor from executing any instructions in this memory region. Read more
source§

fn with_no_execute(&mut self, value: bool) -> Self

Available on x86-64 only.
XD/NX: Prevent the processor from executing any instructions in this memory region. Read more
source§

fn fmt_fields(&self, f: &mut DebugStruct<'_, '_>)

Print this object’s bitfield values. Helper method for Debug implementations.
source§

impl HybridPageTableEntry for Level2PageTableEntry

source§

fn is_page(&self) -> bool

PS: Indicates that this entry directly maps a page. Otherwise, this is a pointer to a lower-level page table. Read more
source§

fn set_is_page(&mut self, value: bool)

PS: Indicates that this entry directly maps a page. Otherwise, this is a pointer to a lower-level page table. Read more
source§

fn with_is_page(&mut self, value: bool) -> Self

PS: Indicates that this entry directly maps a page. Otherwise, this is a pointer to a lower-level page table. Read more
source§

fn fmt_fields(&self, f: &mut DebugStruct<'_, '_>)

Print this object’s bitfield values. Helper method for Debug implementations.
source§

impl PartialEq for Level2PageTableEntry

source§

fn eq(&self, other: &Level2PageTableEntry) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for Level2PageTableEntry

source§

impl Eq for Level2PageTableEntry

source§

impl StructuralPartialEq for Level2PageTableEntry

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> CloneToUninit for T
where T: Copy,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> DirectPageTableEntry for T

source§

fn fmt_fields(&self, f: &mut DebugStruct<'_, '_>)

Available on x86 or x86-64 only.

Print this object’s bitfield values. Helper method for Debug implementations.

source§

fn attribute_table(&self) -> bool

Available on x86 or x86-64 only.
PAT: Used to associate this page with a page attribute table. Read more
source§

fn set_attribute_table(&mut self, value: bool)

Available on x86 or x86-64 only.
PAT: Used to associate this page with a page attribute table. Read more
source§

fn with_attribute_table(&mut self, value: bool) -> T

Available on x86 or x86-64 only.
PAT: Used to associate this page with a page attribute table. Read more
source§

fn dirty(&self) -> bool

Available on x86 or x86-64 only.
D: Set by the processor when an instruction modifies the memory region.
source§

fn global(&self) -> bool

Available on x86 or x86-64 only.
G: Indicates that this is a global page shared by all task contexts. Read more
source§

fn protection_key(&self) -> u8

Available on (x86 or x86-64) and x86-64 only.
The protection key that applies to this memory region. Read more
source§

fn set_dirty(&mut self, value: bool)

Available on x86 or x86-64 only.
D: Set by the processor when an instruction modifies the memory region.
source§

fn with_dirty(&mut self, value: bool) -> Self

Available on x86 or x86-64 only.
D: Set by the processor when an instruction modifies the memory region.
source§

fn set_global(&mut self, value: bool)

Available on x86 or x86-64 only.
G: Indicates that this is a global page shared by all task contexts. Read more
source§

fn with_global(&mut self, value: bool) -> Self

Available on x86 or x86-64 only.
G: Indicates that this is a global page shared by all task contexts. Read more
source§

fn set_protection_key(&mut self, value: u8)

Available on (x86 or x86-64) and x86-64 only.
The protection key that applies to this memory region. Read more
source§

fn with_protection_key(&self, value: u8) -> Self

Available on (x86 or x86-64) and x86-64 only.
The protection key that applies to this memory region. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.