On Mon, 30 Jan 2023 14:28:54 -0400 Jason Gunthorpe <jgg@xxxxxxxxxx> wrote: > On Wed, Jan 18, 2023 at 01:50:28PM -0400, Jason Gunthorpe wrote: > > Add a small amount of emulation to vfio_compat to accept the SET_IOMMU to > > VFIO_NOIOMMU_IOMMU and have vfio just ignore iommufd if it is working on a > > no-iommu enabled device. > > > > Move the enable_unsafe_noiommu_mode module out of container.c into > > vfio_main.c so that it is always available even if VFIO_CONTAINER=n. > > > > This passes Alex's mini-test: > > > > https://github.com/awilliam/tests/blob/master/vfio-noiommu-pci-device-open.c > > > > Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx> > > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > > --- > > drivers/iommu/iommufd/Kconfig | 2 +- > > drivers/iommu/iommufd/iommufd_private.h | 2 + > > drivers/iommu/iommufd/vfio_compat.c | 105 +++++++++++++++++++----- > > drivers/vfio/Kconfig | 2 +- > > drivers/vfio/container.c | 7 -- > > drivers/vfio/group.c | 7 +- > > drivers/vfio/iommufd.c | 19 ++++- > > drivers/vfio/vfio.h | 8 +- > > drivers/vfio/vfio_main.c | 7 ++ > > include/linux/iommufd.h | 12 ++- > > 10 files changed, 136 insertions(+), 35 deletions(-) > > > > v3: > > - Missed kdoc > > - Incorrect indent > > - Consolidate duplicate code into vfio_device_is_noiommu() > > v2: https://lore.kernel.org/r/0-v2-568c93fef076+5a-iommufd_noiommu_jgg@xxxxxxxxxx > > - Passes Alex's test > > - Fix a spelling error for s/CONFIG_VFIO_NO_IOMMU/CONFIG_VFIO_NOIOMMU/ > > - Prevent type1 mode from being requested and prevent a compat IOAS from being > > auto created with an additional context global trap door flag > > - Make it so VFIO_CONTAINER=n still creates the module option and related machinery > > - Comment updates > > v1: https://lore.kernel.org/all/0-v1-5cde901db21d+661fe-iommufd_noiommu_jgg@xxxxxxxxxx > > > > Alex, if you are good with this can you ack it and I'll send you a PR. Yi will > > need to rebase his series on top of it. > > Alex are we OK? Sure. Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx>