pub struct HypervisorConfigurationRegister(/* private fields */);Expand description
The layout of HCR_EL2.
Implementations§
Source§impl HypervisorConfigurationRegister
impl HypervisorConfigurationRegister
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 TWEDEL_MASK: u64
pub const TWEDEL_MASK: u64
Unshifted bitmask of twedel.
Sourcepub const TWEDEL_SHIFT: usize = 60
pub const TWEDEL_SHIFT: usize = 60
Bit shift (i.e., the low bit) of twedel.
Sourcepub const TWEDEN_MASK: u64
pub const TWEDEN_MASK: u64
Unshifted bitmask of tweden.
Sourcepub const TWEDEN_SHIFT: usize = 59
pub const TWEDEN_SHIFT: usize = 59
Bit shift (i.e., the low bit) of tweden.
Sourcepub const TID5_SHIFT: usize = 58
pub const TID5_SHIFT: usize = 58
Bit shift (i.e., the low bit) of tid5.
Sourcepub const TTLBOS_MASK: u64
pub const TTLBOS_MASK: u64
Unshifted bitmask of ttlbos.
Sourcepub const TTLBOS_SHIFT: usize = 55
pub const TTLBOS_SHIFT: usize = 55
Bit shift (i.e., the low bit) of ttlbos.
Sourcepub const TTLBIS_MASK: u64
pub const TTLBIS_MASK: u64
Unshifted bitmask of ttlbis.
Sourcepub const TTLBIS_SHIFT: usize = 54
pub const TTLBIS_SHIFT: usize = 54
Bit shift (i.e., the low bit) of ttlbis.
Sourcepub const ENSCXT_MASK: u64
pub const ENSCXT_MASK: u64
Unshifted bitmask of enscxt.
Sourcepub const ENSCXT_SHIFT: usize = 53
pub const ENSCXT_SHIFT: usize = 53
Bit shift (i.e., the low bit) of enscxt.
Sourcepub const TOCU_SHIFT: usize = 52
pub const TOCU_SHIFT: usize = 52
Bit shift (i.e., the low bit) of tocu.
Sourcepub const AMVOFFEN_MASK: u64
pub const AMVOFFEN_MASK: u64
Unshifted bitmask of amvoffen.
Sourcepub const AMVOFFEN_SHIFT: usize = 51
pub const AMVOFFEN_SHIFT: usize = 51
Bit shift (i.e., the low bit) of amvoffen.
Sourcepub const TICAB_MASK: u64
pub const TICAB_MASK: u64
Unshifted bitmask of ticab.
Sourcepub const TICAB_SHIFT: usize = 50
pub const TICAB_SHIFT: usize = 50
Bit shift (i.e., the low bit) of ticab.
Sourcepub const TID4_SHIFT: usize = 49
pub const TID4_SHIFT: usize = 49
Bit shift (i.e., the low bit) of tid4.
Sourcepub const FIEN_SHIFT: usize = 47
pub const FIEN_SHIFT: usize = 47
Bit shift (i.e., the low bit) of fien.
Sourcepub const MIOCNCE_MASK: u64
pub const MIOCNCE_MASK: u64
Unshifted bitmask of miocnce.
Sourcepub const MIOCNCE_SHIFT: usize = 38
pub const MIOCNCE_SHIFT: usize = 38
Bit shift (i.e., the low bit) of miocnce.
Sourcepub const TERR_SHIFT: usize = 36
pub const TERR_SHIFT: usize = 36
Bit shift (i.e., the low bit) of terr.
Sourcepub const TLOR_SHIFT: usize = 35
pub const TLOR_SHIFT: usize = 35
Bit shift (i.e., the low bit) of tlor.
Sourcepub const TRVM_SHIFT: usize = 30
pub const TRVM_SHIFT: usize = 30
Bit shift (i.e., the low bit) of trvm.
Sourcepub const TTLB_SHIFT: usize = 25
pub const TTLB_SHIFT: usize = 25
Bit shift (i.e., the low bit) of ttlb.
Sourcepub const TCPC_SHIFT: usize = 23
pub const TCPC_SHIFT: usize = 23
Bit shift (i.e., the low bit) of tcpc.
Sourcepub const TACR_SHIFT: usize = 21
pub const TACR_SHIFT: usize = 21
Bit shift (i.e., the low bit) of tacr.
Sourcepub const TIDCP_MASK: u64
pub const TIDCP_MASK: u64
Unshifted bitmask of tidcp.
Sourcepub const TIDCP_SHIFT: usize = 20
pub const TIDCP_SHIFT: usize = 20
Bit shift (i.e., the low bit) of tidcp.
Sourcepub const TID3_SHIFT: usize = 18
pub const TID3_SHIFT: usize = 18
Bit shift (i.e., the low bit) of tid3.
Sourcepub const TID2_SHIFT: usize = 17
pub const TID2_SHIFT: usize = 17
Bit shift (i.e., the low bit) of tid2.
Sourcepub const TID1_SHIFT: usize = 16
pub const TID1_SHIFT: usize = 16
Bit shift (i.e., the low bit) of tid1.
Sourcepub const TID0_SHIFT: usize = 15
pub const TID0_SHIFT: usize = 15
Bit shift (i.e., the low bit) of tid0.
Sourcepub const SWIO_SHIFT: usize = 1
pub const SWIO_SHIFT: usize = 1
Bit shift (i.e., the low bit) of swio.
Sourcepub const FIELDS: [FieldMetadata<u64>; 60]
pub const FIELDS: [FieldMetadata<u64>; 60]
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_twedel(&mut self, value: u8) -> &mut Self
pub const fn set_twedel(&mut self, value: u8) -> &mut Self
Sets the value of HypervisorConfigurationRegister[63:60].
Sourcepub const fn set_tweden(&mut self, value: bool) -> &mut Self
pub const fn set_tweden(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister59.
Sourcepub const fn set_tid5(&mut self, value: bool) -> &mut Self
pub const fn set_tid5(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister58.
Sourcepub const fn set_dct(&mut self, value: bool) -> &mut Self
pub const fn set_dct(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister57.
Sourcepub const fn set_ata(&mut self, value: bool) -> &mut Self
pub const fn set_ata(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister56.
Sourcepub const fn set_ttlbos(&mut self, value: bool) -> &mut Self
pub const fn set_ttlbos(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister55.
Sourcepub const fn set_ttlbis(&mut self, value: bool) -> &mut Self
pub const fn set_ttlbis(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister54.
Sourcepub const fn set_enscxt(&mut self, value: bool) -> &mut Self
pub const fn set_enscxt(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister53.
Sourcepub const fn set_tocu(&mut self, value: bool) -> &mut Self
pub const fn set_tocu(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister52.
Sourcepub const fn set_amvoffen(&mut self, value: bool) -> &mut Self
pub const fn set_amvoffen(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister51.
Sourcepub const fn set_ticab(&mut self, value: bool) -> &mut Self
pub const fn set_ticab(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister50.
Sourcepub const fn set_tid4(&mut self, value: bool) -> &mut Self
pub const fn set_tid4(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister49.
Sourcepub const fn set_gpf(&mut self, value: bool) -> &mut Self
pub const fn set_gpf(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister48.
Sourcepub const fn set_fien(&mut self, value: bool) -> &mut Self
pub const fn set_fien(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister47.
Sourcepub const fn set_fwb(&mut self, value: bool) -> &mut Self
pub const fn set_fwb(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister46.
Sourcepub const fn set_nv2(&mut self, value: bool) -> &mut Self
pub const fn set_nv2(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister45.
Sourcepub const fn set_at(&mut self, value: bool) -> &mut Self
pub const fn set_at(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister44.
Sourcepub const fn set_nv1(&mut self, value: bool) -> &mut Self
pub const fn set_nv1(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister43.
Sourcepub const fn set_nv(&mut self, value: bool) -> &mut Self
pub const fn set_nv(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister42.
Sourcepub const fn set_api(&mut self, value: bool) -> &mut Self
pub const fn set_api(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister41.
Sourcepub const fn set_apk(&mut self, value: bool) -> &mut Self
pub const fn set_apk(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister40.
Sourcepub const fn set_tme(&mut self, value: bool) -> &mut Self
pub const fn set_tme(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister39.
Sourcepub const fn set_miocnce(&mut self, value: bool) -> &mut Self
pub const fn set_miocnce(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister38.
Sourcepub const fn set_tea(&mut self, value: bool) -> &mut Self
pub const fn set_tea(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister37.
Sourcepub const fn set_terr(&mut self, value: bool) -> &mut Self
pub const fn set_terr(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister36.
Sourcepub const fn set_tlor(&mut self, value: bool) -> &mut Self
pub const fn set_tlor(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister35.
Sourcepub const fn set_e2h(&mut self, value: bool) -> &mut Self
pub const fn set_e2h(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister34.
Sourcepub const fn set_id(&mut self, value: bool) -> &mut Self
pub const fn set_id(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister33.
Sourcepub const fn set_cd(&mut self, value: bool) -> &mut Self
pub const fn set_cd(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister32.
Sourcepub const fn set_rw(&mut self, value: bool) -> &mut Self
pub const fn set_rw(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister31.
Sourcepub const fn set_trvm(&mut self, value: bool) -> &mut Self
pub const fn set_trvm(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister30.
Sourcepub const fn set_hcd(&mut self, value: bool) -> &mut Self
pub const fn set_hcd(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister29.
Sourcepub const fn set_tdz(&mut self, value: bool) -> &mut Self
pub const fn set_tdz(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister28.
Sourcepub const fn set_tge(&mut self, value: bool) -> &mut Self
pub const fn set_tge(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister27.
Sourcepub const fn set_tvm(&mut self, value: bool) -> &mut Self
pub const fn set_tvm(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister26.
Sourcepub const fn set_ttlb(&mut self, value: bool) -> &mut Self
pub const fn set_ttlb(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister25.
Sourcepub const fn set_tpu(&mut self, value: bool) -> &mut Self
pub const fn set_tpu(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister24.
Sourcepub const fn set_tcpc(&mut self, value: bool) -> &mut Self
pub const fn set_tcpc(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister23.
Sourcepub const fn set_tsw(&mut self, value: bool) -> &mut Self
pub const fn set_tsw(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister22.
Sourcepub const fn set_tacr(&mut self, value: bool) -> &mut Self
pub const fn set_tacr(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister21.
Sourcepub const fn set_tidcp(&mut self, value: bool) -> &mut Self
pub const fn set_tidcp(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister20.
Sourcepub const fn set_tsc(&mut self, value: bool) -> &mut Self
pub const fn set_tsc(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister19.
Sourcepub const fn set_tid3(&mut self, value: bool) -> &mut Self
pub const fn set_tid3(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister18.
Sourcepub const fn set_tid2(&mut self, value: bool) -> &mut Self
pub const fn set_tid2(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister17.
Sourcepub const fn set_tid1(&mut self, value: bool) -> &mut Self
pub const fn set_tid1(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister16.
Sourcepub const fn set_tid0(&mut self, value: bool) -> &mut Self
pub const fn set_tid0(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister15.
Sourcepub const fn set_twe(&mut self, value: bool) -> &mut Self
pub const fn set_twe(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister14.
Sourcepub const fn set_twi(&mut self, value: bool) -> &mut Self
pub const fn set_twi(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister13.
Sourcepub const fn set_dc(&mut self, value: bool) -> &mut Self
pub const fn set_dc(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister12.
Sourcepub const fn set_bsu(&mut self, value: u8) -> &mut Self
pub const fn set_bsu(&mut self, value: u8) -> &mut Self
Sets the value of HypervisorConfigurationRegister[11:10].
Sourcepub const fn set_fb(&mut self, value: bool) -> &mut Self
pub const fn set_fb(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister9.
Sourcepub const fn set_vse(&mut self, value: bool) -> &mut Self
pub const fn set_vse(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister8.
Sourcepub const fn set_vi(&mut self, value: bool) -> &mut Self
pub const fn set_vi(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister7.
Sourcepub const fn set_vf(&mut self, value: bool) -> &mut Self
pub const fn set_vf(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister6.
Sourcepub const fn set_amo(&mut self, value: bool) -> &mut Self
pub const fn set_amo(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister5.
Sourcepub const fn set_imo(&mut self, value: bool) -> &mut Self
pub const fn set_imo(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister4.
Sourcepub const fn set_fmo(&mut self, value: bool) -> &mut Self
pub const fn set_fmo(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister3.
Sourcepub const fn set_ptw(&mut self, value: bool) -> &mut Self
pub const fn set_ptw(&mut self, value: bool) -> &mut Self
Sets the value of HypervisorConfigurationRegister2.
Trait Implementations§
Source§impl Binary for HypervisorConfigurationRegister
impl Binary for HypervisorConfigurationRegister
Source§impl Clone for HypervisorConfigurationRegister
impl Clone for HypervisorConfigurationRegister
Source§fn clone(&self) -> HypervisorConfigurationRegister
fn clone(&self) -> HypervisorConfigurationRegister
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for HypervisorConfigurationRegister
Source§impl Debug for HypervisorConfigurationRegister
impl Debug for HypervisorConfigurationRegister
Source§impl Default for HypervisorConfigurationRegister
impl Default for HypervisorConfigurationRegister
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 HypervisorConfigurationRegister
Source§impl From<HypervisorConfigurationRegister> for u64
impl From<HypervisorConfigurationRegister> for u64
Source§fn from(value: HypervisorConfigurationRegister) -> Self
fn from(value: HypervisorConfigurationRegister) -> Self
Source§impl From<u64> for HypervisorConfigurationRegister
impl From<u64> for HypervisorConfigurationRegister
Source§impl IntoIterator for HypervisorConfigurationRegister
impl IntoIterator for HypervisorConfigurationRegister
Source§impl<'a> IntoIterator for &'a HypervisorConfigurationRegister
impl<'a> IntoIterator for &'a HypervisorConfigurationRegister
Source§impl LowerHex for HypervisorConfigurationRegister
impl LowerHex for HypervisorConfigurationRegister
Source§impl Octal for HypervisorConfigurationRegister
impl Octal for HypervisorConfigurationRegister
Source§impl PartialEq for HypervisorConfigurationRegister
impl PartialEq for HypervisorConfigurationRegister
impl StructuralPartialEq for HypervisorConfigurationRegister
Auto Trait Implementations§
impl Freeze for HypervisorConfigurationRegister
impl RefUnwindSafe for HypervisorConfigurationRegister
impl Send for HypervisorConfigurationRegister
impl Sync for HypervisorConfigurationRegister
impl Unpin for HypervisorConfigurationRegister
impl UnsafeUnpin for HypervisorConfigurationRegister
impl UnwindSafe for HypervisorConfigurationRegister
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)