pub struct MemoryModelFeatureRegister1(/* private fields */);Expand description
The layout of ID_AA64MMFR1_EL1.
Implementations§
Source§impl MemoryModelFeatureRegister1
impl MemoryModelFeatureRegister1
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 CMOW_SHIFT: usize = 56
pub const CMOW_SHIFT: usize = 56
Bit shift (i.e., the low bit) of cmow.
Sourcepub const TIDCP1_MASK: u64
pub const TIDCP1_MASK: u64
Unshifted bitmask of tidcp1.
Sourcepub const TIDCP1_SHIFT: usize = 52
pub const TIDCP1_SHIFT: usize = 52
Bit shift (i.e., the low bit) of tidcp1.
Sourcepub const NTLBPA_MASK: u64
pub const NTLBPA_MASK: u64
Unshifted bitmask of ntlbpa.
Sourcepub const NTLBPA_SHIFT: usize = 48
pub const NTLBPA_SHIFT: usize = 48
Bit shift (i.e., the low bit) of ntlbpa.
Sourcepub const TWED_SHIFT: usize = 32
pub const TWED_SHIFT: usize = 32
Bit shift (i.e., the low bit) of twed.
Sourcepub const SPEC_SEI_MASK: u64
pub const SPEC_SEI_MASK: u64
Unshifted bitmask of spec_sei.
Sourcepub const SPEC_SEI_SHIFT: usize = 24
pub const SPEC_SEI_SHIFT: usize = 24
Bit shift (i.e., the low bit) of spec_sei.
Sourcepub const HPDS_SHIFT: usize = 12
pub const HPDS_SHIFT: usize = 12
Bit shift (i.e., the low bit) of hpds.
Sourcepub const VMID_BITS_MASK: u64
pub const VMID_BITS_MASK: u64
Unshifted bitmask of vmid_bits.
Sourcepub const VMID_BITS_SHIFT: usize = 4
pub const VMID_BITS_SHIFT: usize = 4
Bit shift (i.e., the low bit) of vmid_bits.
Sourcepub const HAFDBS_MASK: u64
pub const HAFDBS_MASK: u64
Unshifted bitmask of hafdbs.
Sourcepub const HAFDBS_SHIFT: usize = 0
pub const HAFDBS_SHIFT: usize = 0
Bit shift (i.e., the low bit) of hafdbs.
Sourcepub const FIELDS: [FieldMetadata<u64>; 15]
pub const FIELDS: [FieldMetadata<u64>; 15]
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_cmow(&mut self, value: u8) -> &mut Self
pub const fn set_cmow(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[59:56].
Sourcepub const fn set_tidcp1(&mut self, value: u8) -> &mut Self
pub const fn set_tidcp1(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[55:52].
Sourcepub const fn set_ntlbpa(&mut self, value: u8) -> &mut Self
pub const fn set_ntlbpa(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[51:48].
Sourcepub const fn set_afp(&mut self, value: u8) -> &mut Self
pub const fn set_afp(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[47:44].
Sourcepub const fn set_hcx(&mut self, value: u8) -> &mut Self
pub const fn set_hcx(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[43:40].
Sourcepub const fn set_ets(&mut self, value: u8) -> &mut Self
pub const fn set_ets(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[39:36].
Sourcepub const fn set_twed(&mut self, value: u8) -> &mut Self
pub const fn set_twed(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[35:32].
Sourcepub const fn set_xnx(&mut self, value: u8) -> &mut Self
pub const fn set_xnx(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[31:28].
Sourcepub const fn set_spec_sei(&mut self, value: u8) -> &mut Self
pub const fn set_spec_sei(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[27:24].
Sourcepub const fn set_pan(&mut self, value: u8) -> &mut Self
pub const fn set_pan(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[23:20].
Sourcepub const fn set_lo(&mut self, value: u8) -> &mut Self
pub const fn set_lo(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[19:16].
Sourcepub const fn set_hpds(&mut self, value: u8) -> &mut Self
pub const fn set_hpds(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[15:12].
Sourcepub const fn set_vh(&mut self, value: u8) -> &mut Self
pub const fn set_vh(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[11:8].
Sourcepub fn vmid_bits(&self) -> AsidSizewhere
AsidSize: TryFromBytes,
pub fn vmid_bits(&self) -> AsidSizewhere
AsidSize: TryFromBytes,
The value of MemoryModelFeatureRegister1[7:4].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_vmid_bits to recover from invalid bit patterns.
Sourcepub fn try_vmid_bits(&self) -> Result<AsidSize, InvalidBits<u8>>where
AsidSize: TryFromBytes,
pub fn try_vmid_bits(&self) -> Result<AsidSize, InvalidBits<u8>>where
AsidSize: TryFromBytes,
Fallible variant of Self::vmid_bits.
Sourcepub fn set_vmid_bits(&mut self, value: AsidSize) -> &mut Self
pub fn set_vmid_bits(&mut self, value: AsidSize) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[7:4].
Sourcepub const fn set_hafdbs(&mut self, value: u8) -> &mut Self
pub const fn set_hafdbs(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister1[3:0].
Trait Implementations§
Source§impl Binary for MemoryModelFeatureRegister1
impl Binary for MemoryModelFeatureRegister1
Source§impl Clone for MemoryModelFeatureRegister1
impl Clone for MemoryModelFeatureRegister1
Source§fn clone(&self) -> MemoryModelFeatureRegister1
fn clone(&self) -> MemoryModelFeatureRegister1
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for MemoryModelFeatureRegister1
Source§impl Debug for MemoryModelFeatureRegister1
impl Debug for MemoryModelFeatureRegister1
Source§impl Default for MemoryModelFeatureRegister1
impl Default for MemoryModelFeatureRegister1
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 MemoryModelFeatureRegister1
Source§impl From<MemoryModelFeatureRegister1> for u64
impl From<MemoryModelFeatureRegister1> for u64
Source§fn from(value: MemoryModelFeatureRegister1) -> Self
fn from(value: MemoryModelFeatureRegister1) -> Self
Source§impl From<u64> for MemoryModelFeatureRegister1
impl From<u64> for MemoryModelFeatureRegister1
Source§impl IntoIterator for MemoryModelFeatureRegister1
impl IntoIterator for MemoryModelFeatureRegister1
Source§impl<'a> IntoIterator for &'a MemoryModelFeatureRegister1
impl<'a> IntoIterator for &'a MemoryModelFeatureRegister1
Source§impl LowerHex for MemoryModelFeatureRegister1
impl LowerHex for MemoryModelFeatureRegister1
Source§impl Octal for MemoryModelFeatureRegister1
impl Octal for MemoryModelFeatureRegister1
Source§impl PartialEq for MemoryModelFeatureRegister1
impl PartialEq for MemoryModelFeatureRegister1
impl StructuralPartialEq for MemoryModelFeatureRegister1
Auto Trait Implementations§
impl Freeze for MemoryModelFeatureRegister1
impl RefUnwindSafe for MemoryModelFeatureRegister1
impl Send for MemoryModelFeatureRegister1
impl Sync for MemoryModelFeatureRegister1
impl Unpin for MemoryModelFeatureRegister1
impl UnsafeUnpin for MemoryModelFeatureRegister1
impl UnwindSafe for MemoryModelFeatureRegister1
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)