On Mon, 8 Mar 2021 10:59:13 -0700 Alex Williamson <alex.williamson@xxxxxxxxxx> wrote: > On Fri, 5 Mar 2021 09:46:49 +0100 > Cornelia Huck <cohuck@xxxxxxxxxx> 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 > > > --- a/drivers/vfio/Kconfig > > > +++ 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?) > > We do have the no-iommu code in vfio, potentially it's useful for !MMU, > I guess. It seems a little arbitrary to remove it without a known > breakage at this point. Thanks, > > Alex Well, in practice, I think we had an implicit dependency on MMU before (everything selecting IOMMU_API depended on MMU.) If we think !MMU would be useful for the no-iommu use case, we can certainly restrict the dependency to VFIO_IOMMU_TYPE1.