On 23/02/2023 23:26, Jason Gunthorpe wrote: > On Thu, Feb 23, 2023 at 03:33:09PM -0700, Alex Williamson wrote: >> On Thu, 23 Feb 2023 16:55:54 -0400 >> Jason Gunthorpe <j...@nvidia.com> wrote: >>> On Thu, Feb 23, 2023 at 01:06:33PM -0700, Alex Williamson wrote: >>> Or even better figure out how to get interrupt remapping without IOMMU >>> support :\ >> >> -machine q35,default_bus_bypass_iommu=on,kernel-irqchip=split \ >> -device intel-iommu,caching-mode=on,intremap=on > > Joao? > > If this works lets just block migration if the vIOMMU is turned on..
At a first glance, this looked like my regular iommu incantation. But reading the code this ::bypass_iommu (new to me) apparently tells that vIOMMU is bypassed or not for the PCI devices all the way to avoiding enumerating in the IVRS/DMAR ACPI tables. And I see VFIO double-checks whether PCI device is within the IOMMU address space (or bypassed) prior to DMA maps and such. You can see from the other email that all of the other options in my head were either bit inconvenient or risky. I wasn't aware of this option for what is worth -- much simpler, should work! And avoiding vIOMMU simplifies the whole patchset too, if it's OK to add a live migration blocker if `bypass_iommu` is off for any PCI device. Joao