Interrupt Controller (INTC)
MPC5566 Microcontroller Reference Manual, Rev. 2
Freescale Semiconductor 10-41
When you are finished examining the LIFO contents, you can restore it in software vector mode using the
following code sequence. In hardware vector mode, reading the INTC_IACKR does not push the
INTC_CPR[PRI] onto the LIFO, therefore the LIFO contents cannot be restored in hardware vector mode.
push_lifo:
load stacked PRI value and store to INTC_CPR
load INTC_IACKR
if stacked PRI values are not depleted, branch to push_lifo
NOTE
Reading the INTC_IACKR acknowledges the interrupt request to the
processor and updates the INTC_CPR[PRI] with the priority of the
preempting interrupt request. If the processor recognition of interrupts is
disabled during the LIFO restoration, interrupt requests to the processor can
go undetected. However, since the peripheral or software settable interrupt
requests are not cleared, the peripheral interrupt request to the processor
re-asserts when INTC_CPR[PRI] is lower than the priorities of those
peripheral or software settable interrupt requests.