From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Cc: "virtio-dev@lists.oasis-open.org"
<virtio-dev@lists.oasis-open.org>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
"tnowicki@caviumnetworks.com" <tnowicki@caviumnetworks.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Marc Zyngier <Marc.Zyngier@arm.com>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
Joerg Roedel <joro@8bytes.org>, Will Deacon <Will.Deacon@arm.com>,
"virtualization@lists.linux-foundation.org"
<virtualization@lists.linux-foundation.org>,
"iommu@lists.linux-foundation.org"
<iommu@lists.linux-foundation.org>,
"robh+dt@kernel.org" <robh+dt@kernel.org>,
"bhelgaas@google.com" <bhelgaas@google.com>,
Robin Murphy <Robin.Murphy@arm.com>,
"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>
Subject: Re: [PATCH v6 0/7] Add virtio-iommu driver
Date: Thu, 20 Dec 2018 13:17:34 -0500 [thread overview]
Message-ID: <20181220130443-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <e1c7aee9-083d-103a-87a9-b59d5e63d7aa@arm.com>
On Thu, Dec 20, 2018 at 05:59:46PM +0000, Jean-Philippe Brucker wrote:
> On 19/12/2018 23:09, Michael S. Tsirkin wrote:
> > On Thu, Dec 13, 2018 at 12:50:29PM +0000, Jean-Philippe Brucker wrote:
> >>>> [3] git://linux-arm.org/linux-jpb.git virtio-iommu/v0.9.1
> >>>> git://linux-arm.org/kvmtool-jpb.git virtio-iommu/v0.9
> >>>
> >>> Unfortunatly gitweb seems to be broken on linux-arm.org. What is missing
> >>> in this patch-set to make this work on x86?
> >>
> >> You should be able to access it here:
> >> http://www.linux-arm.org/git?p=linux-jpb.git;a=shortlog;h=refs/heads/virtio-iommu/devel
> >>
> >> That branch contains missing bits for x86 support:
> >>
> >> * ACPI support. We have the code but it's waiting for an IORT spec
> >> update, to reserve the IORT node ID. I expect it to take a while, given
> >> that I'm alone requesting a change for something that's not upstream or
> >> in hardware.
> >
> > Frankly I think you should take a hard look at just getting the data
> > needed from the PCI device itself. You don't need to depend on virtio,
> > it can be a small driver that gets you that data from the device config
> > space and then just goes away.
> >
> > If you want help with writing such a small driver let me know.
> >
> > If there's an advantage to virtio-iommu then that would be its
> > portability, and it all goes out of the window because
> > of dependencies on ACPI and DT and OF and the rest of the zoo.
>
> But the portable solutions are ACPI and DT.
>
> Describing the DMA dependency through a device would require the guest
> to probe the device before all others. How do we communicate this?
> * pass a kernel parameter saying something like "probe_first=00:01.0"
> * make sure that the PCI root complex is probed before any other
> platform device (since the IOMMU can manage DMA of platform devices).
My idea was to just find and probe the specific device.
> * change DT, ACPI and PCI core code to handle this probe_first kernel
> parameter.
>
> Better go with something standard, that any OS and hypervisor knows how
> to use, and that other IOMMU devices already use.
>
> >> * DMA ops for x86 (see "HACK" commit). I'd like to use dma-iommu but I'm
> >> not sure how to implement the glue that sets dma_ops properly.
> >>
> >> Thanks,
> >> Jean
> >
> > OK so IIUC you are looking into Christoph's suggestions to fix that up?
>
> Eventually yes. I'll give it a try next year, once the dma-iommu changes
> are on the list. It's not a priority for me, given that x86 already has
> a pvIOMMU with VT-d, and that Arm still needs one.
Well that's a kind of a weak usecase, isn't it?
Can we just build VTD on ARM?
diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
index d9a25715650e..009fa98e9363 100644
--- a/drivers/iommu/Kconfig
+++ b/drivers/iommu/Kconfig
@@ -174,7 +174,7 @@ config DMAR_TABLE
config INTEL_IOMMU
bool "Support for Intel IOMMU using DMA Remapping Devices"
- depends on PCI_MSI && ACPI && (X86 || IA64_GENERIC)
+ depends on PCI_MSI && ACPI && (X86 || IA64_GENERIC || ARM)
select IOMMU_API
select IOMMU_IOVA
select NEED_DMA_MAP_STATE
didn't try this one ...
> It shouldn't block
> this series.
>
> > There's still a bit of time left before the merge window,
> > maybe you can make above changes.
>
> I'll wait to see if Joerg has other concerns about the design or the
> code, and resend in January. I think that IOMMU driver changes should go
> through his tree.
>
> Thanks,
> Jean
Sorry which changes do you mean?
--
MST
next prev parent reply other threads:[~2018-12-20 18:17 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-11 18:20 [PATCH v6 0/7] Add virtio-iommu driver Jean-Philippe Brucker
2018-12-11 18:20 ` [PATCH v6 1/7] dt-bindings: virtio-mmio: Add IOMMU description Jean-Philippe Brucker
2018-12-11 18:20 ` [PATCH v6 2/7] dt-bindings: virtio: Add virtio-pci-iommu node Jean-Philippe Brucker
2018-12-11 18:21 ` [PATCH v6 3/7] of: Allow the iommu-map property to omit untranslated devices Jean-Philippe Brucker
2018-12-11 18:21 ` [PATCH v6 4/7] PCI: OF: Initialize dev->fwnode appropriately Jean-Philippe Brucker
2018-12-11 18:21 ` [PATCH v6 5/7] iommu: Add virtio-iommu driver Jean-Philippe Brucker
2018-12-11 18:21 ` [PATCH v6 6/7] iommu/virtio: Add probe request Jean-Philippe Brucker
2018-12-11 18:21 ` [PATCH v6 7/7] iommu/virtio: Add event queue Jean-Philippe Brucker
[not found] ` <20181211182104.18241-1-jean-philippe.brucker-5wv7dgnIgG8@public.gmane.org>
2018-12-11 18:31 ` [PATCH v6 0/7] Add virtio-iommu driver Christoph Hellwig
2018-12-11 19:07 ` Jean-Philippe Brucker
2018-12-12 0:39 ` Michael S. Tsirkin
2018-12-12 10:35 ` Joerg Roedel
2018-12-12 14:35 ` Michael S. Tsirkin
2018-12-13 12:50 ` Jean-Philippe Brucker
2018-12-13 14:17 ` Christoph Hellwig
2018-12-19 23:09 ` Michael S. Tsirkin
2018-12-20 17:59 ` Jean-Philippe Brucker
2018-12-20 18:17 ` Michael S. Tsirkin [this message]
2019-01-11 12:28 ` Joerg Roedel
2019-01-11 13:00 ` Jean-Philippe Brucker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181220130443-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=Lorenzo.Pieralisi@arm.com \
--cc=Marc.Zyngier@arm.com \
--cc=Robin.Murphy@arm.com \
--cc=Will.Deacon@arm.com \
--cc=bhelgaas@google.com \
--cc=devicetree@vger.kernel.org \
--cc=iommu@lists.linux-foundation.org \
--cc=jean-philippe.brucker@arm.com \
--cc=joro@8bytes.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-pci@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=tnowicki@caviumnetworks.com \
--cc=virtio-dev@lists.oasis-open.org \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).