• Achin Gupta's avatar
    Add ARM GICv3 driver without support for legacy operation · df373737
    Achin Gupta authored
    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
    df373737
gic_common.c 9.52 KB