OpenCloudOS-Kernel/drivers/vfio
Jason Gunthorpe a4d1f91db5 vfio-iommufd: Support iommufd for physical VFIO devices
This creates the iommufd_device for the physical VFIO drivers. These are
all the drivers that are calling vfio_register_group_dev() and expect the
type1 code to setup a real iommu_domain against their parent struct
device.

The design gives the driver a choice in how it gets connected to iommufd
by providing bind_iommufd/unbind_iommufd/attach_ioas callbacks to
implement as required. The core code provides three default callbacks for
physical mode using a real iommu_domain. This is suitable for drivers
using vfio_register_group_dev()

Link: https://lore.kernel.org/r/6-v4-42cd2eb0e3eb+335a-vfio_iommufd_jgg@nvidia.com
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
Tested-by: Alex Williamson <alex.williamson@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Yi Liu <yi.l.liu@intel.com>
Tested-by: Lixiao Yang <lixiao.yang@intel.com>
Tested-by: Matthew Rosato <mjrosato@linux.ibm.com>
Tested-by: Yu He <yu.he@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2022-12-02 11:52:03 -04:00
..
fsl-mc vfio-iommufd: Support iommufd for physical VFIO devices 2022-12-02 11:52:03 -04:00
mdev vfio/mdev: add mdev available instance checking to the core 2022-10-04 12:06:58 -06:00
pci vfio-iommufd: Support iommufd for physical VFIO devices 2022-12-02 11:52:03 -04:00
platform vfio-iommufd: Support iommufd for physical VFIO devices 2022-12-02 11:52:03 -04:00
Kconfig vfio-iommufd: Allow iommufd to be used in place of a container fd 2022-12-02 11:52:03 -04:00
Makefile vfio-iommufd: Support iommufd for physical VFIO devices 2022-12-02 11:52:03 -04:00
container.c vfio-iommufd: Allow iommufd to be used in place of a container fd 2022-12-02 11:52:03 -04:00
iommufd.c vfio-iommufd: Support iommufd for physical VFIO devices 2022-12-02 11:52:03 -04:00
iova_bitmap.c vfio: Add an IOVA bitmap support 2022-09-08 12:59:00 -06:00
vfio.h vfio-iommufd: Support iommufd for physical VFIO devices 2022-12-02 11:52:03 -04:00
vfio_iommu_spapr_tce.c vfio/spapr_tce: Fix the comment 2022-07-22 16:24:47 -06:00
vfio_iommu_type1.c Merge branches 'apple/dart', 'arm/mediatek', 'arm/omap', 'arm/smmu', 'virtio', 'x86/vt-d', 'x86/amd' and 'core' into next 2022-09-26 15:52:31 +02:00
vfio_main.c vfio-iommufd: Support iommufd for physical VFIO devices 2022-12-02 11:52:03 -04:00
vfio_spapr_eeh.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
virqfd.c vfio/virqfd: Drain events from eventfd in virqfd_wakeup() 2020-11-15 09:49:10 -05:00