pub struct InterruptStatusRegister(/* private fields */);Expand description
Contains the status of the interrupt signal, TZCINT, that reports access security violations or region overlap errors.
Implementations§
Source§impl InterruptStatusRegister
impl InterruptStatusRegister
Sourcepub const fn overlap(&self, index: usize) -> bool
pub const fn overlap(&self, index: usize) -> bool
When a bit is set to 1 it indicates a violation of the overlap region configuration rules for the associated filter unit. This occurs when an access matches with two enabled regions at the same time unless the overlap is only with Region 0.
This bit is set even if the ActionRegister is set to not drive the interrupt.
When this bit is true, the interrupt status bit is also set to true.
Clear the interrupt status of the associated bit in the InterruptClearRegister to also
clear this field.
Sourcepub const fn overrun(&self, index: usize) -> bool
pub const fn overrun(&self, index: usize) -> bool
When a bit is set to true, it indicates the occurrence of two or more region permission or
region overlapping failures at the associated filter unit after the interrupt was cleared by
the associated bit in the InterruptClearRegister.
This bit is set even if the ActionRegister is set to not drive the interrupt.
Clear the interrupt status of the associated bit in the InterruptClearRegister to also
clear this field.
Sourcepub const fn status(&self, index: usize) -> bool
pub const fn status(&self, index: usize) -> bool
This field indicates the status of the interrupt from the corresponding filter unit as follows:
false: Interrupt is not asserted.true: Interrupt is asserted and waiting to be cleared.
This bit is set even if the ActionRegister is set to not drive the interrupt output
TZCINT HIGH.
Therefore, the status acts as an indicator that a region permission check failure or an overlap error has occurred at a particular filter unit.
Trait Implementations§
Source§impl Clone for InterruptStatusRegister
impl Clone for InterruptStatusRegister
impl Copy for InterruptStatusRegister
Source§impl Debug for InterruptStatusRegister
impl Debug for InterruptStatusRegister
impl Eq for InterruptStatusRegister
Source§impl FromBytes for InterruptStatusRegister
impl FromBytes for InterruptStatusRegister
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 InterruptStatusRegister
impl FromZeros for InterruptStatusRegister
impl Immutable for InterruptStatusRegister
Source§impl IntoBytes for InterruptStatusRegister
impl IntoBytes for InterruptStatusRegister
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 InterruptStatusRegisterwhere
Self: Sized,
impl KnownLayout for InterruptStatusRegisterwhere
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