hw/i386/intel-iommu: Migrate to 3-phase reset
authorEric Auger <eric.auger@redhat.com>
Tue, 18 Feb 2025 18:25:32 +0000 (19:25 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 21 Feb 2025 12:21:25 +0000 (07:21 -0500)
commit2aaf48bcf27d8b3da5b30af6c1ced464d3df30f7
treefe7c05c2311b111aa5f0ab4f77fe08661fca9d76
parentd261b84d354a41a38336af813f92f636d3fb3f78
hw/i386/intel-iommu: Migrate to 3-phase reset

Currently the IOMMU may be reset before the devices
it protects. For example this happens with virtio devices
but also with VFIO devices. In this latter case this
produces spurious translation faults on host.

Let's use 3-phase reset mechanism and reset the IOMMU on
exit phase after all DMA capable devices have been reset
on 'enter' or 'hold' phase.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Zhenzhong Duan <zhenzhong.duan@intel.com>

Message-Id: <20250218182737.76722-3-eric.auger@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/i386/intel_iommu.c
hw/i386/trace-events