Hi Marc, On 3/4/20 9:33 PM, Marc Zyngier wrote: > Just like for VLPIs, it is beneficial to avoid trapping on WFI when the > vcpu is using the GICv4.1 SGIs. > > Add such a check to vcpu_clear_wfx_traps(). > > Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Thanks Eric > --- > arch/arm64/include/asm/kvm_emulate.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/include/asm/kvm_emulate.h b/arch/arm64/include/asm/kvm_emulate.h > index f658dda12364..a30b4eec7cb4 100644 > --- a/arch/arm64/include/asm/kvm_emulate.h > +++ b/arch/arm64/include/asm/kvm_emulate.h > @@ -89,7 +89,8 @@ static inline unsigned long *vcpu_hcr(struct kvm_vcpu *vcpu) > static inline void vcpu_clear_wfx_traps(struct kvm_vcpu *vcpu) > { > vcpu->arch.hcr_el2 &= ~HCR_TWE; > - if (atomic_read(&vcpu->arch.vgic_cpu.vgic_v3.its_vpe.vlpi_count)) > + if (atomic_read(&vcpu->arch.vgic_cpu.vgic_v3.its_vpe.vlpi_count) || > + vcpu->kvm->arch.vgic.nassgireq) > vcpu->arch.hcr_el2 &= ~HCR_TWI; > else > vcpu->arch.hcr_el2 |= HCR_TWI; >