Interrupt Processing Vectoring of Interrupt Handler
RTEMS Intel i960 Applications Supplement
4.2: Vectoring of Interrupt Handler
Upon receipt of an interrupt the i960CA
automatically performs the following actions:
saves the local register set,
sets the Frame Pointer (FP) to point to the interrupt
stack,
increments the FP by sixteen (16) to make room for the
Interrupt Record,
saves the current values of the arithmetic-controls (AC)
register, the process-controls (PC) register, and the interrupt
vector number are saved in the Interrupt Record,
the CPU sets the Instruction Pointer (IP) to the address
of the first instruction in the interrupt handler,
the return-status field of the Previous Frame Pointer
(PFP or R0) register is set to interrupt return,
sets the PC state bit to interrupted,
sets the current interrupt disable level in the PC to
the level of the current interrupt, and
disables tracing.
A nested interrupt is processed similarly by the
i960CA with the exception that the Frame Pointer (FP) already
points to the interrupt stack. This means that the FP is NOT
overwritten before space for the Interrupt Record is allocated.
The state flag bit of the saved PC register in the
Interrupt Record is examined by RTEMS to determine when an outer
most interrupt is being exited. Therefore, the user application
code MUST NOT modify this bit.