Intel
®
81341 and 81342—Interrupt Controller Unit
Intel
®
81341 and 81342 I/O Processors
Developer’s Manual
December 2007
754
Order Number: 315037-002US
11.5.4
High-Priority Interrupt (HPI#)
The
HPI#
pin generates an interrupt for implementation of critical interrupt routines.
11.5.5
Timer Interrupts
Each of the two timer units has an associated interrupt. Timer interrupts are connected
directly to the 81341 and 81342 interrupt controller and are posted in either the
IINTSRC[3:0] or FINTSRC[3:0] registers. These interrupts are set up through the timer
control registers described in
11.5.6
Inter-Processor Interrupts
The interrupt controller provides the ability to be interrupted by another core present in
the system, including self-interrupting. For example, each core can interrupt itself with
this mechanism. On the 81341 and 81342 each core provides a co-processor register
which software can use to initiate up to thirty-two independent interrupts to another
core. The co-processor register contains a 5-bit interrupt source number (ISN), and a
4-bit coreID (CID). For example, since a CID is provided, a core can use its own CID to
direct an interrupt to itself. The initiator core generates an interrupt to the targeted
core by simply writing this co-processor register, and no further action is needed by the
initiator core. To generate a new interrupt, the co-processor register has to be written
again. By writing the co-processor register, the ISN is transferred to the targeted core
interrupt controller. The receiving core’s interrupt controller decodes the ISN and post
an interrupt in the Inter-Processor Interrupt Pending Register (IPIPNDR). All the
pending interrupts in the IPIPNDR are consolidated into a single interrupt signal Inter-
Processor Interrupt Pending, and driven into the main ICU logic. Software has to clear
any pending interrupts by writing 1’s in the IPIPNDR.
11.5.7
Intel XScale
®
processor Interrupts
The Intel XScale
®
processor can generate two type of interrupts that are routed from the
core as outputs and into the 81341 and 81342 ICU. This mechanism allows these two core
interrupts to be handled like any other peripheral interrupts by the ICU. For example, these
interrupts can be masked when desired using the INTCTLx registers and steered to either
IRQ or FIQ using the INTSTRx registers. The Intel XScale
®
processor PMU interrupt is
generated when the Intel XScale
®
processor PMU detects an overflow of one of its
counters. The Intel XScale
®
processor Cache interrupt is generated when the Intel
XScale
®
processor
L2 cache detects a single bit ECC error. This interrupt can be used by software
wishing to scrub memory when a single-bit ECC error is detected. Refer to the
Intel XScale
®
processor
External Architecture Specification for more detailed descriptions on these interrupts.
11.5.8
Software Interrupts
The application program may use the
SWI
instruction to request interrupt service.