On 10/24/25 10:43 AM, Zhenzhong Duan wrote: > When x-flts=on, we set up bindings to nested HWPT in host, after > migration, VFIO device binds to nesting parent HWPT by default. > We need to re-establish the bindings to nested HWPT, or else device s/else/otherwise > DMA will break. > > Signed-off-by: Zhenzhong Duan <[email protected]> > --- > hw/i386/intel_iommu.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c > index edd1416382..8fec61be3e 100644 > --- a/hw/i386/intel_iommu.c > +++ b/hw/i386/intel_iommu.c > @@ -4360,6 +4360,13 @@ static int vtd_post_load(void *opaque, int version_id) > */ > vtd_switch_address_space_all(iommu); > > + /* > + * Bindings to nested HWPT in host is set up dynamically depending > + * on pasid entry configuration from guest. After migration, we > + * need to re-establish the bindings before restore device's DMA. restoring > + */ > + vtd_replay_pasid_bindings_all(iommu); > + > return 0; > } > Reviewed-by: Eric Auger <[email protected]> Eric
