This breaks out AArch32-specific code so that the shared GICv3 code can be reused by other architectures.