pub struct SctlrEl1(/* private fields */);Expand description
SCTLR_EL1 system register value.
Implementations§
Source§impl SctlrEl1
impl SctlrEl1
Sourcepub const fn bits(&self) -> u64
pub const fn bits(&self) -> u64
Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
Sourcepub const fn from_bits(bits: u64) -> Option<Self>
pub const fn from_bits(bits: u64) -> Option<Self>
Convert from a bits value.
This method will return None if any unknown bits are set.
Sourcepub const fn from_bits_truncate(bits: u64) -> Self
pub const fn from_bits_truncate(bits: u64) -> Self
Convert from a bits value, unsetting any unknown bits.
Sourcepub const fn from_bits_retain(bits: u64) -> Self
pub const fn from_bits_retain(bits: u64) -> Self
Convert from a bits value exactly.
Sourcepub fn from_name(name: &str) -> Option<Self>
pub fn from_name(name: &str) -> Option<Self>
Get a flags value with the bits of a flag with the given name set.
This method will return None if name is empty or doesn’t
correspond to any named flag.
Sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Whether any set bits in a source flags value are also set in a target flags value.
Sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Whether all set bits in a source flags value are also set in a target flags value.
Sourcepub fn remove(&mut self, other: Self)
pub fn remove(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
remove won’t truncate other, but the ! operator will.
Sourcepub fn toggle(&mut self, other: Self)
pub fn toggle(&mut self, other: Self)
The bitwise exclusive-or (^) of the bits in two flags values.
Sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Call insert when value is true or remove when value is false.
Sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
The bitwise and (&) of the bits in two flags values.
Sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
The bitwise or (|) of the bits in two flags values.
Sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
Sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
The bitwise exclusive-or (^) of the bits in two flags values.
Sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
The bitwise negation (!) of the bits in a flags value, truncating the result.
Source§impl SctlrEl1
impl SctlrEl1
Sourcepub const fn iter(&self) -> Iter<SctlrEl1>
pub const fn iter(&self) -> Iter<SctlrEl1>
Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
Sourcepub const fn iter_names(&self) -> IterNames<SctlrEl1>
pub const fn iter_names(&self) -> IterNames<SctlrEl1>
Yield a set of contained named flags values.
This method is like iter, except only yields bits in contained named flags.
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
Source§impl SctlrEl1
impl SctlrEl1
Sourcepub const CP15BEN_SHIFT: u32 = 5
Available on crate feature el1 only.
pub const CP15BEN_SHIFT: u32 = 5
el1 only.Offset of the CP15BEN field.
Sourcepub const ENRCTX_SHIFT: u32 = 10
Available on crate feature el1 only.
pub const ENRCTX_SHIFT: u32 = 10
el1 only.Offset of the EnRCTX field.
Sourcepub const ENDB_SHIFT: u32 = 13
Available on crate feature el1 only.
pub const ENDB_SHIFT: u32 = 13
el1 only.Offset of the EnDB field.
Sourcepub const NTWI_SHIFT: u32 = 16
Available on crate feature el1 only.
pub const NTWI_SHIFT: u32 = 16
el1 only.Offset of the nTWI field.
Sourcepub const NTWE_SHIFT: u32 = 18
Available on crate feature el1 only.
pub const NTWE_SHIFT: u32 = 18
el1 only.Offset of the nTWE field.
Sourcepub const TSCXT_SHIFT: u32 = 20
Available on crate feature el1 only.
pub const TSCXT_SHIFT: u32 = 20
el1 only.Offset of the TSCXT field.
Sourcepub const IESB_SHIFT: u32 = 21
Available on crate feature el1 only.
pub const IESB_SHIFT: u32 = 21
el1 only.Offset of the IESB field.
Sourcepub const SPAN_SHIFT: u32 = 23
Available on crate feature el1 only.
pub const SPAN_SHIFT: u32 = 23
el1 only.Offset of the SPAN field.
Sourcepub const ENDA_SHIFT: u32 = 27
Available on crate feature el1 only.
pub const ENDA_SHIFT: u32 = 27
el1 only.Offset of the EnDA field.
Sourcepub const NTLSMD_SHIFT: u32 = 28
Available on crate feature el1 only.
pub const NTLSMD_SHIFT: u32 = 28
el1 only.Offset of the nTLSMD field.
Sourcepub const LSMAOE_SHIFT: u32 = 29
Available on crate feature el1 only.
pub const LSMAOE_SHIFT: u32 = 29
el1 only.Offset of the LSMAOE field.
Sourcepub const ENIB_SHIFT: u32 = 30
Available on crate feature el1 only.
pub const ENIB_SHIFT: u32 = 30
el1 only.Offset of the EnIB field.
Sourcepub const ENIA_SHIFT: u32 = 31
Available on crate feature el1 only.
pub const ENIA_SHIFT: u32 = 31
el1 only.Offset of the EnIA field.
Sourcepub const CMOW_SHIFT: u32 = 32
Available on crate feature el1 only.
pub const CMOW_SHIFT: u32 = 32
el1 only.Offset of the CMOW field.
Sourcepub const MSCEN_SHIFT: u32 = 33
Available on crate feature el1 only.
pub const MSCEN_SHIFT: u32 = 33
el1 only.Offset of the MSCEn field.
Sourcepub const ENFPM_SHIFT: u32 = 34
Available on crate feature el1 only.
pub const ENFPM_SHIFT: u32 = 34
el1 only.Offset of the EnFPM field.
Sourcepub const ITFSB_SHIFT: u32 = 37
Available on crate feature el1 only.
pub const ITFSB_SHIFT: u32 = 37
el1 only.Offset of the ITFSB field.
Sourcepub const TCF0_SHIFT: u32 = 38
Available on crate feature el1 only.
pub const TCF0_SHIFT: u32 = 38
el1 only.Offset of the TCF0 field.
Sourcepub const ATA0_SHIFT: u32 = 42
Available on crate feature el1 only.
pub const ATA0_SHIFT: u32 = 42
el1 only.Offset of the ATA0 field.
Sourcepub const DSSBS_SHIFT: u32 = 44
Available on crate feature el1 only.
pub const DSSBS_SHIFT: u32 = 44
el1 only.Offset of the DSSBS field.
Sourcepub const TWEDEN_SHIFT: u32 = 45
Available on crate feature el1 only.
pub const TWEDEN_SHIFT: u32 = 45
el1 only.Offset of the TWEDEn field.
Sourcepub const TWEDEL_SHIFT: u32 = 46
Available on crate feature el1 only.
pub const TWEDEL_SHIFT: u32 = 46
el1 only.Offset of the TWEDEL field.
Sourcepub const TWEDEL_MASK: u64 = 0b1111
Available on crate feature el1 only.
pub const TWEDEL_MASK: u64 = 0b1111
el1 only.Mask for the TWEDEL field.
Sourcepub const ENASR_SHIFT: u32 = 54
Available on crate feature el1 only.
pub const ENASR_SHIFT: u32 = 54
el1 only.Offset of the EnASR field.
Sourcepub const ENAS0_SHIFT: u32 = 55
Available on crate feature el1 only.
pub const ENAS0_SHIFT: u32 = 55
el1 only.Offset of the EnAS0 field.
Sourcepub const ENALS_SHIFT: u32 = 56
Available on crate feature el1 only.
pub const ENALS_SHIFT: u32 = 56
el1 only.Offset of the EnALS field.
Sourcepub const EPAN_SHIFT: u32 = 57
Available on crate feature el1 only.
pub const EPAN_SHIFT: u32 = 57
el1 only.Offset of the EPAN field.
Sourcepub const TCSO0_SHIFT: u32 = 58
Available on crate feature el1 only.
pub const TCSO0_SHIFT: u32 = 58
el1 only.Offset of the TCSO0 field.
Sourcepub const TCSO_SHIFT: u32 = 59
Available on crate feature el1 only.
pub const TCSO_SHIFT: u32 = 59
el1 only.Offset of the TCSO field.
Sourcepub const ENTP2_SHIFT: u32 = 60
Available on crate feature el1 only.
pub const ENTP2_SHIFT: u32 = 60
el1 only.Offset of the EnTP2 field.
Sourcepub const SPINTMASK_SHIFT: u32 = 62
Available on crate feature el1 only.
pub const SPINTMASK_SHIFT: u32 = 62
el1 only.Offset of the SPINTMASK field.
Sourcepub const TIDCP_SHIFT: u32 = 63
Available on crate feature el1 only.
pub const TIDCP_SHIFT: u32 = 63
el1 only.Offset of the TIDCP field.
Sourcepub const fn tcf0(self) -> u8
Available on crate feature el1 only.
pub const fn tcf0(self) -> u8
el1 only.Returns the value of the TCF0 field.
Trait Implementations§
Source§impl BitAndAssign for SctlrEl1
impl BitAndAssign for SctlrEl1
Source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
The bitwise and (&) of the bits in two flags values.
Source§impl BitOrAssign for SctlrEl1
impl BitOrAssign for SctlrEl1
Source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
The bitwise or (|) of the bits in two flags values.
Source§impl BitXorAssign for SctlrEl1
impl BitXorAssign for SctlrEl1
Source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
The bitwise exclusive-or (^) of the bits in two flags values.
Source§impl Extend<SctlrEl1> for SctlrEl1
impl Extend<SctlrEl1> for SctlrEl1
Source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
The bitwise or (|) of the bits in each flags value.
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)Source§impl Flags for SctlrEl1
impl Flags for SctlrEl1
Source§fn from_bits_retain(bits: u64) -> SctlrEl1
fn from_bits_retain(bits: u64) -> SctlrEl1
Source§fn contains_unknown_bits(&self) -> bool
fn contains_unknown_bits(&self) -> bool
true if any unknown bits are set.Source§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
Source§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<Self>
Source§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
Source§fn iter_defined_names() -> IterDefinedNames<Self>
fn iter_defined_names() -> IterDefinedNames<Self>
Self::FLAGS.Source§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
Source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
Source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|) of the bits in two flags values.Source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
&!). Read moreSource§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^) of the bits in two flags values.Source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&) of the bits in two flags values.Source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
&!). Read moreSource§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^) of the bits in two flags values.Source§fn complement(self) -> Self
fn complement(self) -> Self
!) of the bits in a flags value, truncating the result.Source§impl FromIterator<SctlrEl1> for SctlrEl1
impl FromIterator<SctlrEl1> for SctlrEl1
Source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
The bitwise or (|) of the bits in each flags value.
Source§impl IntoIterator for SctlrEl1
impl IntoIterator for SctlrEl1
Source§impl Sub for SctlrEl1
impl Sub for SctlrEl1
Source§impl SubAssign for SctlrEl1
impl SubAssign for SctlrEl1
Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.