On 14/02/2020 4:04 pm, Jean-Philippe Brucker wrote:> With the built-in topology description in place, x86 platforms can now > use the virtio-iommu. > > Signed-off-by: Jean-Philippe Brucker <jean-philippe at linaro.org> > --- > drivers/iommu/Kconfig | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig > index 068d4e0e3541..adcbda44d473 100644 > --- a/drivers/iommu/Kconfig > +++ b/drivers/iommu/Kconfig > @@ -508,8 +508,9 @@ config HYPERV_IOMMU > config VIRTIO_IOMMU > bool "Virtio IOMMU driver" > depends on VIRTIO=y > - depends on ARM64 > + depends on (ARM64 || X86) > select IOMMU_API > + select IOMMU_DMACan that have an "if X86" for clarity? AIUI it's not necessary for virtio-iommu itself (and really shouldn't be), but is merely to satisfy the x86 arch code's expectation that IOMMU drivers bring their own DMA ops, right? Robin.> select INTERVAL_TREE > help > Para-virtualised IOMMU driver with virtio. >
On Fri, Feb 14, 2020 at 04:57:11PM +0000, Robin Murphy wrote:> On 14/02/2020 4:04 pm, Jean-Philippe Brucker wrote: > > With the built-in topology description in place, x86 platforms can now > > use the virtio-iommu. > > > > Signed-off-by: Jean-Philippe Brucker <jean-philippe at linaro.org> > > --- > > drivers/iommu/Kconfig | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig > > index 068d4e0e3541..adcbda44d473 100644 > > --- a/drivers/iommu/Kconfig > > +++ b/drivers/iommu/Kconfig > > @@ -508,8 +508,9 @@ config HYPERV_IOMMU > > config VIRTIO_IOMMU > > bool "Virtio IOMMU driver" > > depends on VIRTIO=y > > - depends on ARM64 > > + depends on (ARM64 || X86) > > select IOMMU_API > > + select IOMMU_DMA > > Can that have an "if X86" for clarity? AIUI it's not necessary for > virtio-iommu itself (and really shouldn't be), but is merely to satisfy the > x86 arch code's expectation that IOMMU drivers bring their own DMA ops, > right? > > Robin.In fact does not this work on any platform now?> > select INTERVAL_TREE > > help > > Para-virtualised IOMMU driver with virtio. > >
On Sun, Feb 16, 2020 at 04:50:33AM -0500, Michael S. Tsirkin wrote:> On Fri, Feb 14, 2020 at 04:57:11PM +0000, Robin Murphy wrote: > > On 14/02/2020 4:04 pm, Jean-Philippe Brucker wrote: > > > With the built-in topology description in place, x86 platforms can now > > > use the virtio-iommu. > > > > > > Signed-off-by: Jean-Philippe Brucker <jean-philippe at linaro.org> > > > --- > > > drivers/iommu/Kconfig | 3 ++- > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig > > > index 068d4e0e3541..adcbda44d473 100644 > > > --- a/drivers/iommu/Kconfig > > > +++ b/drivers/iommu/Kconfig > > > @@ -508,8 +508,9 @@ config HYPERV_IOMMU > > > config VIRTIO_IOMMU > > > bool "Virtio IOMMU driver" > > > depends on VIRTIO=y > > > - depends on ARM64 > > > + depends on (ARM64 || X86) > > > select IOMMU_API > > > + select IOMMU_DMA > > > > Can that have an "if X86" for clarity? AIUI it's not necessary for > > virtio-iommu itself (and really shouldn't be), but is merely to satisfy the > > x86 arch code's expectation that IOMMU drivers bring their own DMA ops, > > right? > > > > Robin. > > In fact does not this work on any platform now?There is ongoing work to use the generic IOMMU_DMA ops on X86. AMD IOMMU has been converted recently [1] but VT-d still implements its own DMA ops (conversion patches are on the list [2]). On Arm the arch Kconfig selects IOMMU_DMA, and I assume we'll have the same on X86 once Tom's work is complete. Until then I can add a "if X86" here for clarity. Thanks, Jean [1] https://lore.kernel.org/linux-iommu/20190613223901.9523-1-murphyt7 at tcd.ie/ [2] https://lore.kernel.org/linux-iommu/20191221150402.13868-1-murphyt7 at tcd.ie/