Hi, On Wed Sep 27, 2017 at 12:03:15PM +0530, Bharat Bhushan wrote: > This patch series integrates VFIO/VHOST with virtio-iommu. > > This version is mainly about rebasing on v4 version on > virtio-iommu device framework from Eric Augur and > addresing review comments. > > This patch series allows PCI pass-through using virtio-iommu. > > This series is based on: > - virtio-iommu kernel driver by Jean-Philippe Brucker > [1] [RFC] virtio-iommu version 0.4 > git://linux-arm.org/virtio-iommu.git branch viommu/v0.4 > > - virtio-iommu device emulation by Eric Augur. > [RFC v4 00/16] VIRTIO-IOMMU device > https://github.com/eauger/qemu/tree/v2.10.0-virtio-iommu-v4 > > Changes are available at : https://github.com/bharaty/qemu.git > virtio-iommu-vfio-integration-v4 >
# With the above sources, was trying to test the vfio-pci device assigned to guest using Qemu. # Both guest and host kernels are configured with 4k as page size. # releavant qemu command snippet, -device virtio-iommu-device -device virtio-blk-device,drive=hd0 \ -net none -device vfio-pci,host=xxx On guest booting, observed mutliple messages as below, qemu-system-aarch64: iommu has granularity incompatible with target AS # On adding necessary prints, 0x5000 is len, 0x4fff is address mask and the code expects the address mask to be 0xfff. if (len & iotlb->addr_mask) { error_report # vfio_dma_map is failing due to this error. Any pointers ? > 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 (5): > target/arm/kvm: Translate the MSI doorbell in kvm_arch_fixup_msi_route > virtio-iommu: Add iommu notifier for map/unmap > virtio-iommu: Call iommu notifier for attach/detach > virtio-iommu: add iommu replay > virtio-iommu: add iommu notifier memory-region > > hw/virtio/trace-events | 5 ++ > hw/virtio/virtio-iommu.c | 181 > ++++++++++++++++++++++++++++++++++++++- > include/hw/virtio/virtio-iommu.h | 6 ++ > target/arm/kvm.c | 27 ++++++ > target/arm/trace-events | 3 + > 5 files changed, 219 insertions(+), 3 deletions(-) > > -- > 1.9.3 > > -- Linu cherian