The Arm Generic Interrupt Controller (GIC) architecture has two forms in general use with the A-profle that are also applicable to the R-profile:
- 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.
The M-profile has its own NVIC interrupt controller as an integral part of the M-profile architecture.