lkml.org 
[lkml]   [2016]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v10 00/19] Add Mediated device support
    On 10/27/2016 05:29 AM, Kirti Wankhede wrote:
    > This series adds Mediated device support to 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 creates and manages mediated devices, VFIO based
    > driver for mediated devices that are created by mdev core module and
    > update VFIO type1 IOMMU module to support pinning & unpinning for mediated
    > devices.
    >
    > What changed in v10?
    > vfio:
    > - Split commits in multple individual commits.
    > - Removed the function added in v9 to get device_api string.
    > - Defined constant strings in include/uapi/linux/vfio.h that should be used by
    > vendor driver for device_api attribute.
    >
    > vfio_iommu_type1:
    > - Fixed accounting when pass through device is unplugged while mdev device
    > exist in a domain.
    > - Added blocking notifier to notify DMA_UNMAP to vendor driver to invalidate
    > mappings.
    > - Exported APIs to register notifier for DMA_UNMAP action.
    >
    > Documentation:
    > - Added sysfs ABI for mediated device framework.
    > - Updated Documentation/vfio-mdev/vfio-mediated-device.txt.
    > - Updated mtty.c with bug fixes.
    >
    > Kirti Wankhede (19):
    > vfio: Mediated device Core driver
    > vfio: VFIO based driver for Mediated devices
    > vfio: Rearrange functions to get vfio_group from dev
    > vfio: Common function to increment container_users
    > vfio iommu: Added pin and unpin callback functions to
    > vfio_iommu_driver_ops
    > vfio iommu type1: Update arguments of vfio_lock_acct
    > vfio iommu type1: Update argument of vaddr_get_pfn()
    > vfio iommu type1: Add find_iommu_group() function
    > vfio iommu type1: Add support for mediated devices
    > vfio iommu: Add blocking notifier to notify DMA_UNMAP
    > vfio: Introduce common function to add capabilities
    > vfio_pci: Update vfio_pci to use vfio_info_add_capability()
    > vfio: Introduce vfio_set_irqs_validate_and_prepare()
    > vfio_pci: Updated to use vfio_set_irqs_validate_and_prepare()
    > vfio_platform: Updated to use vfio_set_irqs_validate_and_prepare()
    > vfio: Define device_api strings
    > docs: Add Documentation for Mediated devices
    > docs: Sysfs ABI for mediated device framework
    > docs: Sample driver to demonstrate how to use Mediated device
    > framework.
    >
    > Documentation/ABI/testing/sysfs-bus-vfio-mdev | 111 ++
    > Documentation/vfio-mdev/Makefile | 13 +
    > Documentation/vfio-mdev/mtty.c | 1503 ++++++++++++++++++++++
    > Documentation/vfio-mdev/vfio-mediated-device.txt | 398 ++++++
    > drivers/vfio/Kconfig | 1 +
    > drivers/vfio/Makefile | 1 +
    > drivers/vfio/mdev/Kconfig | 17 +
    > drivers/vfio/mdev/Makefile | 5 +
    > drivers/vfio/mdev/mdev_core.c | 384 ++++++
    > drivers/vfio/mdev/mdev_driver.c | 122 ++
    > drivers/vfio/mdev/mdev_private.h | 41 +
    > drivers/vfio/mdev/mdev_sysfs.c | 286 ++++
    > drivers/vfio/mdev/vfio_mdev.c | 148 +++
    > drivers/vfio/pci/vfio_pci.c | 78 +-
    > drivers/vfio/platform/vfio_platform_common.c | 31 +-
    > drivers/vfio/vfio.c | 322 ++++-
    > drivers/vfio/vfio_iommu_type1.c | 808 ++++++++++--
    > include/linux/mdev.h | 167 +++
    > include/linux/vfio.h | 30 +-
    > include/uapi/linux/vfio.h | 10 +
    > 20 files changed, 4270 insertions(+), 206 deletions(-)
    > create mode 100644 Documentation/ABI/testing/sysfs-bus-vfio-mdev
    > create mode 100644 Documentation/vfio-mdev/Makefile
    > create mode 100644 Documentation/vfio-mdev/mtty.c
    > create mode 100644 Documentation/vfio-mdev/vfio-mediated-device.txt
    > 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_private.h
    > create mode 100644 drivers/vfio/mdev/mdev_sysfs.c
    > create mode 100644 drivers/vfio/mdev/vfio_mdev.c
    > create mode 100644 include/linux/mdev.h

    A side note:

    I rebased KVMGT upon v10, with 2 minor changes:

    1, get_user_pages_remote has only 7 args
    2, vfio iommu notifier calls vendor callback with iova instead of pfn

    so far it works pretty well. Thanks!

    --
    Thanks,
    Jike

    \
     
     \ /
      Last update: 2016-11-01 09:36    [W:4.619 / U:0.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site