pub struct TranslationControlRegisterEl2(/* private fields */);Expand description
The layout of TCR_EL2.
Implementations§
Source§impl TranslationControlRegisterEl2
impl TranslationControlRegisterEl2
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 TCMA_SHIFT: usize = 30
pub const TCMA_SHIFT: usize = 30
Bit shift (i.e., the low bit) of tcma.
Sourcepub const TBID_SHIFT: usize = 29
pub const TBID_SHIFT: usize = 29
Bit shift (i.e., the low bit) of tbid.
Sourcepub const HWU62_MASK: u64
pub const HWU62_MASK: u64
Unshifted bitmask of hwu62.
Sourcepub const HWU62_SHIFT: usize = 28
pub const HWU62_SHIFT: usize = 28
Bit shift (i.e., the low bit) of hwu62.
Sourcepub const HWU61_MASK: u64
pub const HWU61_MASK: u64
Unshifted bitmask of hwu61.
Sourcepub const HWU61_SHIFT: usize = 27
pub const HWU61_SHIFT: usize = 27
Bit shift (i.e., the low bit) of hwu61.
Sourcepub const HWU60_MASK: u64
pub const HWU60_MASK: u64
Unshifted bitmask of hwu60.
Sourcepub const HWU60_SHIFT: usize = 26
pub const HWU60_SHIFT: usize = 26
Bit shift (i.e., the low bit) of hwu60.
Sourcepub const HWU59_MASK: u64
pub const HWU59_MASK: u64
Unshifted bitmask of hwu59.
Sourcepub const HWU59_SHIFT: usize = 25
pub const HWU59_SHIFT: usize = 25
Bit shift (i.e., the low bit) of hwu59.
Sourcepub const ORGN0_MASK: u64
pub const ORGN0_MASK: u64
Unshifted bitmask of orgn0.
Sourcepub const ORGN0_SHIFT: usize = 10
pub const ORGN0_SHIFT: usize = 10
Bit shift (i.e., the low bit) of orgn0.
Sourcepub const IRGN0_MASK: u64
pub const IRGN0_MASK: u64
Unshifted bitmask of irgn0.
Sourcepub const IRGN0_SHIFT: usize = 8
pub const IRGN0_SHIFT: usize = 8
Bit shift (i.e., the low bit) of irgn0.
Sourcepub const T0SZ_SHIFT: usize = 0
pub const T0SZ_SHIFT: usize = 0
Bit shift (i.e., the low bit) of t0sz.
Sourcepub const FIELDS: [FieldMetadata<u64>; 18]
pub const FIELDS: [FieldMetadata<u64>; 18]
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_mtx(&mut self, value: bool) -> &mut Self
pub const fn set_mtx(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl233.
Sourcepub const fn set_ds(&mut self, value: bool) -> &mut Self
pub const fn set_ds(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl232.
Sourcepub const fn set_tcma(&mut self, value: bool) -> &mut Self
pub const fn set_tcma(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl230.
Sourcepub const fn set_tbid(&mut self, value: bool) -> &mut Self
pub const fn set_tbid(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl229.
Sourcepub const fn set_hwu62(&mut self, value: bool) -> &mut Self
pub const fn set_hwu62(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl228.
Sourcepub const fn set_hwu61(&mut self, value: bool) -> &mut Self
pub const fn set_hwu61(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl227.
Sourcepub const fn set_hwu60(&mut self, value: bool) -> &mut Self
pub const fn set_hwu60(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl226.
Sourcepub const fn set_hwu59(&mut self, value: bool) -> &mut Self
pub const fn set_hwu59(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl225.
Sourcepub const fn set_hpd(&mut self, value: bool) -> &mut Self
pub const fn set_hpd(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl224.
Sourcepub const fn set_hd(&mut self, value: bool) -> &mut Self
pub const fn set_hd(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl222.
Sourcepub const fn set_ha(&mut self, value: bool) -> &mut Self
pub const fn set_ha(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl221.
Sourcepub const fn set_tbi(&mut self, value: bool) -> &mut Self
pub const fn set_tbi(&mut self, value: bool) -> &mut Self
Sets the value of TranslationControlRegisterEl220.
Sourcepub fn ps(&self) -> PhysicalAddressSizewhere
PhysicalAddressSize: TryFromBytes,
pub fn ps(&self) -> PhysicalAddressSizewhere
PhysicalAddressSize: TryFromBytes,
The value of TranslationControlRegisterEl2[18:16].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_ps to recover from invalid bit patterns.
Sourcepub fn try_ps(&self) -> Result<PhysicalAddressSize, InvalidBits<u8>>where
PhysicalAddressSize: TryFromBytes,
pub fn try_ps(&self) -> Result<PhysicalAddressSize, InvalidBits<u8>>where
PhysicalAddressSize: TryFromBytes,
Fallible variant of Self::ps.
Sourcepub fn set_ps(&mut self, value: PhysicalAddressSize) -> &mut Self
pub fn set_ps(&mut self, value: PhysicalAddressSize) -> &mut Self
Sets the value of TranslationControlRegisterEl2[18:16].
Sourcepub fn tg0(&self) -> TcrTg0Valuewhere
TcrTg0Value: TryFromBytes,
pub fn tg0(&self) -> TcrTg0Valuewhere
TcrTg0Value: TryFromBytes,
The value of TranslationControlRegisterEl2[15:14].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_tg0 to recover from invalid bit patterns.
Sourcepub fn try_tg0(&self) -> Result<TcrTg0Value, InvalidBits<u8>>where
TcrTg0Value: TryFromBytes,
pub fn try_tg0(&self) -> Result<TcrTg0Value, InvalidBits<u8>>where
TcrTg0Value: TryFromBytes,
Fallible variant of Self::tg0.
Sourcepub fn set_tg0(&mut self, value: TcrTg0Value) -> &mut Self
pub fn set_tg0(&mut self, value: TcrTg0Value) -> &mut Self
Sets the value of TranslationControlRegisterEl2[15:14].
Sourcepub fn sh0(&self) -> ShareabilityAttributewhere
ShareabilityAttribute: TryFromBytes,
pub fn sh0(&self) -> ShareabilityAttributewhere
ShareabilityAttribute: TryFromBytes,
The value of TranslationControlRegisterEl2[13:12].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_sh0 to recover from invalid bit patterns.
Sourcepub fn try_sh0(&self) -> Result<ShareabilityAttribute, InvalidBits<u8>>where
ShareabilityAttribute: TryFromBytes,
pub fn try_sh0(&self) -> Result<ShareabilityAttribute, InvalidBits<u8>>where
ShareabilityAttribute: TryFromBytes,
Fallible variant of Self::sh0.
Sourcepub fn set_sh0(&mut self, value: ShareabilityAttribute) -> &mut Self
pub fn set_sh0(&mut self, value: ShareabilityAttribute) -> &mut Self
Sets the value of TranslationControlRegisterEl2[13:12].
Sourcepub fn orgn0(&self) -> CacheabilityAttributewhere
CacheabilityAttribute: TryFromBytes,
pub fn orgn0(&self) -> CacheabilityAttributewhere
CacheabilityAttribute: TryFromBytes,
The value of TranslationControlRegisterEl2[11:10].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_orgn0 to recover from invalid bit patterns.
Sourcepub fn try_orgn0(&self) -> Result<CacheabilityAttribute, InvalidBits<u8>>where
CacheabilityAttribute: TryFromBytes,
pub fn try_orgn0(&self) -> Result<CacheabilityAttribute, InvalidBits<u8>>where
CacheabilityAttribute: TryFromBytes,
Fallible variant of Self::orgn0.
Sourcepub fn set_orgn0(&mut self, value: CacheabilityAttribute) -> &mut Self
pub fn set_orgn0(&mut self, value: CacheabilityAttribute) -> &mut Self
Sets the value of TranslationControlRegisterEl2[11:10].
Sourcepub fn irgn0(&self) -> CacheabilityAttributewhere
CacheabilityAttribute: TryFromBytes,
pub fn irgn0(&self) -> CacheabilityAttributewhere
CacheabilityAttribute: TryFromBytes,
The value of TranslationControlRegisterEl2[9:8].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_irgn0 to recover from invalid bit patterns.
Sourcepub fn try_irgn0(&self) -> Result<CacheabilityAttribute, InvalidBits<u8>>where
CacheabilityAttribute: TryFromBytes,
pub fn try_irgn0(&self) -> Result<CacheabilityAttribute, InvalidBits<u8>>where
CacheabilityAttribute: TryFromBytes,
Fallible variant of Self::irgn0.
Sourcepub fn set_irgn0(&mut self, value: CacheabilityAttribute) -> &mut Self
pub fn set_irgn0(&mut self, value: CacheabilityAttribute) -> &mut Self
Sets the value of TranslationControlRegisterEl2[9:8].
Trait Implementations§
Source§impl Binary for TranslationControlRegisterEl2
impl Binary for TranslationControlRegisterEl2
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PhysicalAddressSize: Debug,
TcrTg0Value: Debug,
ShareabilityAttribute: Debug,
CacheabilityAttribute: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PhysicalAddressSize: Debug,
TcrTg0Value: Debug,
ShareabilityAttribute: Debug,
CacheabilityAttribute: Debug,
Source§impl Clone for TranslationControlRegisterEl2
impl Clone for TranslationControlRegisterEl2
Source§fn clone(&self) -> TranslationControlRegisterEl2
fn clone(&self) -> TranslationControlRegisterEl2
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for TranslationControlRegisterEl2
Source§impl Debug for TranslationControlRegisterEl2
impl Debug for TranslationControlRegisterEl2
Source§impl Default for TranslationControlRegisterEl2
impl Default for TranslationControlRegisterEl2
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 TranslationControlRegisterEl2
Source§impl From<TranslationControlRegisterEl2> for u64
impl From<TranslationControlRegisterEl2> for u64
Source§fn from(value: TranslationControlRegisterEl2) -> Self
fn from(value: TranslationControlRegisterEl2) -> Self
Source§impl From<u64> for TranslationControlRegisterEl2
impl From<u64> for TranslationControlRegisterEl2
Source§impl IntoIterator for TranslationControlRegisterEl2
impl IntoIterator for TranslationControlRegisterEl2
Source§impl<'a> IntoIterator for &'a TranslationControlRegisterEl2
impl<'a> IntoIterator for &'a TranslationControlRegisterEl2
Source§impl LowerHex for TranslationControlRegisterEl2
impl LowerHex for TranslationControlRegisterEl2
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PhysicalAddressSize: Debug,
TcrTg0Value: Debug,
ShareabilityAttribute: Debug,
CacheabilityAttribute: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PhysicalAddressSize: Debug,
TcrTg0Value: Debug,
ShareabilityAttribute: Debug,
CacheabilityAttribute: Debug,
Source§impl Octal for TranslationControlRegisterEl2
impl Octal for TranslationControlRegisterEl2
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PhysicalAddressSize: Debug,
TcrTg0Value: Debug,
ShareabilityAttribute: Debug,
CacheabilityAttribute: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PhysicalAddressSize: Debug,
TcrTg0Value: Debug,
ShareabilityAttribute: Debug,
CacheabilityAttribute: Debug,
Source§impl PartialEq for TranslationControlRegisterEl2
impl PartialEq for TranslationControlRegisterEl2
impl StructuralPartialEq for TranslationControlRegisterEl2
Source§impl UpperHex for TranslationControlRegisterEl2
impl UpperHex for TranslationControlRegisterEl2
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PhysicalAddressSize: Debug,
TcrTg0Value: Debug,
ShareabilityAttribute: Debug,
CacheabilityAttribute: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PhysicalAddressSize: Debug,
TcrTg0Value: Debug,
ShareabilityAttribute: Debug,
CacheabilityAttribute: Debug,
Auto Trait Implementations§
impl Freeze for TranslationControlRegisterEl2
impl RefUnwindSafe for TranslationControlRegisterEl2
impl Send for TranslationControlRegisterEl2
impl Sync for TranslationControlRegisterEl2
impl Unpin for TranslationControlRegisterEl2
impl UnsafeUnpin for TranslationControlRegisterEl2
impl UnwindSafe for TranslationControlRegisterEl2
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)