On Fri, Mar 05, 2021 at 09:46:49AM +0100, Cornelia Huck wrote: > On Thu, 4 Mar 2021 21:30:03 -0400 > Jason Gunthorpe <jgg@xxxxxxxxxx> wrote: > > > VFIO_IOMMU_TYPE1 does not compile with !MMU: > > > > ../drivers/vfio/vfio_iommu_type1.c: In function 'follow_fault_pfn': > > ../drivers/vfio/vfio_iommu_type1.c:536:22: error: implicit declaration of function 'pte_write'; did you mean 'vfs_write'? [-Werror=implicit-function-declaration] > > > > So require it. > > > > Suggested-by: Cornelia Huck <cohuck@xxxxxxxxxx> > > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > > drivers/vfio/Kconfig | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/vfio/Kconfig b/drivers/vfio/Kconfig > > index 90c0525b1e0cf4..67d0bf4efa1606 100644 > > +++ b/drivers/vfio/Kconfig > > @@ -22,7 +22,7 @@ config VFIO_VIRQFD > > menuconfig VFIO > > tristate "VFIO Non-Privileged userspace driver framework" > > select IOMMU_API > > - select VFIO_IOMMU_TYPE1 if (X86 || S390 || ARM || ARM64) > > + select VFIO_IOMMU_TYPE1 if MMU && (X86 || S390 || ARM || ARM64) > > help > > VFIO provides a framework for secure userspace device drivers. > > See Documentation/driver-api/vfio.rst for more details. > > Actually, I'm wondering how much sense vfio makes on !MMU at all? (And > maybe just merge this with your patch that switches IOMMU_API from a > depend to a select, because that is the change that makes the MMU > dependency required?) Why does changing depend to select affect MMU vs !MMU? Am I missing something? It looks like IOMMU_API can be turned with ARM !MMU here, for instance: config MSM_IOMMU bool "MSM IOMMU Support" depends on ARM depends on ARCH_MSM8X60 || ARCH_MSM8960 || COMPILE_TEST select IOMMU_API Generally with !MMU I try to ignore it as much as possible unless things don't compile, as I have no idea what people use it for :) Jason