arm64: KVM: Always set ICH_HCR_EL2.EN if GICv4 is enabled
authorMarc Zyngier <marc.zyngier@arm.com>
Wed, 13 Mar 2019 18:07:50 +0000 (18:07 +0000)
committerMarc Zyngier <marc.zyngier@arm.com>
Tue, 19 Mar 2019 17:56:34 +0000 (17:56 +0000)
commitca71228b42a96908eca7658861eafacd227856c9
treeb915c50bc72f0d568a31b392ccb89065ecbd77f1
parentebff0b0e3d3c862c16c487959db5e0d879632559
arm64: KVM: Always set ICH_HCR_EL2.EN if GICv4 is enabled

The normal interrupt flow is not to enable the vgic when no virtual
interrupt is to be injected (i.e. the LRs are empty). But when a guest
is likely to use GICv4 for LPIs, we absolutely need to switch it on
at all times. Otherwise, VLPIs only get delivered when there is something
in the LRs, which doesn't happen very often.

Reported-by: Nianyao Tang <tangnianyao@huawei.com>
Tested-by: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
virt/kvm/arm/hyp/vgic-v3-sr.c
virt/kvm/arm/vgic/vgic.c