pub struct CacheSizeIdRegister(/* private fields */);Expand description
The layout of CCSIDR_EL1.
Implementations§
Source§impl CacheSizeIdRegister
impl CacheSizeIdRegister
Sourcepub const RSVD1_MASK: u64
pub const RSVD1_MASK: u64
Mask of all reserved-as-1 bits.
Sourcepub const RSVD0_MASK: u64
pub const RSVD0_MASK: u64
Mask of all reserved-as-0 bits.
Sourcepub const DEFAULT: u64
pub const DEFAULT: u64
The default value of the layout, combining all field defaults and reserved-as values.
Sourcepub const NUM_SETS_MASK: u64
pub const NUM_SETS_MASK: u64
Unshifted bitmask of num_sets.
Sourcepub const NUM_SETS_SHIFT: usize = 13
pub const NUM_SETS_SHIFT: usize = 13
Bit shift (i.e., the low bit) of num_sets.
Sourcepub const ASSOCIATIVITY_MASK: u64
pub const ASSOCIATIVITY_MASK: u64
Unshifted bitmask of associativity.
Sourcepub const ASSOCIATIVITY_SHIFT: usize = 3
pub const ASSOCIATIVITY_SHIFT: usize = 3
Bit shift (i.e., the low bit) of associativity.
Sourcepub const LINE_SIZE_MASK: u64
pub const LINE_SIZE_MASK: u64
Unshifted bitmask of line_size.
Sourcepub const LINE_SIZE_SHIFT: usize = 0
pub const LINE_SIZE_SHIFT: usize = 0
Bit shift (i.e., the low bit) of line_size.
Sourcepub const FIELDS: [FieldMetadata<u64>; 3]
pub const FIELDS: [FieldMetadata<u64>; 3]
Metadata of all named fields in the layout.
Sourcepub const fn new() -> Self
pub const fn new() -> Self
Creates a new instance with reserved-as-1 bits set and
all other bits zeroed (i.e., with a value of
Self::RSVD1_MASK).
pub const fn bits(self) -> u64
Sourcepub const fn set_num_sets(&mut self, value: u16) -> &mut Self
pub const fn set_num_sets(&mut self, value: u16) -> &mut Self
Sets the value of CacheSizeIdRegister[27:13].
Sourcepub const fn associativity(&self) -> u16
pub const fn associativity(&self) -> u16
The value of CacheSizeIdRegister[12:3].
Sourcepub const fn set_associativity(&mut self, value: u16) -> &mut Self
pub const fn set_associativity(&mut self, value: u16) -> &mut Self
Sets the value of CacheSizeIdRegister[12:3].
Sourcepub const fn line_size(&self) -> u8
pub const fn line_size(&self) -> u8
log2 of the number of words in a cache line, minus 2.
The value of CacheSizeIdRegister[2:0].
Sourcepub const fn set_line_size(&mut self, value: u8) -> &mut Self
pub const fn set_line_size(&mut self, value: u8) -> &mut Self
Sets the value of CacheSizeIdRegister[2:0].
Trait Implementations§
Source§impl Binary for CacheSizeIdRegister
impl Binary for CacheSizeIdRegister
Source§impl Clone for CacheSizeIdRegister
impl Clone for CacheSizeIdRegister
Source§fn clone(&self) -> CacheSizeIdRegister
fn clone(&self) -> CacheSizeIdRegister
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for CacheSizeIdRegister
Source§impl Debug for CacheSizeIdRegister
impl Debug for CacheSizeIdRegister
Source§impl Default for CacheSizeIdRegister
impl Default for CacheSizeIdRegister
Source§fn default() -> Self
fn default() -> Self
Returns an instance with the default bits set (i.e,. with a
value of Self::DEFAULT.
impl Eq for CacheSizeIdRegister
Source§impl From<CacheSizeIdRegister> for u64
impl From<CacheSizeIdRegister> for u64
Source§fn from(value: CacheSizeIdRegister) -> Self
fn from(value: CacheSizeIdRegister) -> Self
Source§impl From<u64> for CacheSizeIdRegister
impl From<u64> for CacheSizeIdRegister
Source§impl IntoIterator for CacheSizeIdRegister
impl IntoIterator for CacheSizeIdRegister
Source§impl<'a> IntoIterator for &'a CacheSizeIdRegister
impl<'a> IntoIterator for &'a CacheSizeIdRegister
Source§impl LowerHex for CacheSizeIdRegister
impl LowerHex for CacheSizeIdRegister
Source§impl Octal for CacheSizeIdRegister
impl Octal for CacheSizeIdRegister
Source§impl PartialEq for CacheSizeIdRegister
impl PartialEq for CacheSizeIdRegister
impl StructuralPartialEq for CacheSizeIdRegister
Auto Trait Implementations§
impl Freeze for CacheSizeIdRegister
impl RefUnwindSafe for CacheSizeIdRegister
impl Send for CacheSizeIdRegister
impl Sync for CacheSizeIdRegister
impl Unpin for CacheSizeIdRegister
impl UnsafeUnpin for CacheSizeIdRegister
impl UnwindSafe for CacheSizeIdRegister
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)