[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 0/3] VFIO support for AMBA devices
From: |
Baptiste Reynal |
Subject: |
[Qemu-devel] [RFC PATCH 0/3] VFIO support for AMBA devices |
Date: |
Wed, 17 Dec 2014 11:09:38 +0100 |
The following series add VFIO support for AMBA devices.
It introduces multiple compatible string support to deal with arm,primecell
compatible string.
The VFIOPlatformDevice now checks for this string and performs amba specific
operations if it is present (change path of the device, add clock in the fd).
This patch applies on top of http://git.linaro.org/people/eric.auger/qemu.git
on branch vfio_integ_v9_rc6_official_dynsysbus_v6 for irqfd support.
TODO: The IRQ forwarding doesn't work.
The series has been tested using PL330 device, irq forwarding doesn't work.
(The test hangs on the first IRQ).
The test performed relies on a special guest kernel, which can be found here
http://github.com/virtualopensystems/linux-kvm-arm.git on branch
vfio-platform-v6-guide, with CONFIG_KVM, CONFIG_ARM_SMMU, CONFIG_PL330_DMA
and CONFIG_VOSYS_DMATEST enabled.
Run qemu using this command:
./qemu-system-arm -M virt -m 512M -enable-kvm \
-device
vfio-pl330,host="2c0a0000.dma",id=dma,x-irqfd=false,x-forward=false \
-append "earlyprintk console=ttyAMA0" \
-kernel zImage -nographic
Then run DMA test:
mount -t debugfs none /sys/kernel/debug
echo 1 > /sys/kernel/debug/vosys_dmatest/start
Results can be checked using dmesg.
Baptiste Reynal (3):
hw/vfio/sysbus-fdt: generic add_generic_fdt_node
hw/vfio: amba device support
hw/vfio: add pl330 device support
hw/arm/sysbus-fdt.c | 34 +++++++++++++++++++++++++++++-----
hw/vfio/Makefile.objs | 1 +
hw/vfio/pl330.c | 41 +++++++++++++++++++++++++++++++++++++++++
hw/vfio/platform.c | 15 ++++++++++++---
include/hw/vfio/vfio-common.h | 1 +
include/hw/vfio/vfio-pl330.h | 26 ++++++++++++++++++++++++++
6 files changed, 110 insertions(+), 8 deletions(-)
create mode 100644 hw/vfio/pl330.c
create mode 100644 include/hw/vfio/vfio-pl330.h
--
2.1.3