Add ARM GICv3 driver without support for legacy operation
This patch adds a driver for ARM GICv3 systems that need to run software
stacks where affinity routing is enabled across all privileged exception
levels for both security states. This driver is a partial implementation
of the ARM Generic Interrupt Controller Architecture Specification, GIC
architecture version 3.0 and version 4.0 (ARM IHI 0069A). The driver does
not cater for legacy support of interrupts and asymmetric configurations.

The existing GIC driver has been preserved unchanged. The common code for
GICv2 and GICv3 systems has been refactored into a new file,
`drivers/arm/gic/common/gic_common.c`. The corresponding header is in
`include/drivers/arm/gic_common.h`.

The driver interface is implemented in `drivers/arm/gic/v3/gicv3_main.c`.
The corresponding header is in `include/drivers/arm/gicv3.h`. Helper
functions are implemented in `drivers/arm/gic/v3/arm_gicv3_helpers.c`
and are accessible through the `drivers/arm/gic/v3/gicv3_private.h`
header.

Change-Id: I8c3c834a1d049d05b776b4dcb76b18ccb927444a
1 parent 5b33041 commit df37373765f8a3f4e9b6216065f991f0db28e2b5
@Achin Gupta Achin Gupta authored on 3 Sep 2015
Soby Mathew committed on 26 Nov 2015
Showing 8 changed files
View
drivers/arm/gic/common/gic_common.c 0 → 100644
View
drivers/arm/gic/v3/gicv3_helpers.c 0 → 100644
View
drivers/arm/gic/v3/gicv3_main.c 0 → 100644
View
drivers/arm/gic/v3/gicv3_private.h 0 → 100644
View
include/drivers/arm/gic_common.h 0 → 100644
View
include/drivers/arm/gicv3.h 0 → 100644
View
include/lib/aarch64/arch.h
View
include/lib/aarch64/arch_helpers.h