From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47722) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y1BYR-0007I4-Kg for qemu-devel@nongnu.org; Wed, 17 Dec 2014 05:10:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y1BYM-0006YC-Dc for qemu-devel@nongnu.org; Wed, 17 Dec 2014 05:10:03 -0500 Received: from mail-wg0-f48.google.com ([74.125.82.48]:47098) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y1BYM-0006Y8-7u for qemu-devel@nongnu.org; Wed, 17 Dec 2014 05:09:58 -0500 Received: by mail-wg0-f48.google.com with SMTP id y19so19660804wgg.21 for ; Wed, 17 Dec 2014 02:09:57 -0800 (PST) From: Baptiste Reynal Date: Wed, 17 Dec 2014 11:09:38 +0100 Message-Id: <1418810981-9193-1-git-send-email-b.reynal@virtualopensystems.com> Subject: [Qemu-devel] [RFC PATCH 0/3] VFIO support for AMBA devices List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kvmarm@lists.cs.columbia.edu, qemu-devel@nongnu.org, eric.auger@linaro.org Cc: a.motakis@virtualopensystems.com, tech@virtualopensystems.com, Baptiste Reynal 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