Visible to Intel only — GUID: azl1733389668669
Ixiasoft
Visible to Intel only — GUID: azl1733389668669
Ixiasoft
9.2.2.2.2. Interrupt Service Routine
Upon an interrupt, the CLINT-Vectored passes control to the ISR according to the interrupt vector (in vector table). The interrupt vector is calculated from the addition of the vector table base address with four times the interrupt cause number.
The interrupt performs the following tasks:
- Stores register values onto the stack
- Stores all register values if the shadow register is turned off
- Stores the lower 16 general-purpose registers only if the shadow register is enabled. (This is not implemented in Altera HAL firmware.)
- Execute the servicing tasks related to the interrupt
Once the ISR completes, it performs the following tasks:
- Restores the registers from the stack
- Restores all the registers if shadow register is disabled
- Restores the lower 16 general-purpose registers only if shadow register is enabled. (This is not implemented in Altera HAL firmware.)
- Exits by issuing an MRET (trap return in machine mode) instruction
For more information about registering an ISR, refer to the topic Interrupt Service Routines and Exception Handler.