Visible to Intel only — GUID: ibn1740973993105
Ixiasoft
Visible to Intel only — GUID: ibn1740973993105
Ixiasoft
4.3.11.1.1.3. CLIC Interrupt Pending (clicintip)
Each interrupt input has a dedicated interrupt pending bit clicintip[i], and clicintip[i] is unaffected by clicintie[i] setting. In CLIC, each interrupt is configurable as a level-sensitive interrupt or an edge-sensitive interrupt. Note that, the value in the clicintip[i] is undefined when switching from level-sensitive mode to edge-triggered mode in clicintattr[i].
- When clicintip[i]= 0, there is no pending interrupt with respect to interrupt i.
- When clicintip[i]= 1, there is a pending interrupt with respect to interrupt i, and the processor is expected to service the interrupt request.
Level-Sensitive Inputs
When the input is configured for level-sensitive input, the clicintip[i] bit reflects the value of an input signal to the interrupt controller after any conditional inversion (specified by the clicintattr[i] field), and software writes to the bit are ignored. Software clears the interrupt at the source device.
Edge-Sensitive Inputs
When the input is configured for edge-sensitive input, clicintip[i] is set by CLIC after an edge of the appropriate polarity is observed on the interrupt input. After the edge-sensitive interrupt is serviced, clearance of the clicintip[i] depends on the type of interrupt:
- When a software vectored interrupt is serviced, the CLIC does not automatically clear the associated interrupt pending bit. It is cleared only after the execution of the appropriate access to the mnxti CSR (a CSR instruction that includes a write).
- When a hardware vectored interrupt is serviced, the CLIC automatically clears the associated interrupt pending bit.
- Alternatively, software writes to clicintip[i] can set or clear edge-triggered pending bits directly.