From patchwork Thu Jul 26 16:14:48 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Williamson X-Patchwork-Id: 173472 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 8D6172C0108 for ; Fri, 27 Jul 2012 04:24:49 +1000 (EST) Received: from localhost ([::1]:46365 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SuSjv-0005JA-JP for incoming@patchwork.ozlabs.org; Thu, 26 Jul 2012 14:24:47 -0400 Received: from eggs.gnu.org ([208.118.235.92]:54678) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SuQih-0005eu-Rb for qemu-devel@nongnu.org; Thu, 26 Jul 2012 12:15:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SuQiV-0003et-Cv for qemu-devel@nongnu.org; Thu, 26 Jul 2012 12:15:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50373) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SuQiU-0003eK-I6 for qemu-devel@nongnu.org; Thu, 26 Jul 2012 12:15:11 -0400 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q6QGErLr015982 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 26 Jul 2012 12:14:53 -0400 Received: from [10.3.113.124] (ovpn-113-124.phx2.redhat.com [10.3.113.124]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q6QGEmoW018069; Thu, 26 Jul 2012 12:14:48 -0400 Message-ID: <1343319288.3125.24.camel@ul30vt> From: Alex Williamson To: torvalds@linux-foundation.org Date: Thu, 26 Jul 2012 10:14:48 -0600 In-Reply-To: <20120725142254.12800.61860.stgit@bling.home> References: <20120725142254.12800.61860.stgit@bling.home> Mime-Version: 1.0 X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.132.183.28 X-Mailman-Approved-At: Thu, 26 Jul 2012 14:24:36 -0400 Cc: aafabbri@cisco.com, kvm@vger.kernel.org, joerg.roedel@amd.com, B07421@freescale.com, aik@ozlabs.ru, konrad.wilk@oracle.com, linux-pci@vger.kernel.org, agraf@suse.de, qemu-devel@nongnu.org, chrisw@sous-sol.org, B08248@freescale.com, iommu@lists.linux-foundation.org, ddutile@redhat.com, avi@redhat.com, gregkh@linuxfoundation.org, bhelgaas@google.com, benve@cisco.com, dwmw2@infradead.org, linux-kernel@vger.kernel.org, david@gibson.dropbear.id.au Subject: [Qemu-devel] [GIT PULL (PATCH 0/4) v2] VFIO driver for v3.6 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org On Wed, 2012-07-25 at 08:53 -0600, Alex Williamson wrote: > 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, randconfig testing in next found a dependency issue that I've fix in the for-linus branch above. Change from v1 is: If anyone wants a full resend of v2 to the list with this change, please let me know. 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 diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig index cc7db62..5980758 100644 --- a/drivers/vfio/pci/Kconfig +++ b/drivers/vfio/pci/Kconfig @@ -1,6 +1,6 @@ config VFIO_PCI tristate "VFIO support for PCI devices" - depends on VFIO && PCI + depends on VFIO && PCI && EVENTFD help Support for the PCI VFIO bus driver. This is required to make use of PCI drivers using the VFIO framework.