On Wed Sep 27, 2017 at 08:30:51AM +0000, Bharat Bhushan wrote: > Hi, > > > -----Original Message----- > > From: Linu Cherian [mailto:linuc.dec...@gmail.com] > > Sent: Wednesday, September 27, 2017 1:11 PM > > To: Bharat Bhushan <bharat.bhus...@nxp.com> > > Cc: eric.au...@redhat.com; eric.auger....@gmail.com; > > peter.mayd...@linaro.org; alex.william...@redhat.com; m...@redhat.com; > > qemu-...@nongnu.org; qemu-devel@nongnu.org; kevin.t...@intel.com; > > marc.zyng...@arm.com; t...@semihalf.com; will.dea...@arm.com; > > drjo...@redhat.com; robin.mur...@arm.com; christoffer.d...@linaro.org; > > bharatb.ya...@gmail.com > > Subject: Re: [Qemu-arm] [PATCH v4 0/5] virtio-iommu: VFIO integration > > > > 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. > > I have not seen these errors, I am also using 4K page-size on both host and > guest. Can you share compete qemu command and log.
Qemu cmd: qemu-system-aarch64 -machine virt,gic_version=3 -cpu host -enable-kvm -nographic -smp 8 -m 1024 -kernel /boot/Image --append "console=ttyAMA0 root=/dev/vda rw" -drive if=none,file=/home/ubuntu/fs_images/ubu1604.img,id=hd0,format=raw -device virtio-iommu-device -device virtio-blk-device,drive=hd0 -net none -device vfio-pci,host=0002:01:00.3 Qemu log: qemu-system-aarch64: iommu has granularity incompatible with target AS qemu-system-aarch64: iommu has granularity incompatible with target AS qemu-system-aarch64: iommu has granularity incompatible with target AS qemu-system-aarch64: iommu has granularity incompatible with target AS qemu-system-aarch64: iommu has granularity incompatible with target AS qemu-system-aarch64: iommu has granularity incompatible with target AS ... > > Thanks > -Bharat > > > > > 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 -- Linu cherian