[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [RFC 0/8] VIRTIO-IOMMU device
From: |
Eric Auger |
Subject: |
[Qemu-arm] [RFC 0/8] VIRTIO-IOMMU device |
Date: |
Wed, 7 Jun 2017 10:35:48 +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-rfcv1
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
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-arm] [RFC 0/8] VIRTIO-IOMMU device,
Eric Auger <=
- [Qemu-arm] [RFC 1/8] update-linux-headers: import virtio_iommu.h, Eric Auger, 2017/06/07
- [Qemu-arm] [RFC 2/8] linux-headers: Update for virtio-iommu, Eric Auger, 2017/06/07
- [Qemu-arm] [RFC 3/8] virtio_iommu: add skeleton, Eric Auger, 2017/06/07
- [Qemu-arm] [RFC 4/8] virtio-iommu: Decode the command payload, Eric Auger, 2017/06/07
- [Qemu-arm] [RFC 5/8] virtio_iommu: Add the iommu regions, Eric Auger, 2017/06/07
- [Qemu-arm] [RFC 6/8] virtio-iommu: Implement the translation and commands, Eric Auger, 2017/06/07
- [Qemu-arm] [RFC 7/8] hw/arm/virt: Add 2.10 machine type, Eric Auger, 2017/06/07
- [Qemu-arm] [RFC 8/8] hw/arm/virt: Add virtio-iommu the virt board, Eric Auger, 2017/06/07
- Re: [Qemu-arm] [Qemu-devel] [RFC 0/8] VIRTIO-IOMMU device, Jason Wang, 2017/06/07