|
@@ -478,9 +478,11 @@ static void kvm_arm_gicv3_put(GICv3State *s)
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(3), ncpu, ®64, true);
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(3), ncpu, ®64, true);
|
|
reg64 = c->icc_apr[GICV3_G0][2];
|
|
reg64 = c->icc_apr[GICV3_G0][2];
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(2), ncpu, ®64, true);
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(2), ncpu, ®64, true);
|
|
|
|
+ /* fall through */
|
|
case 6:
|
|
case 6:
|
|
reg64 = c->icc_apr[GICV3_G0][1];
|
|
reg64 = c->icc_apr[GICV3_G0][1];
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(1), ncpu, ®64, true);
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(1), ncpu, ®64, true);
|
|
|
|
+ /* fall through */
|
|
default:
|
|
default:
|
|
reg64 = c->icc_apr[GICV3_G0][0];
|
|
reg64 = c->icc_apr[GICV3_G0][0];
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(0), ncpu, ®64, true);
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(0), ncpu, ®64, true);
|
|
@@ -492,9 +494,11 @@ static void kvm_arm_gicv3_put(GICv3State *s)
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(3), ncpu, ®64, true);
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(3), ncpu, ®64, true);
|
|
reg64 = c->icc_apr[GICV3_G1NS][2];
|
|
reg64 = c->icc_apr[GICV3_G1NS][2];
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(2), ncpu, ®64, true);
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(2), ncpu, ®64, true);
|
|
|
|
+ /* fall through */
|
|
case 6:
|
|
case 6:
|
|
reg64 = c->icc_apr[GICV3_G1NS][1];
|
|
reg64 = c->icc_apr[GICV3_G1NS][1];
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(1), ncpu, ®64, true);
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(1), ncpu, ®64, true);
|
|
|
|
+ /* fall through */
|
|
default:
|
|
default:
|
|
reg64 = c->icc_apr[GICV3_G1NS][0];
|
|
reg64 = c->icc_apr[GICV3_G1NS][0];
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(0), ncpu, ®64, true);
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(0), ncpu, ®64, true);
|
|
@@ -631,9 +635,11 @@ static void kvm_arm_gicv3_get(GICv3State *s)
|
|
c->icc_apr[GICV3_G0][3] = reg64;
|
|
c->icc_apr[GICV3_G0][3] = reg64;
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(2), ncpu, ®64, false);
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(2), ncpu, ®64, false);
|
|
c->icc_apr[GICV3_G0][2] = reg64;
|
|
c->icc_apr[GICV3_G0][2] = reg64;
|
|
|
|
+ /* fall through */
|
|
case 6:
|
|
case 6:
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(1), ncpu, ®64, false);
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(1), ncpu, ®64, false);
|
|
c->icc_apr[GICV3_G0][1] = reg64;
|
|
c->icc_apr[GICV3_G0][1] = reg64;
|
|
|
|
+ /* fall through */
|
|
default:
|
|
default:
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(0), ncpu, ®64, false);
|
|
kvm_gicc_access(s, ICC_AP0R_EL1(0), ncpu, ®64, false);
|
|
c->icc_apr[GICV3_G0][0] = reg64;
|
|
c->icc_apr[GICV3_G0][0] = reg64;
|
|
@@ -645,9 +651,11 @@ static void kvm_arm_gicv3_get(GICv3State *s)
|
|
c->icc_apr[GICV3_G1NS][3] = reg64;
|
|
c->icc_apr[GICV3_G1NS][3] = reg64;
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(2), ncpu, ®64, false);
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(2), ncpu, ®64, false);
|
|
c->icc_apr[GICV3_G1NS][2] = reg64;
|
|
c->icc_apr[GICV3_G1NS][2] = reg64;
|
|
|
|
+ /* fall through */
|
|
case 6:
|
|
case 6:
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(1), ncpu, ®64, false);
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(1), ncpu, ®64, false);
|
|
c->icc_apr[GICV3_G1NS][1] = reg64;
|
|
c->icc_apr[GICV3_G1NS][1] = reg64;
|
|
|
|
+ /* fall through */
|
|
default:
|
|
default:
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(0), ncpu, ®64, false);
|
|
kvm_gicc_access(s, ICC_AP1R_EL1(0), ncpu, ®64, false);
|
|
c->icc_apr[GICV3_G1NS][0] = reg64;
|
|
c->icc_apr[GICV3_G1NS][0] = reg64;
|