Visible to Intel only — GUID: hzm1673544629086
Ixiasoft
Visible to Intel only — GUID: hzm1673544629086
Ixiasoft
4.2.4. GIC Functional Description
The Arm* Generic Interrupt Controller (GIC-600) resides in the Application Processor Subsystem (APS) partition outside of the Cortex* -A55+A76 processor complex. The GIC is shared by all of the CPUs. The GIC has software-configurable settings to detect, manage and distribute interrupts in the SoC.
- Interrupts are enabled or disabled and prioritized through control registers.
- Interrupts can be prioritized and signaled to different processors.
- Interrupts can be configured as secure or non-secure by assigning them to group 0 or group 1, respectively.
- Interrupts can be signaled to different processors in multiprocessor implementations.
- Interrupts can be level-sensitive or edge-triggered.
The GIC-600 provides 544 shared interrupt sources, including dedicated peripherals and IP implemented in the FPGA fabric. Each CPU also has external private peripheral interrupts and internal private peripheral interrupt. All four CPUs share 17 banked software-generated interrupts (SGIs).
The GIC detects private peripheral interrupts (PPIs) and shared peripheral interrupts (SPIs) from interrupt signals. Software-generated interrupts are detected through the register interface. Each CPU generates a signal for every private peripheral interrupt ID (PPI ID). There is only one input signal for each SPI interrupt ID shared among the four CPUs. The GIC supports virtual interrupts as well. The GIC notifies each CPU of an interrupt or virtual interrupt through output signals sent to the CPU complex.
The configuration and control for the GIC is memory-mapped and accessed through the cache coherency unit (CCU). GIC-600 also supports ITS modules that provide device isolation and ID translation for message-based interrupts and enable virtual machines to program devices directly.
For more information, refer to the Arm* CoreLink GIC-600 Generic Interrupt Controller Technical Reference Manual.