pub struct IntId(/* private fields */);Expand description
An interrupt ID.
Implementations§
Source§impl IntId
impl IntId
Sourcepub const SPECIAL_SECURE: Self
pub const SPECIAL_SECURE: Self
Special interrupt ID returned when running at EL3 and the interrupt should be handled at S-EL2 or S-EL1.
Sourcepub const SPECIAL_NONSECURE: Self
pub const SPECIAL_NONSECURE: Self
Special interrupt ID returned when running at EL3 and the interrupt should be handled at (non-secure) EL2 or EL1.
Sourcepub const SPECIAL_NMI: Self
pub const SPECIAL_NMI: Self
Special interrupt ID returned when the interrupt is a non-maskable interrupt.
Sourcepub const SPECIAL_NONE: Self
pub const SPECIAL_NONE: Self
Special interrupt ID returned when there is no pending interrupt of sufficient priority for the current security state and interrupt group.
Sourcepub const MAX_SPI_COUNT: u32 = 988u32
pub const MAX_SPI_COUNT: u32 = 988u32
The maximum number of SPIs which may be supported.
Sourcepub const MAX_EPPI_COUNT: u32 = 64u32
pub const MAX_EPPI_COUNT: u32 = 64u32
The maximum number of extended Private Peripheral Interrupts which may be supported.
Sourcepub const MAX_ESPI_COUNT: u32 = 1_024u32
pub const MAX_ESPI_COUNT: u32 = 1_024u32
The maximum number of extended Shared Peripheral Interrupts which may be supported.
Sourcepub const fn sgi(sgi: u32) -> Self
pub const fn sgi(sgi: u32) -> Self
Returns the interrupt ID for the given Software Generated Interrupt.
Sourcepub const fn ppi(ppi: u32) -> Self
pub const fn ppi(ppi: u32) -> Self
Returns the interrupt ID for the given Private Peripheral Interrupt.
Sourcepub const fn spi(spi: u32) -> Self
pub const fn spi(spi: u32) -> Self
Returns the interrupt ID for the given Shared Peripheral Interrupt.
Sourcepub const fn eppi(eppi: u32) -> Self
pub const fn eppi(eppi: u32) -> Self
Returns the interrupt ID for the given extended Private Peripheral Interrupt.
Sourcepub const fn espi(espi: u32) -> Self
pub const fn espi(espi: u32) -> Self
Returns the interrupt ID for the given extended Shared Peripheral Interrupt.
Sourcepub const fn lpi(lpi: u32) -> Self
pub const fn lpi(lpi: u32) -> Self
Returns the interrupt ID for the given Locality-specific Peripheral Interrupt.
Sourcepub const fn is_sgi(self) -> bool
pub const fn is_sgi(self) -> bool
Returns whether this interrupt ID is for a Software Generated Interrupt.
Sourcepub const fn is_ppi(self) -> bool
pub const fn is_ppi(self) -> bool
Returns whether this interrupt ID is for a Private Peripheral Interrupt.
Sourcepub const fn is_eppi(self) -> bool
pub const fn is_eppi(self) -> bool
Returns whether this interrupt ID is for an Extended Private Peripheral Interrupt.
Sourcepub const fn is_spi(self) -> bool
pub const fn is_spi(self) -> bool
Returns whether this interrupt ID is for a Shared Peripheral Interrupt.
Sourcepub const fn is_espi(self) -> bool
pub const fn is_espi(self) -> bool
Returns whether this interrupt ID is for an Extended Shared Peripheral Interrupt.
Sourcepub const fn is_private(self) -> bool
pub const fn is_private(self) -> bool
Returns whether this interrupt ID is private to a core, i.e. it is an SGI, PPI or EPPI.
Sourcepub const fn sgi_index(self) -> Option<u32>
pub const fn sgi_index(self) -> Option<u32>
Returns SGI index or None if it is not an SGI interrupt ID.
Sourcepub const fn private_index(self) -> Option<usize>
pub const fn private_index(self) -> Option<usize>
Maps SGI, PPI and EPPI interrupt IDs into a continuous index range starting from 0, making it ideal for indexing redistributor registers.
Sourcepub const fn espi_index(self) -> Option<usize>
pub const fn espi_index(self) -> Option<usize>
Returns ESPI index or None if it is not an ESPI interrupt ID.