From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kirti Wankhede Subject: [RFC PATCH v4 0/3] Add Mediated device support[was: Add vGPU support] Date: Wed, 25 May 2016 01:28:14 +0530 Message-ID: <1464119897-10844-1-git-send-email-kwankhede@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain Cc: , , , , , , , Kirti Wankhede To: , , , Return-path: Received: from hqemgate14.nvidia.com ([216.228.121.143]:1645 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932623AbcEXT4z (ORCPT ); Tue, 24 May 2016 15:56:55 -0400 Sender: kvm-owner@vger.kernel.org List-ID: This series adds Mediated device support to v4.6 Linux host kernel. Purpose of this series is to provide a common interface for mediated device management that can be used by different devices. This series introduces Mdev core module that create and manage mediated devices, VFIO based driver for mediated PCI devices that are created by Mdev core module and update VFIO type1 IOMMU module to support mediated devices. What's new in v4? - Renamed 'vgpu' module to 'mdev' module that represent generic term 'Mediated device'. - Moved mdev directory to drivers/vfio directory as this is the extension of VFIO APIs for mediated devices. - Updated mdev driver to be flexible to register multiple types of drivers to mdev_bus_type bus. - Updated mdev core driver with mdev_put_device() and mdev_get_device() for mediated devices. What's left to do? VFIO driver for vGPU device doesn't support devices with MSI-X enabled. Please review. Kirti Wankhede (3): Mediated device Core driver VFIO driver for mediated PCI device VFIO Type1 IOMMU: Add support for mediated devices drivers/vfio/Kconfig | 1 + drivers/vfio/Makefile | 1 + drivers/vfio/mdev/Kconfig | 18 + drivers/vfio/mdev/Makefile | 6 + drivers/vfio/mdev/mdev-core.c | 462 +++++++++++++++++++++++++ drivers/vfio/mdev/mdev-driver.c | 139 ++++++++ drivers/vfio/mdev/mdev-sysfs.c | 312 +++++++++++++++++ drivers/vfio/mdev/mdev_private.h | 33 ++ drivers/vfio/mdev/vfio_mpci.c | 648 ++++++++++++++++++++++++++++++++++++ drivers/vfio/pci/vfio_pci_private.h | 6 - drivers/vfio/pci/vfio_pci_rdwr.c | 1 + drivers/vfio/vfio_iommu_type1.c | 433 ++++++++++++++++++++++-- include/linux/mdev.h | 224 +++++++++++++ include/linux/vfio.h | 13 + 14 files changed, 2259 insertions(+), 38 deletions(-) create mode 100644 drivers/vfio/mdev/Kconfig create mode 100644 drivers/vfio/mdev/Makefile create mode 100644 drivers/vfio/mdev/mdev-core.c create mode 100644 drivers/vfio/mdev/mdev-driver.c create mode 100644 drivers/vfio/mdev/mdev-sysfs.c create mode 100644 drivers/vfio/mdev/mdev_private.h create mode 100644 drivers/vfio/mdev/vfio_mpci.c create mode 100644 include/linux/mdev.h -- 2.7.0