#[repr(transparent)]pub struct Cr3(u32);
Expand description
Contains the physical address of the base of the paging-structure hierarchy and two flags (PCD and PWT).
The PCD and PWT flags control caching of that paging structure in the processor’s internal data caches (they do not control TLB caching of page-directory information).
Tuple Fields§
§0: u32
Implementations§
source§impl Cr3
impl Cr3
const WRITE_THROUGH_BITS: usize = 1usize
const WRITE_THROUGH_OFFSET: usize = 3usize
sourcepub const fn write_through(&self) -> bool
pub const fn write_through(&self) -> bool
Page-level write-through.
Bits: 3..4
sourcepub const fn with_write_through(self, value: bool) -> Self
pub const fn with_write_through(self, value: bool) -> Self
Page-level write-through.
Bits: 3..4
sourcepub fn set_write_through(&mut self, value: bool)
pub fn set_write_through(&mut self, value: bool)
Page-level write-through.
Bits: 3..4
const CACHE_DISABLE_BITS: usize = 1usize
const CACHE_DISABLE_OFFSET: usize = 4usize
sourcepub const fn cache_disable(&self) -> bool
pub const fn cache_disable(&self) -> bool
Page-level cache disable.
Bits: 4..5
sourcepub const fn with_cache_disable(self, value: bool) -> Self
pub const fn with_cache_disable(self, value: bool) -> Self
Page-level cache disable.
Bits: 4..5
sourcepub fn set_cache_disable(&mut self, value: bool)
pub fn set_cache_disable(&mut self, value: bool)
Page-level cache disable.
Bits: 4..5
const ADDRESS_BITS: usize = 20usize
const ADDRESS_OFFSET: usize = 12usize
sourcepub const fn address(&self) -> Physical
pub const fn address(&self) -> Physical
Physical address of the page directory. The lower 12 bits of the address are assumed to be 0. The page directory must thus be aligned to a page (4K) boundary.
Bits: 12..32
sourcepub const fn with_address(self, value: Physical) -> Self
pub const fn with_address(self, value: Physical) -> Self
Physical address of the page directory. The lower 12 bits of the address are assumed to be 0. The page directory must thus be aligned to a page (4K) boundary.
Bits: 12..32
sourcepub fn set_address(&mut self, value: Physical)
pub fn set_address(&mut self, value: Physical)
Physical address of the page directory. The lower 12 bits of the address are assumed to be 0. The page directory must thus be aligned to a page (4K) boundary.
Bits: 12..32