[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v15 0/9] VIRTIO-IOMMU device
From: |
Eric Auger |
Subject: |
[PATCH v15 0/9] VIRTIO-IOMMU device |
Date: |
Sat, 8 Feb 2020 13:00:13 +0100 |
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
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
- [PATCH v15 0/9] VIRTIO-IOMMU device,
Eric Auger <=
- [PATCH v15 1/9] virtio-iommu: Add skeleton, Eric Auger, 2020/02/08
- [PATCH v15 2/9] virtio-iommu: Decode the command payload, Eric Auger, 2020/02/08
- [PATCH v15 3/9] virtio-iommu: Implement attach/detach command, Eric Auger, 2020/02/08
- [PATCH v15 4/9] virtio-iommu: Implement map/unmap, Eric Auger, 2020/02/08
- [PATCH v15 5/9] virtio-iommu: Implement translate, Eric Auger, 2020/02/08
- [PATCH v15 6/9] virtio-iommu: Implement fault reporting, Eric Auger, 2020/02/08
- [PATCH v15 7/9] virtio-iommu-pci: Add virtio iommu pci support, Eric Auger, 2020/02/08
- [PATCH v15 8/9] hw/arm/virt: Add the virtio-iommu device tree mappings, Eric Auger, 2020/02/08