Hi Eric, >-----Original Message----- >From: Eric Auger <eric.au...@redhat.com> >Subject: [PATCH 3/5] hw/i386/intel_iommu: Tear down address spaces before >IOMMU reset > >From: Peter Xu <pet...@redhat.com> > >No bug report for this, but logically tearing down of existing address >space should happen before reset of IOMMU state / registers, because the >current address spaces may still rely on those information. > >Signed-off-by: Peter Xu <pet...@redhat.com> >Signed-off-by: Eric Auger <eric.au...@redhat.com> >--- > hw/i386/intel_iommu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c >index 21a8bf45f8..1bd9ae403b 100644 >--- a/hw/i386/intel_iommu.c >+++ b/hw/i386/intel_iommu.c >@@ -4702,8 +4702,8 @@ static void vtd_reset_exit(Object *obj, ResetType type) > IntelIOMMUState *s = INTEL_IOMMU_DEVICE(obj); > > trace_vtd_reset_exit(); >- vtd_init(s); > vtd_address_space_refresh_all(s); >+ vtd_init(s);
I'm not sure if we should have this change. vtd_switch_address_space() checks s->dmar_enabled and vtd_init() updates s->dmar_enabled. With this change, will we leave stale mapping there after reset? Thanks Zhenzhong > } > > static AddressSpace *vtd_host_dma_iommu(PCIBus *bus, void *opaque, int >devfn) >-- >2.47.1