2ff4bed7fe
This is the basic infrastructure of a new miscdevice to hold the iommufd IOCTL API. It provides: - A miscdevice to create file descriptors to run the IOCTL interface over - A table based ioctl dispatch and centralized extendable pre-validation step - An xarray mapping userspace ID's to kernel objects. The design has multiple inter-related objects held within in a single IOMMUFD fd - A simple usage count to build a graph of object relations and protect against hostile userspace racing ioctls The only IOCTL provided in this patch is the generic 'destroy any object by handle' operation. Link: https://lore.kernel.org/r/6-v6-a196d26f289e+11787-iommufd_jgg@nvidia.com Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Reviewed-by: Eric Auger <eric.auger@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> Signed-off-by: Yi Liu <yi.l.liu@intel.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
34 lines
1.4 KiB
Makefile
34 lines
1.4 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
obj-y += amd/ intel/ arm/ iommufd/
|
|
obj-$(CONFIG_IOMMU_API) += iommu.o
|
|
obj-$(CONFIG_IOMMU_API) += iommu-traces.o
|
|
obj-$(CONFIG_IOMMU_API) += iommu-sysfs.o
|
|
obj-$(CONFIG_IOMMU_DEBUGFS) += iommu-debugfs.o
|
|
obj-$(CONFIG_IOMMU_DMA) += dma-iommu.o
|
|
obj-$(CONFIG_IOMMU_IO_PGTABLE) += io-pgtable.o
|
|
obj-$(CONFIG_IOMMU_IO_PGTABLE_ARMV7S) += io-pgtable-arm-v7s.o
|
|
obj-$(CONFIG_IOMMU_IO_PGTABLE_LPAE) += io-pgtable-arm.o
|
|
obj-$(CONFIG_IOMMU_IO_PGTABLE_DART) += io-pgtable-dart.o
|
|
obj-$(CONFIG_IOASID) += ioasid.o
|
|
obj-$(CONFIG_IOMMU_IOVA) += iova.o
|
|
obj-$(CONFIG_OF_IOMMU) += of_iommu.o
|
|
obj-$(CONFIG_MSM_IOMMU) += msm_iommu.o
|
|
obj-$(CONFIG_IPMMU_VMSA) += ipmmu-vmsa.o
|
|
obj-$(CONFIG_IRQ_REMAP) += irq_remapping.o
|
|
obj-$(CONFIG_MTK_IOMMU) += mtk_iommu.o
|
|
obj-$(CONFIG_MTK_IOMMU_V1) += mtk_iommu_v1.o
|
|
obj-$(CONFIG_OMAP_IOMMU) += omap-iommu.o
|
|
obj-$(CONFIG_OMAP_IOMMU_DEBUG) += omap-iommu-debug.o
|
|
obj-$(CONFIG_ROCKCHIP_IOMMU) += rockchip-iommu.o
|
|
obj-$(CONFIG_SUN50I_IOMMU) += sun50i-iommu.o
|
|
obj-$(CONFIG_TEGRA_IOMMU_GART) += tegra-gart.o
|
|
obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o
|
|
obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o
|
|
obj-$(CONFIG_FSL_PAMU) += fsl_pamu.o fsl_pamu_domain.o
|
|
obj-$(CONFIG_S390_IOMMU) += s390-iommu.o
|
|
obj-$(CONFIG_HYPERV_IOMMU) += hyperv-iommu.o
|
|
obj-$(CONFIG_VIRTIO_IOMMU) += virtio-iommu.o
|
|
obj-$(CONFIG_IOMMU_SVA) += iommu-sva.o io-pgfault.o
|
|
obj-$(CONFIG_SPRD_IOMMU) += sprd-iommu.o
|
|
obj-$(CONFIG_APPLE_DART) += apple-dart.o
|