Struct tartan_arch::x86_common::paging::Level1PageTableEntry

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

Bottom-level page table entry that maps a single 4KB page.

Trait Implementations§

source§

impl Bitfield<usize> for Level1PageTableEntry

§

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 Level1PageTableEntry

source§

fn clone(&self) -> Level1PageTableEntry

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 Level1PageTableEntry

source§

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

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

impl Default for Level1PageTableEntry

source§

fn default() -> Level1PageTableEntry

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

impl DirectPageTableEntry for Level1PageTableEntry

source§

fn dirty(&self) -> bool

D: Set by the processor when an instruction modifies the memory region.
source§

fn attribute_table(&self) -> bool

PAT: Used to associate this page with a page attribute table. Read more
source§

fn global(&self) -> bool

G: Indicates that this is a global page shared by all task contexts. Read more
source§

fn protection_key(&self) -> u8

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

fn set_dirty(&mut self, value: bool)

D: Set by the processor when an instruction modifies the memory region.
source§

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

D: Set by the processor when an instruction modifies the memory region.
source§

fn set_attribute_table(&mut self, value: bool)

PAT: Used to associate this page with a page attribute table. Read more
source§

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

PAT: Used to associate this page with a page attribute table. Read more
source§

fn set_global(&mut self, value: bool)

G: Indicates that this is a global page shared by all task contexts. Read more
source§

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

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-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-64 only.
The protection key that applies to 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 From<Level1PageTableEntry> for usize

source§

fn from(val: Level1PageTableEntry) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Level1PageTableEntry

source§

fn from(val: usize) -> Self

Converts to this type from the input type.
source§

impl GenericPageTableEntry for Level1PageTableEntry

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 PartialEq for Level1PageTableEntry

source§

fn eq(&self, other: &Level1PageTableEntry) -> 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 Level1PageTableEntry

source§

impl Eq for Level1PageTableEntry

source§

impl StructuralPartialEq for Level1PageTableEntry

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> 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.