pub struct MemoryModelFeatureRegister0(/* private fields */);Expand description
The layout of ID_AA64MMFR0_EL1.
Implementations§
Source§impl MemoryModelFeatureRegister0
impl MemoryModelFeatureRegister0
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 TGRAN4_2_MASK: u64
pub const TGRAN4_2_MASK: u64
Unshifted bitmask of tgran4_2.
Sourcepub const TGRAN4_2_SHIFT: usize = 40
pub const TGRAN4_2_SHIFT: usize = 40
Bit shift (i.e., the low bit) of tgran4_2.
Sourcepub const TGRAN64_2_MASK: u64
pub const TGRAN64_2_MASK: u64
Unshifted bitmask of tgran64_2.
Sourcepub const TGRAN64_2_SHIFT: usize = 36
pub const TGRAN64_2_SHIFT: usize = 36
Bit shift (i.e., the low bit) of tgran64_2.
Sourcepub const TGRAN16_2_MASK: u64
pub const TGRAN16_2_MASK: u64
Unshifted bitmask of tgran16_2.
Sourcepub const TGRAN16_2_SHIFT: usize = 32
pub const TGRAN16_2_SHIFT: usize = 32
Bit shift (i.e., the low bit) of tgran16_2.
Sourcepub const TGRAN4_MASK: u64
pub const TGRAN4_MASK: u64
Unshifted bitmask of tgran4.
Sourcepub const TGRAN4_SHIFT: usize = 28
pub const TGRAN4_SHIFT: usize = 28
Bit shift (i.e., the low bit) of tgran4.
Sourcepub const TGRAN64_MASK: u64
pub const TGRAN64_MASK: u64
Unshifted bitmask of tgran64.
Sourcepub const TGRAN64_SHIFT: usize = 24
pub const TGRAN64_SHIFT: usize = 24
Bit shift (i.e., the low bit) of tgran64.
Sourcepub const TGRAN16_MASK: u64
pub const TGRAN16_MASK: u64
Unshifted bitmask of tgran16.
Sourcepub const TGRAN16_SHIFT: usize = 20
pub const TGRAN16_SHIFT: usize = 20
Bit shift (i.e., the low bit) of tgran16.
Sourcepub const BIG_END_EL0_MASK: u64
pub const BIG_END_EL0_MASK: u64
Unshifted bitmask of big_end_el0.
Sourcepub const BIG_END_EL0_SHIFT: usize = 16
pub const BIG_END_EL0_SHIFT: usize = 16
Bit shift (i.e., the low bit) of big_end_el0.
Sourcepub const SNS_MEM_MASK: u64
pub const SNS_MEM_MASK: u64
Unshifted bitmask of sns_mem.
Sourcepub const SNS_MEM_SHIFT: usize = 12
pub const SNS_MEM_SHIFT: usize = 12
Bit shift (i.e., the low bit) of sns_mem.
Sourcepub const BIG_END_MASK: u64
pub const BIG_END_MASK: u64
Unshifted bitmask of big_end.
Sourcepub const BIG_END_SHIFT: usize = 8
pub const BIG_END_SHIFT: usize = 8
Bit shift (i.e., the low bit) of big_end.
Sourcepub const ASID_BITS_MASK: u64
pub const ASID_BITS_MASK: u64
Unshifted bitmask of asid_bits.
Sourcepub const ASID_BITS_SHIFT: usize = 4
pub const ASID_BITS_SHIFT: usize = 4
Bit shift (i.e., the low bit) of asid_bits.
Sourcepub const PA_RANGE_MASK: u64
pub const PA_RANGE_MASK: u64
Unshifted bitmask of pa_range.
Sourcepub const PA_RANGE_SHIFT: usize = 0
pub const PA_RANGE_SHIFT: usize = 0
Bit shift (i.e., the low bit) of pa_range.
Sourcepub const FIELDS: [FieldMetadata<u64>; 14]
pub const FIELDS: [FieldMetadata<u64>; 14]
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_ecv(&mut self, value: u8) -> &mut Self
pub const fn set_ecv(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[63:60].
Sourcepub const fn set_fgt(&mut self, value: u8) -> &mut Self
pub const fn set_fgt(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[59:56].
Sourcepub const fn set_exs(&mut self, value: u8) -> &mut Self
pub const fn set_exs(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[47:44].
Sourcepub const fn set_tgran4_2(&mut self, value: u8) -> &mut Self
pub const fn set_tgran4_2(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[43:40].
Sourcepub const fn set_tgran64_2(&mut self, value: u8) -> &mut Self
pub const fn set_tgran64_2(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[39:36].
Sourcepub const fn set_tgran16_2(&mut self, value: u8) -> &mut Self
pub const fn set_tgran16_2(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[35:32].
Sourcepub const fn set_tgran4(&mut self, value: u8) -> &mut Self
pub const fn set_tgran4(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[31:28].
Sourcepub const fn set_tgran64(&mut self, value: u8) -> &mut Self
pub const fn set_tgran64(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[27:24].
Sourcepub const fn set_tgran16(&mut self, value: u8) -> &mut Self
pub const fn set_tgran16(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[23:20].
Sourcepub const fn big_end_el0(&self) -> u8
pub const fn big_end_el0(&self) -> u8
The value of MemoryModelFeatureRegister0[19:16].
Sourcepub const fn set_big_end_el0(&mut self, value: u8) -> &mut Self
pub const fn set_big_end_el0(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[19:16].
Sourcepub const fn set_sns_mem(&mut self, value: u8) -> &mut Self
pub const fn set_sns_mem(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[15:12].
Sourcepub const fn set_big_end(&mut self, value: u8) -> &mut Self
pub const fn set_big_end(&mut self, value: u8) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[11:8].
Sourcepub fn asid_bits(&self) -> AsidSizewhere
AsidSize: TryFromBytes,
pub fn asid_bits(&self) -> AsidSizewhere
AsidSize: TryFromBytes,
The value of MemoryModelFeatureRegister0[7:4].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_asid_bits to recover from invalid bit patterns.
Sourcepub fn try_asid_bits(&self) -> Result<AsidSize, InvalidBits<u8>>where
AsidSize: TryFromBytes,
pub fn try_asid_bits(&self) -> Result<AsidSize, InvalidBits<u8>>where
AsidSize: TryFromBytes,
Fallible variant of Self::asid_bits.
Sourcepub fn set_asid_bits(&mut self, value: AsidSize) -> &mut Self
pub fn set_asid_bits(&mut self, value: AsidSize) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[7:4].
Sourcepub fn pa_range(&self) -> PhysicalAddressSizewhere
PhysicalAddressSize: TryFromBytes,
pub fn pa_range(&self) -> PhysicalAddressSizewhere
PhysicalAddressSize: TryFromBytes,
The value of MemoryModelFeatureRegister0[3:0].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_pa_range to recover from invalid bit patterns.
Sourcepub fn try_pa_range(&self) -> Result<PhysicalAddressSize, InvalidBits<u8>>where
PhysicalAddressSize: TryFromBytes,
pub fn try_pa_range(&self) -> Result<PhysicalAddressSize, InvalidBits<u8>>where
PhysicalAddressSize: TryFromBytes,
Fallible variant of Self::pa_range.
Sourcepub fn set_pa_range(&mut self, value: PhysicalAddressSize) -> &mut Self
pub fn set_pa_range(&mut self, value: PhysicalAddressSize) -> &mut Self
Sets the value of MemoryModelFeatureRegister0[3:0].
Trait Implementations§
Source§impl Binary for MemoryModelFeatureRegister0
impl Binary for MemoryModelFeatureRegister0
Source§impl Clone for MemoryModelFeatureRegister0
impl Clone for MemoryModelFeatureRegister0
Source§fn clone(&self) -> MemoryModelFeatureRegister0
fn clone(&self) -> MemoryModelFeatureRegister0
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for MemoryModelFeatureRegister0
Source§impl Debug for MemoryModelFeatureRegister0
impl Debug for MemoryModelFeatureRegister0
Source§impl Default for MemoryModelFeatureRegister0
impl Default for MemoryModelFeatureRegister0
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 MemoryModelFeatureRegister0
Source§impl From<MemoryModelFeatureRegister0> for u64
impl From<MemoryModelFeatureRegister0> for u64
Source§fn from(value: MemoryModelFeatureRegister0) -> Self
fn from(value: MemoryModelFeatureRegister0) -> Self
Source§impl From<u64> for MemoryModelFeatureRegister0
impl From<u64> for MemoryModelFeatureRegister0
Source§impl IntoIterator for MemoryModelFeatureRegister0
impl IntoIterator for MemoryModelFeatureRegister0
Source§impl<'a> IntoIterator for &'a MemoryModelFeatureRegister0
impl<'a> IntoIterator for &'a MemoryModelFeatureRegister0
Source§impl LowerHex for MemoryModelFeatureRegister0
impl LowerHex for MemoryModelFeatureRegister0
Source§impl Octal for MemoryModelFeatureRegister0
impl Octal for MemoryModelFeatureRegister0
Source§impl PartialEq for MemoryModelFeatureRegister0
impl PartialEq for MemoryModelFeatureRegister0
impl StructuralPartialEq for MemoryModelFeatureRegister0
Source§impl UpperHex for MemoryModelFeatureRegister0
impl UpperHex for MemoryModelFeatureRegister0
Auto Trait Implementations§
impl Freeze for MemoryModelFeatureRegister0
impl RefUnwindSafe for MemoryModelFeatureRegister0
impl Send for MemoryModelFeatureRegister0
impl Sync for MemoryModelFeatureRegister0
impl Unpin for MemoryModelFeatureRegister0
impl UnsafeUnpin for MemoryModelFeatureRegister0
impl UnwindSafe for MemoryModelFeatureRegister0
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)