KVM: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on ITS disable

If an ITS gets disabled, we need to make sure that further interrupts
won't hit in the cache. For that, we invalidate the translation cache
when the ITS is disabled.

Tested-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
This commit is contained in:
Marc Zyngier 2019-05-22 18:16:49 +01:00
parent b4931afcde
commit 363518f37a

View File

@ -1597,6 +1597,8 @@ static void vgic_mmio_write_its_ctlr(struct kvm *kvm, struct vgic_its *its,
goto out; goto out;
its->enabled = !!(val & GITS_CTLR_ENABLE); its->enabled = !!(val & GITS_CTLR_ENABLE);
if (!its->enabled)
vgic_its_invalidate_cache(kvm);
/* /*
* Try to process any pending commands. This function bails out early * Try to process any pending commands. This function bails out early