From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:50646) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Su2y1-0003ST-6Z for qemu-devel@nongnu.org; Wed, 25 Jul 2012 10:53:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Su2xv-0003aA-3f for qemu-devel@nongnu.org; Wed, 25 Jul 2012 10:53:37 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34246) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Su2xu-0003Zt-Rl for qemu-devel@nongnu.org; Wed, 25 Jul 2012 10:53:31 -0400 From: Alex Williamson Date: Wed, 25 Jul 2012 08:53:06 -0600 Message-ID: <20120725142254.12800.61860.stgit@bling.home> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [GIT PULL (PATCH 0/4)] VFIO driver for v3.6 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: torvalds@linux-foundation.org Cc: B07421@freescale.com, kvm@vger.kernel.org, aik@ozlabs.ru, qemu-devel@nongnu.org, aafabbri@cisco.com, ddutile@redhat.com, agraf@suse.de, avi@redhat.com, linux-pci@vger.kernel.org, konrad.wilk@oracle.com, joerg.roedel@amd.com, chrisw@sous-sol.org, B08248@freescale.com, alex.williamson@redhat.com, bhelgaas@google.com, david@gibson.dropbear.id.au, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, dwmw2@infradead.org, benve@cisco.com Hi Linus, This series includes the VFIO userspace driver interface for the 3.6 kernel merge window. This driver is intended to provide a secure interface for device access using IOMMU protection for applications like assignment of physical devices to virtual machines. Qemu will be the first user of this interface, enabling assignment of PCI devices to Qemu guests. This interface is intended to eventually replace the x86-specific assignment mechanism currently available in KVM. This interface has the advantage of being more secure, by working with IOMMU groups to ensure device isolation and providing it's own filtered resource access mechanism, and also more flexible, in not being x86 or KVM specific (extensions to enable POWER are already working). As a new driver, I'm including both the individual patches in email, as well as a branch to pull from: git://github.com/awilliam/linux-vfio.git for-linus This driver is originally the work of Tom Lyon, but has since been handed over to me and gone through a complete overhaul thanks to the input from David Gibson, Ben Herrenschmidt, Chris Wright, Joerg Roedel, and others. This driver has been available in linux-next for the last month. Thanks, Alex --- Alex Williamson (4): vfio: Add PCI device driver vfio: Type1 IOMMU implementation vfio: Add documentation vfio: VFIO core Documentation/ioctl/ioctl-number.txt | 1 Documentation/vfio.txt | 314 +++++++ MAINTAINERS | 8 drivers/Kconfig | 2 drivers/Makefile | 1 drivers/vfio/Kconfig | 16 drivers/vfio/Makefile | 3 drivers/vfio/pci/Kconfig | 8 drivers/vfio/pci/Makefile | 4 drivers/vfio/pci/vfio_pci.c | 579 +++++++++++++ drivers/vfio/pci/vfio_pci_config.c | 1540 ++++++++++++++++++++++++++++++++++ drivers/vfio/pci/vfio_pci_intrs.c | 740 ++++++++++++++++ drivers/vfio/pci/vfio_pci_private.h | 91 ++ drivers/vfio/pci/vfio_pci_rdwr.c | 269 ++++++ drivers/vfio/vfio.c | 1420 +++++++++++++++++++++++++++++++ drivers/vfio/vfio_iommu_type1.c | 753 +++++++++++++++++ include/linux/vfio.h | 445 ++++++++++ 17 files changed, 6194 insertions(+) create mode 100644 Documentation/vfio.txt create mode 100644 drivers/vfio/Kconfig create mode 100644 drivers/vfio/Makefile create mode 100644 drivers/vfio/pci/Kconfig create mode 100644 drivers/vfio/pci/Makefile create mode 100644 drivers/vfio/pci/vfio_pci.c create mode 100644 drivers/vfio/pci/vfio_pci_config.c create mode 100644 drivers/vfio/pci/vfio_pci_intrs.c create mode 100644 drivers/vfio/pci/vfio_pci_private.h create mode 100644 drivers/vfio/pci/vfio_pci_rdwr.c create mode 100644 drivers/vfio/vfio.c create mode 100644 drivers/vfio/vfio_iommu_type1.c create mode 100644 include/linux/vfio.h