diff options
author | Antonio Niño Díaz <antonio.ninodiaz@arm.com> | 2019-02-04 18:19:07 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-04 18:19:07 +0000 |
commit | 5c8a7732e172098b21fcd0edbbb614318d22982a (patch) | |
tree | 9695578996e0bd1a21302d2e3eeb9e7c3d8114d8 | |
parent | 6ce303468863f4a9a5bc1204532fcb31eca6cacb (diff) | |
parent | 5dc2c3f95c97b7c1751c66ec9c231eae2db46086 (diff) |
Merge pull request #1799 from soby-mathew/sm/gicr_probe
GICv3: Allow probe for fewer GICR interfaces than exposed by the frame
-rw-r--r-- | drivers/arm/gic/v3/gicv3_helpers.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/arm/gic/v3/gicv3_helpers.c b/drivers/arm/gic/v3/gicv3_helpers.c index 39ea2a37..710532e3 100644 --- a/drivers/arm/gic/v3/gicv3_helpers.c +++ b/drivers/arm/gic/v3/gicv3_helpers.c @@ -341,8 +341,10 @@ void gicv3_rdistif_base_addrs_probe(uintptr_t *rdistif_base_addrs, proc_num = (typer_val >> TYPER_PROC_NUM_SHIFT) & TYPER_PROC_NUM_MASK; } - assert(proc_num < rdistif_num); - rdistif_base_addrs[proc_num] = rdistif_base; + + if (proc_num < rdistif_num) + rdistif_base_addrs[proc_num] = rdistif_base; + rdistif_base += (1U << GICR_PCPUBASE_SHIFT); } while ((typer_val & TYPER_LAST_BIT) == 0U); } |