pub struct FailControlRegister(/* private fields */);Expand description
Each filter unit has a fail control register which contains the control status information of
the first access that failed a region permission check in the associated filter unit. This
occurs even if the ActionRegister is set to not drive the interrupt
signal.
The first failing access is defined as the first permission failure in the associated filter unit after one of the following occurs:
- Reset.
- The last clearance of an interrupt using the
InterruptClearRegister.
Implementations§
Source§impl FailControlRegister
impl FailControlRegister
Sourcepub const fn direction(&self) -> FailAccessDirection
pub const fn direction(&self) -> FailAccessDirection
If a region permission check fails or a region overlap occurs, this field indicates whether the failed access was a read or write access attempt.
You must clear the associated interrupt status before this field can return the direction of accesses of subsequent permission checks or region overlap failures.
If the status flag for the filter unit in the
InterruptStatusRegister is already set, new region
permission check failures in the same filter unit do not update the associated fail status
group of registers.
Sourcepub const fn non_secure(&self) -> bool
pub const fn non_secure(&self) -> bool
If a region permission check fails or a region overlap occurs, this field indicates whether
it was a Secure (false) or Non-secure (true) access attempt.
You must clear the associated interrupt status before this field can return the direction of accesses of subsequent permission checks or region overlap failures.
If the status flag for the filter unit in the
InterruptStatusRegister is already set, new region
permission check failures in the same filter unit do not update the associated fail status
group of registers.
Sourcepub const fn privileged(&self) -> bool
pub const fn privileged(&self) -> bool
If a region permission check fails or a region overlap occurs, this field indicates whether
it was a privileged (true) or unprivileged (false) access attempt.
You must clear the associated interrupt status before this field can return the direction of accesses of subsequent permission checks or region overlap failures.
If the status flag for the filter unit in the
InterruptStatusRegister is already set, new region
permission check failures in the same filter unit do not update the associated fail status
group of registers.
Trait Implementations§
Source§impl Clone for FailControlRegister
impl Clone for FailControlRegister
impl Copy for FailControlRegister
Source§impl Debug for FailControlRegister
impl Debug for FailControlRegister
impl Eq for FailControlRegister
Source§impl FromBytes for FailControlRegister
impl FromBytes for FailControlRegister
Source§fn ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, !>>where
Self: KnownLayout + Immutable,
fn ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, !>>where
Self: KnownLayout + Immutable,
Source§fn ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, !>>where
Self: KnownLayout + Immutable,
fn ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, !>>where
Self: KnownLayout + Immutable,
Source§fn ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, !>>where
Self: Immutable + KnownLayout,
fn ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, !>>where
Self: Immutable + KnownLayout,
&Self. Read moreSource§fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, !>>where
Self: IntoBytes + KnownLayout,
fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, !>>where
Self: IntoBytes + KnownLayout,
Source§fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, !>>where
Self: IntoBytes + KnownLayout,
fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, !>>where
Self: IntoBytes + KnownLayout,
Source§fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, !>>where
Self: IntoBytes + KnownLayout,
fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, !>>where
Self: IntoBytes + KnownLayout,
Source§impl FromZeros for FailControlRegister
impl FromZeros for FailControlRegister
impl Immutable for FailControlRegister
Source§impl IntoBytes for FailControlRegister
impl IntoBytes for FailControlRegister
Source§fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
Source§fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
Source§impl KnownLayout for FailControlRegisterwhere
Self: Sized,
impl KnownLayout for FailControlRegisterwhere
Self: Sized,
Source§type PointerMetadata = ()
type PointerMetadata = ()
Self. Read moreSource§fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
Self with the given pointer
metadata. Read more