The ARM Generic Interrupt Controller (GIC) architecture has two forms in general use with the A-profile that are also applicable to the R-profile:
The M-profile has its own NVIC interrupt controller as an integral part of the M-profile architecture.
- GICv2 is a memory mapped solution supporting up to eight processors.
- GICv3 offers support for much higher interrupt counts and larger numbers of processors. This version includes support for the System registers in ARMv8-A and ARMv8-R designs.
- GICv4 adds supports the direct injection of virtual interrupts.