From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=45781 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OY0yC-0003tT-CO for qemu-devel@nongnu.org; Sun, 11 Jul 2010 14:09:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OY0yB-0006NK-60 for qemu-devel@nongnu.org; Sun, 11 Jul 2010 14:09:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:8849) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OY0yA-0006NC-Tu for qemu-devel@nongnu.org; Sun, 11 Jul 2010 14:09:39 -0400 From: Alex Williamson Date: Sun, 11 Jul 2010 12:09:10 -0600 Message-ID: <20100711180910.20121.93313.stgit@localhost6.localdomain6> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [RFC PATCH 0/5] QEMU VFIO device assignment List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kvm@vger.kernel.org, qemu-devel@nongnu.org Cc: chrisw@redhat.com, alex.williamson@redhat.com, pugs@cisco.com, mst@redhat.com The following series implements QEMU device assignment using the proposed VFIO/UIOMMU kernel interfaces. See the last patch for further vfio description. I've tested this on the v2 VFIO patch, with a number of fixes hacked in along the way. I'll update when Tom releases a new version of VFIO. Hopefully this will provide some support for the usefulness of such an interfaces. Thanks, Alex --- Alex Williamson (5): VFIO based device assignment APIC/IOAPIC EOI callback RAM API: Make use of it for x86 PC Minimal RAM API support qemu_ram_map/unmap: Allow pre-allocated space to be mapped Makefile.target | 2 cpu-common.h | 5 exec.c | 56 ++ hw/apic.c | 18 + hw/apic.h | 4 hw/ioapic.c | 29 + hw/linux-vfio.h | 200 ++++++++ hw/pc.c | 12 - hw/pc.h | 12 - hw/vfio.c | 1295 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ hw/vfio.h | 90 ++++ memory.c | 77 +++ memory.h | 23 + 13 files changed, 1812 insertions(+), 11 deletions(-) create mode 100644 hw/linux-vfio.h create mode 100644 hw/vfio.c create mode 100644 hw/vfio.h create mode 100644 memory.c create mode 100644 memory.h