pub struct SystemControlRegisterEl3(/* private fields */);Expand description
The layout of SCTLR_EL3.
Implementations§
Source§impl SystemControlRegisterEl3
impl SystemControlRegisterEl3
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 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 TSCO_SHIFT: usize = 59
pub const TSCO_SHIFT: usize = 59
Bit shift (i.e., the low bit) of tsco.
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 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>; 26]
pub const FIELDS: [FieldMetadata<u64>; 26]
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_spintmask(&mut self, value: bool) -> &mut Self
pub const fn set_spintmask(&mut self, value: bool) -> &mut Self
Sets the value of SystemControlRegisterEl362.
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 SystemControlRegisterEl361.
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 SystemControlRegisterEl359.
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 SystemControlRegisterEl353.
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 SystemControlRegisterEl351.
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 SystemControlRegisterEl344.
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 SystemControlRegisterEl343.
Sourcepub fn tcf(&self) -> TagCheckFaultwhere
TagCheckFault: TryFromBytes,
pub fn tcf(&self) -> TagCheckFaultwhere
TagCheckFault: TryFromBytes,
The value of SystemControlRegisterEl3[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 SystemControlRegisterEl3[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 SystemControlRegisterEl337.
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 SystemControlRegisterEl336.
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 SystemControlRegisterEl331.
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 SystemControlRegisterEl330.
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 SystemControlRegisterEl327.
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 SystemControlRegisterEl325.
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 SystemControlRegisterEl322.
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 SystemControlRegisterEl321.
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 SystemControlRegisterEl319.
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 SystemControlRegisterEl314.
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 SystemControlRegisterEl313.
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 SystemControlRegisterEl312.
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 SystemControlRegisterEl311.
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 SystemControlRegisterEl36.
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 SystemControlRegisterEl33.
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 SystemControlRegisterEl32.
Trait Implementations§
Source§impl Binary for SystemControlRegisterEl3
impl Binary for SystemControlRegisterEl3
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
Source§impl Clone for SystemControlRegisterEl3
impl Clone for SystemControlRegisterEl3
Source§fn clone(&self) -> SystemControlRegisterEl3
fn clone(&self) -> SystemControlRegisterEl3
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for SystemControlRegisterEl3
Source§impl Debug for SystemControlRegisterEl3
impl Debug for SystemControlRegisterEl3
Source§impl Default for SystemControlRegisterEl3
impl Default for SystemControlRegisterEl3
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 SystemControlRegisterEl3
Source§impl From<SystemControlRegisterEl3> for u64
impl From<SystemControlRegisterEl3> for u64
Source§fn from(value: SystemControlRegisterEl3) -> Self
fn from(value: SystemControlRegisterEl3) -> Self
Source§impl From<u64> for SystemControlRegisterEl3
impl From<u64> for SystemControlRegisterEl3
Source§impl IntoIterator for SystemControlRegisterEl3
impl IntoIterator for SystemControlRegisterEl3
Source§impl<'a> IntoIterator for &'a SystemControlRegisterEl3
impl<'a> IntoIterator for &'a SystemControlRegisterEl3
Source§impl LowerHex for SystemControlRegisterEl3
impl LowerHex for SystemControlRegisterEl3
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
Source§impl Octal for SystemControlRegisterEl3
impl Octal for SystemControlRegisterEl3
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
TagCheckFault: Debug,
Source§impl PartialEq for SystemControlRegisterEl3
impl PartialEq for SystemControlRegisterEl3
impl StructuralPartialEq for SystemControlRegisterEl3
Source§impl UpperHex for SystemControlRegisterEl3
impl UpperHex for SystemControlRegisterEl3
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 SystemControlRegisterEl3
impl RefUnwindSafe for SystemControlRegisterEl3
impl Send for SystemControlRegisterEl3
impl Sync for SystemControlRegisterEl3
impl Unpin for SystemControlRegisterEl3
impl UnsafeUnpin for SystemControlRegisterEl3
impl UnwindSafe for SystemControlRegisterEl3
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)