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


Reply via email to