[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v2 0/8] VIRTIO-IOMMU device
From: |
Eric Auger |
Subject: |
[Qemu-devel] [RFC v2 0/8] VIRTIO-IOMMU device |
Date: |
Wed, 7 Jun 2017 18:01:19 +0200 |
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).
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
- [Qemu-devel] [RFC v2 0/8] VIRTIO-IOMMU device,
Eric Auger <=
- [Qemu-devel] [RFC v2 1/8] update-linux-headers: import virtio_iommu.h, Eric Auger, 2017/06/07
- [Qemu-devel] [RFC v2 2/8] linux-headers: Update for virtio-iommu, Eric Auger, 2017/06/07
- [Qemu-devel] [RFC v2 3/8] virtio_iommu: add skeleton, Eric Auger, 2017/06/07
- [Qemu-devel] [RFC v2 5/8] virtio_iommu: Add the iommu regions, Eric Auger, 2017/06/07
- [Qemu-devel] [RFC v2 4/8] virtio-iommu: Decode the command payload, Eric Auger, 2017/06/07
- [Qemu-devel] [RFC v2 6/8] virtio-iommu: Implement the translation and commands, Eric Auger, 2017/06/07