On Sat, Feb 08, 2020 at 01:00:13PM +0100, Eric Auger wrote: > This series implements the QEMU virtio-iommu device. > > This matches the v0.12 spec (voted) and the corresponding > virtio-iommu driver upstreamed in 5.3. All kernel dependencies > are resolved for DT integration. The virtio-iommu can be > instantiated in ARM virt using: > > "-device virtio-iommu-pci". > > Non DT mode is not yet supported as it has non resolved kernel > dependencies [1]. > > This feature targets 5.0. > > Integration with vhost devices and vfio devices is not part > of this series. Please follow Bharat's respins [2]. > > Best Regards > > Eric
Looks good. Reviewed-by: Michael S. Tsirkin <m...@redhat.com> I can see this merged through ARM tree, or through my tree with Peters's ack for the ARM bits. > This series can be found at: > https://github.com/eauger/qemu/tree/v4.2-virtio-iommu-v15 > > References: > [1] [RFC 00/13] virtio-iommu on non-devicetree platforms > [2] [PATCH RFC v5 0/5] virtio-iommu: VFIO integration > > Testing: > - tested with guest using virtio-net-pci > (,vhost=off,iommu_platform,disable-modern=off,disable-legacy=on) > and virtio-blk-pci > - migration > > History: > > v14 -> v15: > - removed x-dt-binding and just kept check on hotplug_handler > - removed "tests: Add virtio-iommu test" as the check on > hotplug_handler fails on PC machine > - destroy mappings in put_domain and remove > g_tree_destroy(domain->mappings) in virtio_iommu_detach > > v13 -> v14: > - added "virtio-iommu-pci: Introduce the x-dt-binding option" > - Removed the mappings gtree ref counting and simply delete > the gtree when the last EP is detached from the domain > - call virtio_iommu_detach_endpoint_from_domain from > virtio_iommu_put_endpoint > > v12 -> v13: > - Take into account Peter's comments > - fix qtest error and accomodate for directory changes in > test > - remove "[PATCH v12 01/13] migration: Support QLIST migration" > which is now upstream > - fix iommu_find_iommu_pcibus() > - squash commits as requested by Peter > - remove spurious guest log > > ../.. > > Eric Auger (9): > virtio-iommu: Add skeleton > virtio-iommu: Decode the command payload > virtio-iommu: Implement attach/detach command > virtio-iommu: Implement map/unmap > virtio-iommu: Implement translate > virtio-iommu: Implement fault reporting > virtio-iommu-pci: Add virtio iommu pci support > hw/arm/virt: Add the virtio-iommu device tree mappings > virtio-iommu: Support migration > > hw/arm/virt.c | 57 +- > hw/virtio/Kconfig | 5 + > hw/virtio/Makefile.objs | 2 + > hw/virtio/trace-events | 20 + > hw/virtio/virtio-iommu-pci.c | 103 ++++ > hw/virtio/virtio-iommu.c | 890 +++++++++++++++++++++++++++++++ > include/hw/arm/virt.h | 2 + > include/hw/pci/pci.h | 1 + > include/hw/virtio/virtio-iommu.h | 61 +++ > qdev-monitor.c | 1 + > 10 files changed, 1135 insertions(+), 7 deletions(-) > create mode 100644 hw/virtio/virtio-iommu-pci.c > create mode 100644 hw/virtio/virtio-iommu.c > create mode 100644 include/hw/virtio/virtio-iommu.h > > -- > 2.20.1