aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2018-10-04 04:35:35 -0400
committerMarc Zyngier <marc.zyngier@arm.com>2018-10-09 06:55:47 -0400
commitec876f4b252c4084acad259ce3e65ad97f44f040 (patch)
treef580cd3c4bc0e6476ca6fc7da78c927fedf31edb
parent7876320f88802b22d4e2daf7eb027dd14175a0f8 (diff)
ARM: KVM: Correctly order SGI register entries in the cp15 array
The ICC_ASGI1R and ICC_SGI0R register entries in the cp15 array are not correctly ordered, leading to a BUG() at boot time. Move them to their natural location. Fixes: 3e8a8a50c7ef ("KVM: arm: vgic-v3: Add support for ICC_SGI0R and ICC_ASGI1R accesses") Reported-by: Florian Fainelli <f.fainelli@gmail.com> Tested-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
-rw-r--r--arch/arm/kvm/coproc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/kvm/coproc.c b/arch/arm/kvm/coproc.c
index 450c7a4fbc8a..cb094e55dc5f 100644
--- a/arch/arm/kvm/coproc.c
+++ b/arch/arm/kvm/coproc.c
@@ -478,15 +478,15 @@ static const struct coproc_reg cp15_regs[] = {
478 478
479 /* ICC_SGI1R */ 479 /* ICC_SGI1R */
480 { CRm64(12), Op1( 0), is64, access_gic_sgi}, 480 { CRm64(12), Op1( 0), is64, access_gic_sgi},
481 /* ICC_ASGI1R */
482 { CRm64(12), Op1( 1), is64, access_gic_sgi},
483 /* ICC_SGI0R */
484 { CRm64(12), Op1( 2), is64, access_gic_sgi},
485 481
486 /* VBAR: swapped by interrupt.S. */ 482 /* VBAR: swapped by interrupt.S. */
487 { CRn(12), CRm( 0), Op1( 0), Op2( 0), is32, 483 { CRn(12), CRm( 0), Op1( 0), Op2( 0), is32,
488 NULL, reset_val, c12_VBAR, 0x00000000 }, 484 NULL, reset_val, c12_VBAR, 0x00000000 },
489 485
486 /* ICC_ASGI1R */
487 { CRm64(12), Op1( 1), is64, access_gic_sgi},
488 /* ICC_SGI0R */
489 { CRm64(12), Op1( 2), is64, access_gic_sgi},
490 /* ICC_SRE */ 490 /* ICC_SRE */
491 { CRn(12), CRm(12), Op1( 0), Op2(5), is32, access_gic_sre }, 491 { CRn(12), CRm(12), Op1( 0), Op2(5), is32, access_gic_sre },
492 492