User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 235
UG585 (v1.11) September 27, 2016
Chapter 7: Interrupts
7.4.3 ARM Programming Topics
The ARM GIC architecture specification includes these programming topics:
GIC register access
•Distributor and CPU Interfaces
Affects of the GIC security extensions
PU Interface registers
Preserving and restoring controller state
7.4.4 Legacy Interrupts and Security Extensions
When the legacy interrupts (IRQ, FIQ) are used, and an interrupt handler accesses both IRQs and FIQs
in secure mode (via ICCICR[AckCtl]=1), race conditions occasionally occur when reading the
interrupt IDs. There is also a risk of seeing FIQ IDs in the IRQ handler, as the GIC only knows what
security state the handler is reading from, not which type of handler.
There are two workable solutions:
Only signal IRQs to a re-entrant IRQ handler and use the preemption feature in the GIC.
Use FIQ and IRQ with ICCICR[AckCtl]=0 and use the TLB tables to handle IRQ in non-secure
mode, and handle FIQ in secure mode.