every mail in this series is shown thrice in lore: https://lore.kernel.org/all/0-v2-65016290f146+33e-vfio_iommufd_jgg@xxxxxxxxxx/ 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@xxxxxxxxxx> > 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@xxxxxxxxxx > > 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@xxxxxxxxxx > > 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