Hi Eric, > -----Original Message----- > From: Eric Auger [mailto:eric.au...@redhat.com] > Sent: Wednesday, June 07, 2017 9:31 PM > To: eric.auger....@gmail.com; eric.au...@redhat.com; > peter.mayd...@linaro.org; alex.william...@redhat.com; m...@redhat.com; > qemu-...@nongnu.org; qemu-devel@nongnu.org; jean- > philippe.bruc...@arm.com > Cc: will.dea...@arm.com; robin.mur...@arm.com; kevin.t...@intel.com; > marc.zyng...@arm.com; christoffer.d...@linaro.org; drjo...@redhat.com; > w...@redhat.com; t...@semihalf.com; Bharat Bhushan > <bharat.bhus...@nxp.com> > Subject: [RFC v2 0/8] VIRTIO-IOMMU device > > This series implements the virtio-iommu device. This is a proof of concept > based on the virtio-iommu specification written by Jean-Philippe Brucker [1]. > This was tested with a guest using the virtio-iommu driver [2] and exposed > with a virtio-net-pci using dma ops. > > The device gets instantiated using the "-device virtio-iommu-device" > option. It currently works with ARM virt machine only as the machine must > handle the dt binding between the virtio-mmio "iommu" node and the PCI > host bridge node. ACPI booting is not yet supported. > > This should allow to start some benchmarking activities against pure > emulated IOMMU (especially ARM SMMU).
I am testing this on ARM64 and see below continuous error prints: virtio_iommu_translate sid=8 is not known!! virtio_iommu_translate sid=8 is not known!! virtio_iommu_translate sid=8 is not known!! virtio_iommu_translate sid=8 is not known!! virtio_iommu_translate sid=8 is not known!! virtio_iommu_translate sid=8 is not known!! virtio_iommu_translate sid=8 is not known!! virtio_iommu_translate sid=8 is not known!! virtio_iommu_translate sid=8 is not known!! virtio_iommu_translate sid=8 is not known!! Also in guest I do not see device-tree node with virtio-iommu. I am using qemu-tree you mentioned below and iommu-driver patches published by Jean-P. Qemu command line have additional ""-device virtio-iommu-device". What I am missing ? Thanks -Bharat > > Best Regards > > Eric > > This series can be found at: > https://github.com/eauger/qemu/tree/virtio-iommu-rfcv2 > > References: > [1] [RFC 0/3] virtio-iommu: a paravirtualized IOMMU, [2] [RFC PATCH linux] > iommu: Add virtio-iommu driver [3] [RFC PATCH kvmtool 00/15] Add virtio- > iommu > > History: > v1 -> v2: > - fix redifinition of viommu_as typedef > > Eric Auger (8): > update-linux-headers: import virtio_iommu.h > linux-headers: Update for virtio-iommu > virtio_iommu: add skeleton > virtio-iommu: Decode the command payload > virtio_iommu: Add the iommu regions > virtio-iommu: Implement the translation and commands > hw/arm/virt: Add 2.10 machine type > hw/arm/virt: Add virtio-iommu the virt board > > hw/arm/virt.c | 116 ++++- > hw/virtio/Makefile.objs | 1 + > hw/virtio/trace-events | 14 + > hw/virtio/virtio-iommu.c | 623 > ++++++++++++++++++++++++++ > include/hw/arm/virt.h | 5 + > include/hw/virtio/virtio-iommu.h | 60 +++ > include/standard-headers/linux/virtio_ids.h | 1 + > include/standard-headers/linux/virtio_iommu.h | 142 ++++++ > linux-headers/linux/virtio_iommu.h | 1 + > scripts/update-linux-headers.sh | 3 + > 10 files changed, 957 insertions(+), 9 deletions(-) create mode 100644 > hw/virtio/virtio-iommu.c create mode 100644 include/hw/virtio/virtio- > iommu.h create mode 100644 include/standard- > headers/linux/virtio_iommu.h > create mode 100644 linux-headers/linux/virtio_iommu.h > > -- > 2.5.5