Before this one we only invalidate context cache when we receive context entry invalidations. However it's possible that the invalidation also contains a domain switch (only if cache-mode is enabled for vIOMMU). In that case we need to notify all the registered components about the new mapping.
Signed-off-by: Peter Xu <pet...@redhat.com> --- hw/i386/intel_iommu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 2fcd7af..0220e63 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -1188,6 +1188,7 @@ static void vtd_context_device_invalidate(IntelIOMMUState *s, trace_vtd_inv_desc_cc_device(bus_n, (devfn_it >> 3) & 0x1f, devfn_it & 3); vtd_as->context_cache_entry.context_cache_gen = 0; + memory_region_iommu_replay_all(&vtd_as->iommu); } } } -- 2.7.4