|
@@ -229,10 +229,13 @@ void vgic_v3_enable(struct kvm_vcpu *vcpu)
|
|
|
/*
|
|
|
* If we are emulating a GICv3, we do it in an non-GICv2-compatible
|
|
|
* way, so we force SRE to 1 to demonstrate this to the guest.
|
|
|
+ * Also, we don't support any form of IRQ/FIQ bypass.
|
|
|
* This goes with the spec allowing the value to be RAO/WI.
|
|
|
*/
|
|
|
if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) {
|
|
|
- vgic_v3->vgic_sre = ICC_SRE_EL1_SRE;
|
|
|
+ vgic_v3->vgic_sre = (ICC_SRE_EL1_DIB |
|
|
|
+ ICC_SRE_EL1_DFB |
|
|
|
+ ICC_SRE_EL1_SRE);
|
|
|
vcpu->arch.vgic_cpu.pendbaser = INITIAL_PENDBASER_VALUE;
|
|
|
} else {
|
|
|
vgic_v3->vgic_sre = 0;
|