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
impl Bitfield<usize> for Level2PageTableEntry
source§impl Clone for Level2PageTableEntry
impl Clone for Level2PageTableEntry
source§fn clone(&self) -> Level2PageTableEntry
fn clone(&self) -> Level2PageTableEntry
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for Level2PageTableEntry
impl Debug for Level2PageTableEntry
source§impl Default for Level2PageTableEntry
impl Default for Level2PageTableEntry
source§fn default() -> Level2PageTableEntry
fn default() -> Level2PageTableEntry
Returns the “default value” for a type. Read more
source§impl From<Level2PageTableEntry> for usize
impl From<Level2PageTableEntry> for usize
source§fn from(val: Level2PageTableEntry) -> Self
fn from(val: Level2PageTableEntry) -> Self
Converts to this type from the input type.
source§impl From<usize> for Level2PageTableEntry
impl From<usize> for Level2PageTableEntry
source§impl GenericPageTableEntry for Level2PageTableEntry
impl GenericPageTableEntry for Level2PageTableEntry
source§fn present(&self) -> bool
fn present(&self) -> bool
P
: Indicates that this entry is mapped. Otherwise the whole entry is
ignored.source§fn user(&self) -> bool
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
fn write_through(&self) -> bool
PWT
: Enables write-through caching for this memory region.source§fn cache_disabled(&self) -> bool
fn cache_disabled(&self) -> bool
PCD
: Disables caching for this memory region.source§fn accessed(&self) -> bool
fn accessed(&self) -> bool
A
: Set by the processor when an instruction accesses the memory region.source§fn no_execute(&self) -> bool
fn no_execute(&self) -> bool
Available on x86-64 only.
source§fn set_present(&mut self, value: bool)
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
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)
fn set_writable(&mut self, value: bool)
R/W
: Allows writes to this memory region.source§fn with_writable(&mut self, value: bool) -> Self
fn with_writable(&mut self, value: bool) -> Self
R/W
: Allows writes to this memory region.source§fn set_user(&mut self, value: bool)
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
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)
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
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)
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
fn with_cache_disabled(&mut self, value: bool) -> Self
PCD
: Disables caching for this memory region.source§fn set_accessed(&mut self, value: bool)
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
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)
fn set_no_execute(&mut self, value: bool)
Available on x86-64 only.
source§fn with_no_execute(&mut self, value: bool) -> Self
fn with_no_execute(&mut self, value: bool) -> Self
Available on x86-64 only.
source§fn fmt_fields(&self, f: &mut DebugStruct<'_, '_>)
fn fmt_fields(&self, f: &mut DebugStruct<'_, '_>)
Print this object’s bitfield values. Helper method for
Debug
implementations.source§impl HybridPageTableEntry for Level2PageTableEntry
impl HybridPageTableEntry for Level2PageTableEntry
source§fn is_page(&self) -> bool
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 moresource§fn set_is_page(&mut self, value: bool)
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 moresource§fn with_is_page(&mut self, value: bool) -> Self
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 moresource§fn fmt_fields(&self, f: &mut DebugStruct<'_, '_>)
fn fmt_fields(&self, f: &mut DebugStruct<'_, '_>)
Print this object’s bitfield values. Helper method for
Debug
implementations.source§impl PartialEq for Level2PageTableEntry
impl PartialEq for Level2PageTableEntry
impl Copy for Level2PageTableEntry
impl Eq for Level2PageTableEntry
impl StructuralPartialEq for Level2PageTableEntry
Auto Trait Implementations§
impl Freeze for Level2PageTableEntry
impl RefUnwindSafe for Level2PageTableEntry
impl Send for Level2PageTableEntry
impl Sync for Level2PageTableEntry
impl Unpin for Level2PageTableEntry
impl UnwindSafe for Level2PageTableEntry
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> DirectPageTableEntry for Twhere
T: HybridPageTableEntry,
impl<T> DirectPageTableEntry for Twhere
T: HybridPageTableEntry,
source§fn fmt_fields(&self, f: &mut DebugStruct<'_, '_>)
Available on x86 or x86-64 only.
fn fmt_fields(&self, f: &mut DebugStruct<'_, '_>)
Print this object’s bitfield values. Helper method for Debug
implementations.
source§fn attribute_table(&self) -> bool
fn attribute_table(&self) -> bool
Available on x86 or x86-64 only.
PAT
: Used to associate this page with a page attribute table. Read moresource§fn set_attribute_table(&mut self, value: bool)
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 moresource§fn with_attribute_table(&mut self, value: bool) -> T
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 moresource§fn dirty(&self) -> bool
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
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 moresource§fn protection_key(&self) -> u8
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)
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
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)
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 moresource§fn with_global(&mut self, value: bool) -> Self
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 moresource§fn set_protection_key(&mut self, value: u8)
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
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