This patch series integrates VFIO with virtio-iommu. This is only applicable for PCI pass-through with virtio-iommu.
This series is available at: https://github.com/bharat-bhushan-devel/qemu.git virtio-iommu-vfio-integration-v8 This is tested with assigning more than one pci devices to Virtual Machine. v8-v9: - Have page size mask per endpint - Add PROBE interface, return page size mask v7->v8: - Set page size mask as per host This fixes issue with 64K host/guest - Device list from IOMMUDevice directly removed VirtioIOMMUNotifierNode - Add missing iep->viommu init on post-load v6->v7: - corrected email-address v5->v6: - Rebase to v16 version from Eric - Tested with upstream Linux - Added a patch from Eric/Myself on removing mmio-region error print in vfio v4->v5: - Rebase to v9 version from Eric - PCIe device hotplug fix - Added Patch 1/5 from Eric previous series (Eric somehow dropped in last version. - Patch "Translate the MSI doorbell in kvm_arch_fixup_msi_route" already integrated with vsmmu3 v3->v4: - Rebase to v4 version from Eric - Fixes from Eric with DPDK in VM - Logical division in multiple patches v2->v3: - This series is based on "[RFC v3 0/8] VIRTIO-IOMMU device" Which is based on top of v2.10-rc0 that - Fixed issue with two PCI devices - Addressed review comments v1->v2: - Added trace events - removed vSMMU3 link in patch description Bharat Bhushan (9): hw/vfio/common: Remove error print on mmio region translation by viommu memory: Add interface to set iommu page size mask vfio: set iommu page size as per host supported page size virtio-iommu: set supported page size mask virtio-iommu: Add iommu notifier for map/unmap virtio-iommu: Call iommu notifier for attach/detach virtio-iommu: add iommu replay virtio-iommu: Implement probe request virtio-iommu: add iommu notifier memory-region include/exec/memory.h | 20 + include/hw/virtio/virtio-iommu.h | 3 + include/standard-headers/linux/virtio_iommu.h | 6 + hw/vfio/common.c | 5 +- hw/virtio/virtio-iommu.c | 352 +++++++++++++++++- memory.c | 10 + hw/virtio/trace-events | 7 + 7 files changed, 397 insertions(+), 6 deletions(-) -- 2.17.1