[PATCH v2 00/11] Connect VFIO to IOMMUFD

Tian, Kevin kevin.tian at intel.com
Wed Nov 9 09:03:52 UTC 2022


every mail in this series is shown thrice in lore:

https://lore.kernel.org/all/0-v2-65016290f146+33e-vfio_iommufd_jgg@nvidia.com/

not sure what caused it but it's annoying to check the conversation there.

the iommufd series doesn't have this problem.

> From: Jason Gunthorpe <jgg at nvidia.com>
> Sent: Tuesday, November 8, 2022 8:53 AM
> 
> This series provides an alternative container layer for VFIO implemented
> using iommufd. This is optional, if CONFIG_IOMMUFD is not set then it will
> not be compiled in.
> 
> At this point iommufd can be injected by passing in a iommfd FD to
> VFIO_GROUP_SET_CONTAINER which will use the VFIO compat layer in
> iommufd
> to obtain the compat IOAS and then connect up all the VFIO drivers as
> appropriate.
> 
> This is temporary stopping point, a following series will provide a way to
> directly open a VFIO device FD and directly connect it to IOMMUFD using
> native ioctls that can expose the IOMMUFD features like hwpt, future
> vPASID and dynamic attachment.
> 
> This series, in compat mode, has passed all the qemu tests we have
> available, including the test suites for the Intel GVT mdev. Aside from
> the temporary limitation with P2P memory this is belived to be fully
> compatible with VFIO.
> 
> This is on github:
> https://github.com/jgunthorpe/linux/commits/vfio_iommufd
> 
> It requires the iommufd series:
> 
> https://lore.kernel.org/r/0-v4-0de2f6c78ed0+9d1-iommufd_jgg@nvidia.com
> 
> v2:
>  - Rebase to v6.1-rc3, v4 iommufd series
>  - Fixup comments and commit messages from list remarks
>  - Fix leaking of the iommufd for mdevs
>  - New patch to fix vfio modaliases when vfio container is disabled
>  - Add a dmesg once when the iommufd provided /dev/vfio/vfio is opened
>    to signal that iommufd is providing this
> v1: https://lore.kernel.org/r/0-v1-4991695894d8+211-
> vfio_iommufd_jgg at nvidia.com
> 
> Jason Gunthorpe (11):
>   vfio: Move vfio_device driver open/close code to a function
>   vfio: Move vfio_device_assign_container() into
>     vfio_device_first_open()
>   vfio: Rename vfio_device_assign/unassign_container()
>   vfio: Move storage of allow_unsafe_interrupts to vfio_main.c
>   vfio: Use IOMMU_CAP_ENFORCE_CACHE_COHERENCY for
>     vfio_file_enforced_coherent()
>   vfio-iommufd: Allow iommufd to be used in place of a container fd
>   vfio-iommufd: Support iommufd for physical VFIO devices
>   vfio-iommufd: Support iommufd for emulated VFIO devices
>   vfio: Move container related MODULE_ALIAS statements into container.c
>   vfio: Make vfio_container optionally compiled
>   iommufd: Allow iommufd to supply /dev/vfio/vfio
> 
>  drivers/gpu/drm/i915/gvt/kvmgt.c              |   3 +
>  drivers/iommu/iommufd/Kconfig                 |  12 +
>  drivers/iommu/iommufd/main.c                  |  36 ++
>  drivers/s390/cio/vfio_ccw_ops.c               |   3 +
>  drivers/s390/crypto/vfio_ap_ops.c             |   3 +
>  drivers/vfio/Kconfig                          |  36 +-
>  drivers/vfio/Makefile                         |   5 +-
>  drivers/vfio/container.c                      | 141 ++------
>  drivers/vfio/fsl-mc/vfio_fsl_mc.c             |   3 +
>  drivers/vfio/iommufd.c                        | 157 ++++++++
>  .../vfio/pci/hisilicon/hisi_acc_vfio_pci.c    |   6 +
>  drivers/vfio/pci/mlx5/main.c                  |   3 +
>  drivers/vfio/pci/vfio_pci.c                   |   3 +
>  drivers/vfio/platform/vfio_amba.c             |   3 +
>  drivers/vfio/platform/vfio_platform.c         |   3 +
>  drivers/vfio/vfio.h                           | 100 +++++-
>  drivers/vfio/vfio_iommu_type1.c               |   5 +-
>  drivers/vfio/vfio_main.c                      | 338 ++++++++++++++----
>  include/linux/vfio.h                          |  39 ++
>  19 files changed, 700 insertions(+), 199 deletions(-)
>  create mode 100644 drivers/vfio/iommufd.c
> 
> 
> base-commit: ca3067007d4f2aa7f3a5375bd256839e08a09453
> --
> 2.38.1



More information about the dri-devel mailing list