pub struct SystemControlRegisterEl2(/* private fields */);Expand description
The layout of SCTLR_EL2.
Implementations§
Source§impl SystemControlRegisterEl2
impl SystemControlRegisterEl2
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 TIDCP_MASK: u64
pub const TIDCP_MASK: u64
Unshifted bitmask of tidcp.
Sourcepub const TIDCP_SHIFT: usize = 63
pub const TIDCP_SHIFT: usize = 63
Bit shift (i.e., the low bit) of tidcp.
Sourcepub const SPINTMASK_MASK: u64
pub const SPINTMASK_MASK: u64
Unshifted bitmask of spintmask.
Sourcepub const SPINTMASK_SHIFT: usize = 62
pub const SPINTMASK_SHIFT: usize = 62
Bit shift (i.e., the low bit) of spintmask.
Sourcepub const ENTP2_MASK: u64
pub const ENTP2_MASK: u64
Unshifted bitmask of entp2.
Sourcepub const ENTP2_SHIFT: usize = 60
pub const ENTP2_SHIFT: usize = 60
Bit shift (i.e., the low bit) of entp2.
Sourcepub const TSCO_SHIFT: usize = 59
pub const TSCO_SHIFT: usize = 59
Bit shift (i.e., the low bit) of tsco.
Sourcepub const TSCO0_MASK: u64
pub const TSCO0_MASK: u64
Unshifted bitmask of tsco0.
Sourcepub const TSCO0_SHIFT: usize = 58
pub const TSCO0_SHIFT: usize = 58
Bit shift (i.e., the low bit) of tsco0.
Sourcepub const EPAN_SHIFT: usize = 57
pub const EPAN_SHIFT: usize = 57
Bit shift (i.e., the low bit) of epan.
Sourcepub const ENALS_MASK: u64
pub const ENALS_MASK: u64
Unshifted bitmask of enals.
Sourcepub const ENALS_SHIFT: usize = 56
pub const ENALS_SHIFT: usize = 56
Bit shift (i.e., the low bit) of enals.
Sourcepub const ENAS0_MASK: u64
pub const ENAS0_MASK: u64
Unshifted bitmask of enas0.
Sourcepub const ENAS0_SHIFT: usize = 55
pub const ENAS0_SHIFT: usize = 55
Bit shift (i.e., the low bit) of enas0.
Sourcepub const ENASR_MASK: u64
pub const ENASR_MASK: u64
Unshifted bitmask of enasr.
Sourcepub const ENASR_SHIFT: usize = 54
pub const ENASR_SHIFT: usize = 54
Bit shift (i.e., the low bit) of enasr.
Sourcepub const TME0_SHIFT: usize = 52
pub const TME0_SHIFT: usize = 52
Bit shift (i.e., the low bit) of tme0.
Sourcepub const TMT0_SHIFT: usize = 50
pub const TMT0_SHIFT: usize = 50
Bit shift (i.e., the low bit) of tmt0.
Sourcepub const DSBSS_MASK: u64
pub const DSBSS_MASK: u64
Unshifted bitmask of dsbss.
Sourcepub const DSBSS_SHIFT: usize = 44
pub const DSBSS_SHIFT: usize = 44
Bit shift (i.e., the low bit) of dsbss.
Sourcepub const ITFSB_MASK: u64
pub const ITFSB_MASK: u64
Unshifted bitmask of itfsb.
Sourcepub const ITFSB_SHIFT: usize = 37
pub const ITFSB_SHIFT: usize = 37
Bit shift (i.e., the low bit) of itfsb.
Sourcepub const MSCEN_MASK: u64
pub const MSCEN_MASK: u64
Unshifted bitmask of mscen.
Sourcepub const MSCEN_SHIFT: usize = 33
pub const MSCEN_SHIFT: usize = 33
Bit shift (i.e., the low bit) of mscen.
Sourcepub const CMOW_SHIFT: usize = 32
pub const CMOW_SHIFT: usize = 32
Bit shift (i.e., the low bit) of cmow.
Sourcepub const ENIA_SHIFT: usize = 31
pub const ENIA_SHIFT: usize = 31
Bit shift (i.e., the low bit) of enia.
Sourcepub const ENIB_SHIFT: usize = 30
pub const ENIB_SHIFT: usize = 30
Bit shift (i.e., the low bit) of enib.
Sourcepub const ENDA_SHIFT: usize = 27
pub const ENDA_SHIFT: usize = 27
Bit shift (i.e., the low bit) of enda.
Sourcepub const IESB_SHIFT: usize = 21
pub const IESB_SHIFT: usize = 21
Bit shift (i.e., the low bit) of iesb.
Sourcepub const ENDB_SHIFT: usize = 13
pub const ENDB_SHIFT: usize = 13
Bit shift (i.e., the low bit) of endb.
Sourcepub const FIELDS: [FieldMetadata<u64>; 37]
pub const FIELDS: [FieldMetadata<u64>; 37]
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_tidcp(&mut self, value: bool) -> &mut Self
pub const fn set_tidcp(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl263.
Sourcepub const fn set_spintmask(&mut self, value: bool) -> &mut Self
pub const fn set_spintmask(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl262.
Sourcepub const fn set_nmi(&mut self, value: bool) -> &mut Self
pub const fn set_nmi(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl261.
Sourcepub const fn set_entp2(&mut self, value: bool) -> &mut Self
pub const fn set_entp2(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl260.
Sourcepub const fn set_tsco(&mut self, value: bool) -> &mut Self
pub const fn set_tsco(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl259.
Sourcepub const fn set_tsco0(&mut self, value: bool) -> &mut Self
pub const fn set_tsco0(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl258.
Sourcepub const fn set_epan(&mut self, value: bool) -> &mut Self
pub const fn set_epan(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl257.
Sourcepub const fn set_enals(&mut self, value: bool) -> &mut Self
pub const fn set_enals(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl256.
Sourcepub const fn set_enas0(&mut self, value: bool) -> &mut Self
pub const fn set_enas0(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl255.
Sourcepub const fn set_enasr(&mut self, value: bool) -> &mut Self
pub const fn set_enasr(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl254.
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 SystemControlRegisterEl253.
Sourcepub const fn set_tme0(&mut self, value: bool) -> &mut Self
pub const fn set_tme0(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl252.
Sourcepub const fn set_tmt(&mut self, value: bool) -> &mut Self
pub const fn set_tmt(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl251.
Sourcepub const fn set_tmt0(&mut self, value: bool) -> &mut Self
pub const fn set_tmt0(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl250.
Sourcepub const fn set_dsbss(&mut self, value: bool) -> &mut Self
pub const fn set_dsbss(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl244.
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 SystemControlRegisterEl243.
Sourcepub fn tcf(&self) -> TagCheckFaultwhere
TagCheckFault: TryFromBytes,
pub fn tcf(&self) -> TagCheckFaultwhere
TagCheckFault: TryFromBytes,
The value of SystemControlRegisterEl2[41:40].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_tcf to recover from invalid bit patterns.
Sourcepub fn try_tcf(&self) -> Result<TagCheckFault, InvalidBits<u8>>where
TagCheckFault: TryFromBytes,
pub fn try_tcf(&self) -> Result<TagCheckFault, InvalidBits<u8>>where
TagCheckFault: TryFromBytes,
Fallible variant of Self::tcf.
Sourcepub fn set_tcf(&mut self, value: TagCheckFault) -> &mut Self
pub fn set_tcf(&mut self, value: TagCheckFault) -> &mut Self
Sets the value of SystemControlRegisterEl2[41:40].
Sourcepub const fn set_itfsb(&mut self, value: bool) -> &mut Self
pub const fn set_itfsb(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl237.
Sourcepub const fn set_bt(&mut self, value: bool) -> &mut Self
pub const fn set_bt(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl236.
Sourcepub const fn set_mscen(&mut self, value: bool) -> &mut Self
pub const fn set_mscen(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl233.
Sourcepub const fn set_cmow(&mut self, value: bool) -> &mut Self
pub const fn set_cmow(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl232.
Sourcepub const fn set_enia(&mut self, value: bool) -> &mut Self
pub const fn set_enia(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl231.
Sourcepub const fn set_enib(&mut self, value: bool) -> &mut Self
pub const fn set_enib(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl230.
Sourcepub const fn set_enda(&mut self, value: bool) -> &mut Self
pub const fn set_enda(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl227.
Sourcepub const fn set_ee(&mut self, value: bool) -> &mut Self
pub const fn set_ee(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl225.
Sourcepub const fn set_eis(&mut self, value: bool) -> &mut Self
pub const fn set_eis(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl222.
Sourcepub const fn set_iesb(&mut self, value: bool) -> &mut Self
pub const fn set_iesb(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl221.
Sourcepub const fn set_wxn(&mut self, value: bool) -> &mut Self
pub const fn set_wxn(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl219.
Sourcepub const fn set_dze(&mut self, value: bool) -> &mut Self
pub const fn set_dze(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl214.
Sourcepub const fn set_endb(&mut self, value: bool) -> &mut Self
pub const fn set_endb(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl213.
Sourcepub const fn set_i(&mut self, value: bool) -> &mut Self
pub const fn set_i(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl212.
Sourcepub const fn set_eos(&mut self, value: bool) -> &mut Self
pub const fn set_eos(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl211.
Sourcepub const fn set_naa(&mut self, value: bool) -> &mut Self
pub const fn set_naa(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl26.
Sourcepub const fn set_sa(&mut self, value: bool) -> &mut Self
pub const fn set_sa(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl23.
Sourcepub const fn set_c(&mut self, value: bool) -> &mut Self
pub const fn set_c(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl22.
Trait Implementations§
Source§impl Binary for SystemControlRegisterEl2
impl Binary for SystemControlRegisterEl2
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
Source§impl Clone for SystemControlRegisterEl2
impl Clone for SystemControlRegisterEl2
Source§fn clone(&self) -> SystemControlRegisterEl2
fn clone(&self) -> SystemControlRegisterEl2
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for SystemControlRegisterEl2
Source§impl Debug for SystemControlRegisterEl2
impl Debug for SystemControlRegisterEl2
Source§impl Default for SystemControlRegisterEl2
impl Default for SystemControlRegisterEl2
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 SystemControlRegisterEl2
Source§impl From<SystemControlRegisterEl2> for u64
impl From<SystemControlRegisterEl2> for u64
Source§fn from(value: SystemControlRegisterEl2) -> Self
fn from(value: SystemControlRegisterEl2) -> Self
Source§impl From<u64> for SystemControlRegisterEl2
impl From<u64> for SystemControlRegisterEl2
Source§impl IntoIterator for SystemControlRegisterEl2
impl IntoIterator for SystemControlRegisterEl2
Source§impl<'a> IntoIterator for &'a SystemControlRegisterEl2
impl<'a> IntoIterator for &'a SystemControlRegisterEl2
Source§impl LowerHex for SystemControlRegisterEl2
impl LowerHex for SystemControlRegisterEl2
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
Source§impl Octal for SystemControlRegisterEl2
impl Octal for SystemControlRegisterEl2
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
Source§impl PartialEq for SystemControlRegisterEl2
impl PartialEq for SystemControlRegisterEl2
impl StructuralPartialEq for SystemControlRegisterEl2
Source§impl UpperHex for SystemControlRegisterEl2
impl UpperHex for SystemControlRegisterEl2
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
Auto Trait Implementations§
impl Freeze for SystemControlRegisterEl2
impl RefUnwindSafe for SystemControlRegisterEl2
impl Send for SystemControlRegisterEl2
impl Sync for SystemControlRegisterEl2
impl Unpin for SystemControlRegisterEl2
impl UnsafeUnpin for SystemControlRegisterEl2
impl UnwindSafe for SystemControlRegisterEl2
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)