Struct tartan_arch::x86_common::paging::ControlRegister3
source · pub struct ControlRegister3(/* private fields */);
Expand description
Implementations§
source§impl ControlRegister3
impl ControlRegister3
sourcepub fn write_through(&self) -> bool
pub fn write_through(&self) -> bool
CR3.PWT
: Enables write-through caching for the top-level page table.
Does not apply when ControlRegister4::process_context_ids
or
ControlRegister4::physical_address_extension
is enabled.
sourcepub fn cache_disabled(&self) -> bool
pub fn cache_disabled(&self) -> bool
CR3.PCD
: Disables caching for the top-level page table.
Does not apply when ControlRegister4::process_context_ids
or
ControlRegister4::physical_address_extension
is enabled.
sourcepub fn process_context_id(&self) -> u16
Available on x86-64 only.
pub fn process_context_id(&self) -> u16
CR4.PCIDE
: The process-context identifier (PCID) associated with this
series of page tables.
Requires 64-bit mode and ControlRegister4::process_context_ids
.
sourcepub fn set_write_through(&mut self, value: bool)
pub fn set_write_through(&mut self, value: bool)
CR3.PWT
: Enables write-through caching for the top-level page table.
Does not apply when ControlRegister4::process_context_ids
or
ControlRegister4::physical_address_extension
is enabled.
sourcepub fn with_write_through(&mut self, value: bool) -> Self
pub fn with_write_through(&mut self, value: bool) -> Self
CR3.PWT
: Enables write-through caching for the top-level page table.
Does not apply when ControlRegister4::process_context_ids
or
ControlRegister4::physical_address_extension
is enabled.
sourcepub fn set_cache_disabled(&mut self, value: bool)
pub fn set_cache_disabled(&mut self, value: bool)
CR3.PCD
: Disables caching for the top-level page table.
Does not apply when ControlRegister4::process_context_ids
or
ControlRegister4::physical_address_extension
is enabled.
sourcepub fn with_cache_disabled(&mut self, value: bool) -> Self
pub fn with_cache_disabled(&mut self, value: bool) -> Self
CR3.PCD
: Disables caching for the top-level page table.
Does not apply when ControlRegister4::process_context_ids
or
ControlRegister4::physical_address_extension
is enabled.
sourcepub fn set_process_context_id(&mut self, value: u16)
Available on x86-64 only.
pub fn set_process_context_id(&mut self, value: u16)
CR4.PCIDE
: The process-context identifier (PCID) associated with this
series of page tables.
Requires 64-bit mode and ControlRegister4::process_context_ids
.
sourcepub fn with_process_context_id(&self, value: u16) -> Self
Available on x86-64 only.
pub fn with_process_context_id(&self, value: u16) -> Self
CR4.PCIDE
: The process-context identifier (PCID) associated with this
series of page tables.
Requires 64-bit mode and ControlRegister4::process_context_ids
.
Trait Implementations§
source§impl Bitfield<usize> for ControlRegister3
impl Bitfield<usize> for ControlRegister3
source§impl Clone for ControlRegister3
impl Clone for ControlRegister3
source§fn clone(&self) -> ControlRegister3
fn clone(&self) -> ControlRegister3
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ControlRegister3
impl Debug for ControlRegister3
source§impl Default for ControlRegister3
impl Default for ControlRegister3
source§fn default() -> ControlRegister3
fn default() -> ControlRegister3
source§impl From<ControlRegister3> for usize
impl From<ControlRegister3> for usize
source§fn from(val: ControlRegister3) -> Self
fn from(val: ControlRegister3) -> Self
source§impl From<usize> for ControlRegister3
impl From<usize> for ControlRegister3
source§impl PartialEq for ControlRegister3
impl PartialEq for ControlRegister3
impl Copy for ControlRegister3
impl Eq for ControlRegister3
impl StructuralPartialEq for ControlRegister3
Auto Trait Implementations§
impl Freeze for ControlRegister3
impl RefUnwindSafe for ControlRegister3
impl Send for ControlRegister3
impl Sync for ControlRegister3
impl Unpin for ControlRegister3
impl UnwindSafe for ControlRegister3
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
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)
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)
clone_to_uninit
)