diff options
author | davidcunado-arm <david.cunado@arm.com> | 2017-11-23 23:41:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-23 23:41:24 +0000 |
commit | 71f8a6a9b0cdfcc773542844e1fcb89ba93bcbf5 (patch) | |
tree | 19c1299ef5fc877d4982f14f881f49cfe35a05c2 /drivers/arm | |
parent | 1c64838d4b0e061f22b1b31b8fd64ea4510e1ded (diff) | |
parent | 1d791530d0f3a4a02e285a38f35fecac4feec70c (diff) |
Merge pull request #1145 from etienne-lms/rfc-armv7-2
Support ARMv7 architectures
Diffstat (limited to 'drivers/arm')
-rw-r--r-- | drivers/arm/gic/v2/gicv2_main.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/arm/gic/v2/gicv2_main.c b/drivers/arm/gic/v2/gicv2_main.c index 72f15cd7..87986594 100644 --- a/drivers/arm/gic/v2/gicv2_main.c +++ b/drivers/arm/gic/v2/gicv2_main.c @@ -176,7 +176,19 @@ void gicv2_driver_init(const gicv2_driver_data_t *plat_driver_data) gic_version = gicd_read_pidr2(plat_driver_data->gicd_base); gic_version = (gic_version >> PIDR2_ARCH_REV_SHIFT) & PIDR2_ARCH_REV_MASK; - assert(gic_version == ARCH_REV_GICV2); + + /* + * GICv1 with security extension complies with trusted firmware + * GICv2 driver as far as virtualization and few tricky power + * features are not used. GICv2 features that are not supported + * by GICv1 with Security Extensions are: + * - virtual interrupt support. + * - wake up events. + * - writeable GIC state register (for power sequences) + * - interrupt priority drop. + * - interrupt signal bypass. + */ + assert(gic_version == ARCH_REV_GICV2 || gic_version == ARCH_REV_GICV1); driver_data = plat_driver_data; |