pub struct VirtualizationTranslationControlRegister(/* private fields */);Expand description
The layout of VTCR_EL2.
Implementations§
Source§impl VirtualizationTranslationControlRegister
impl VirtualizationTranslationControlRegister
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 HDBSS_MASK: u64
pub const HDBSS_MASK: u64
Unshifted bitmask of hdbss.
Sourcepub const HDBSS_SHIFT: usize = 45
pub const HDBSS_SHIFT: usize = 45
Bit shift (i.e., the low bit) of hdbss.
Sourcepub const HAFT_SHIFT: usize = 44
pub const HAFT_SHIFT: usize = 44
Bit shift (i.e., the low bit) of haft.
Sourcepub const GCSH_SHIFT: usize = 40
pub const GCSH_SHIFT: usize = 40
Bit shift (i.e., the low bit) of gcsh.
Sourcepub const D128_SHIFT: usize = 38
pub const D128_SHIFT: usize = 38
Bit shift (i.e., the low bit) of d128.
Sourcepub const S2POE_MASK: u64
pub const S2POE_MASK: u64
Unshifted bitmask of s2poe.
Sourcepub const S2POE_SHIFT: usize = 37
pub const S2POE_SHIFT: usize = 37
Bit shift (i.e., the low bit) of s2poe.
Sourcepub const S2PIE_MASK: u64
pub const S2PIE_MASK: u64
Unshifted bitmask of s2pie.
Sourcepub const S2PIE_SHIFT: usize = 36
pub const S2PIE_SHIFT: usize = 36
Bit shift (i.e., the low bit) of s2pie.
Sourcepub const ASSURED_ONLY_MASK: u64
pub const ASSURED_ONLY_MASK: u64
Unshifted bitmask of assured_only.
Sourcepub const ASSURED_ONLY_SHIFT: usize = 34
pub const ASSURED_ONLY_SHIFT: usize = 34
Bit shift (i.e., the low bit) of assured_only.
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>; 27]
pub const FIELDS: [FieldMetadata<u64>; 27]
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_hdbss(&mut self, value: bool) -> &mut Self
pub const fn set_hdbss(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister45.
Sourcepub const fn set_haft(&mut self, value: bool) -> &mut Self
pub const fn set_haft(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister44.
Sourcepub const fn set_tl0(&mut self, value: bool) -> &mut Self
pub const fn set_tl0(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister41.
Sourcepub const fn set_gcsh(&mut self, value: bool) -> &mut Self
pub const fn set_gcsh(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister40.
Sourcepub const fn set_d128(&mut self, value: bool) -> &mut Self
pub const fn set_d128(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister38.
Sourcepub const fn set_s2poe(&mut self, value: bool) -> &mut Self
pub const fn set_s2poe(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister37.
Sourcepub const fn set_s2pie(&mut self, value: bool) -> &mut Self
pub const fn set_s2pie(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister36.
Sourcepub const fn set_tl1(&mut self, value: bool) -> &mut Self
pub const fn set_tl1(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister35.
Sourcepub const fn assured_only(&self) -> bool
pub const fn assured_only(&self) -> bool
The value of VirtualizationTranslationControlRegister34.
Sourcepub const fn set_assured_only(&mut self, value: bool) -> &mut Self
pub const fn set_assured_only(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister34.
Sourcepub const fn set_sl2(&mut self, value: bool) -> &mut Self
pub const fn set_sl2(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister33.
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 VirtualizationTranslationControlRegister32.
Sourcepub const fn set_nsa(&mut self, value: bool) -> &mut Self
pub const fn set_nsa(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister30.
Sourcepub const fn set_nsw(&mut self, value: bool) -> &mut Self
pub const fn set_nsw(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister29.
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 VirtualizationTranslationControlRegister28.
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 VirtualizationTranslationControlRegister27.
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 VirtualizationTranslationControlRegister26.
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 VirtualizationTranslationControlRegister25.
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 VirtualizationTranslationControlRegister22.
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 VirtualizationTranslationControlRegister21.
Sourcepub const fn set_vs(&mut self, value: bool) -> &mut Self
pub const fn set_vs(&mut self, value: bool) -> &mut Self
Sets the value of VirtualizationTranslationControlRegister19.
Sourcepub fn ps(&self) -> PhysicalAddressSizewhere
PhysicalAddressSize: TryFromBytes,
pub fn ps(&self) -> PhysicalAddressSizewhere
PhysicalAddressSize: TryFromBytes,
The value of VirtualizationTranslationControlRegister[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 VirtualizationTranslationControlRegister[18:16].
Sourcepub fn tg0(&self) -> TcrTg0Valuewhere
TcrTg0Value: TryFromBytes,
pub fn tg0(&self) -> TcrTg0Valuewhere
TcrTg0Value: TryFromBytes,
The value of VirtualizationTranslationControlRegister[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 VirtualizationTranslationControlRegister[15:14].
Sourcepub fn sh0(&self) -> ShareabilityAttributewhere
ShareabilityAttribute: TryFromBytes,
pub fn sh0(&self) -> ShareabilityAttributewhere
ShareabilityAttribute: TryFromBytes,
The value of VirtualizationTranslationControlRegister[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 VirtualizationTranslationControlRegister[13:12].
Sourcepub fn orgn0(&self) -> CacheabilityAttributewhere
CacheabilityAttribute: TryFromBytes,
pub fn orgn0(&self) -> CacheabilityAttributewhere
CacheabilityAttribute: TryFromBytes,
The value of VirtualizationTranslationControlRegister[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 VirtualizationTranslationControlRegister[11:10].
Sourcepub fn irgn0(&self) -> CacheabilityAttributewhere
CacheabilityAttribute: TryFromBytes,
pub fn irgn0(&self) -> CacheabilityAttributewhere
CacheabilityAttribute: TryFromBytes,
The value of VirtualizationTranslationControlRegister[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 VirtualizationTranslationControlRegister[9:8].
Trait Implementations§
Source§impl Binary for VirtualizationTranslationControlRegister
impl Binary for VirtualizationTranslationControlRegister
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 VirtualizationTranslationControlRegister
impl Clone for VirtualizationTranslationControlRegister
Source§fn clone(&self) -> VirtualizationTranslationControlRegister
fn clone(&self) -> VirtualizationTranslationControlRegister
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for VirtualizationTranslationControlRegister
Source§impl Debug for VirtualizationTranslationControlRegister
impl Debug for VirtualizationTranslationControlRegister
Source§impl Default for VirtualizationTranslationControlRegister
impl Default for VirtualizationTranslationControlRegister
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 VirtualizationTranslationControlRegister
Source§impl From<VirtualizationTranslationControlRegister> for u64
impl From<VirtualizationTranslationControlRegister> for u64
Source§fn from(value: VirtualizationTranslationControlRegister) -> Self
fn from(value: VirtualizationTranslationControlRegister) -> Self
Source§impl From<u64> for VirtualizationTranslationControlRegister
impl From<u64> for VirtualizationTranslationControlRegister
Source§impl IntoIterator for VirtualizationTranslationControlRegister
impl IntoIterator for VirtualizationTranslationControlRegister
Source§impl<'a> IntoIterator for &'a VirtualizationTranslationControlRegister
impl<'a> IntoIterator for &'a VirtualizationTranslationControlRegister
Source§impl LowerHex for VirtualizationTranslationControlRegister
impl LowerHex for VirtualizationTranslationControlRegister
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 VirtualizationTranslationControlRegister
impl Octal for VirtualizationTranslationControlRegister
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 VirtualizationTranslationControlRegister
impl PartialEq for VirtualizationTranslationControlRegister
impl StructuralPartialEq for VirtualizationTranslationControlRegister
Source§impl UpperHex for VirtualizationTranslationControlRegister
impl UpperHex for VirtualizationTranslationControlRegister
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 VirtualizationTranslationControlRegister
impl RefUnwindSafe for VirtualizationTranslationControlRegister
impl Send for VirtualizationTranslationControlRegister
impl Sync for VirtualizationTranslationControlRegister
impl Unpin for VirtualizationTranslationControlRegister
impl UnsafeUnpin for VirtualizationTranslationControlRegister
impl UnwindSafe for VirtualizationTranslationControlRegister
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)