From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 10/10] xen/arm,arm64: enable SWIOTLB_XEN
Date: Fri, 30 Aug 2013 09:22:10 -0400 [thread overview]
Message-ID: <20130830132210.GE21239@phenom.dumpdata.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1308291637230.6397@kaball.uk.xensource.com>
On Thu, Aug 29, 2013 at 04:38:17PM +0100, Stefano Stabellini wrote:
> On Thu, 29 Aug 2013, Ian Campbell wrote:
> > On Wed, 2013-08-28 at 21:07 +0100, Stefano Stabellini wrote:
> > > On Thu, 15 Aug 2013, Ian Campbell wrote:
> > > > On Thu, 2013-08-15 at 12:10 +0100, Stefano Stabellini wrote:
> > > > > At the moment always rely on swiotlb-xen, but when Xen starts supporting
> > > > > hardware IOMMUs we'll be able to avoid it conditionally on the presence
> > > > > of an IOMMU on the platform.
> > > >
> > > > Do we have any idea how we are going to do this?
> > > >
> > > > It's extra complicated if you consider that on some systems on some of
> > > > the devices are behind an IOMMU :-/
> > > >
> > > > I wonder if we can enumerate which devices have an IOMMU at boot time
> > > > and force a ludicrous dma mask (such as 0) if one isn't present in order
> > > > to force us to always take the exchange_and_pin path?
> > >
> > > We don't need to worry about how to specify which devices need to go via
> > > the swiotlb internally, because we have our own arm specific
> > > dma_map_ops. At the moment they are just implemented using the
> > > swiotlb-xen functions, but we could easily provide wrappers that check
> > > our own internal whitelist/blacklist and go via swiotlb-xen only in
> > > those cases.
> >
> > OK, but how do we decide which devices go on those lists? We need some
> > sort of indication from the hypervisor, don't we? Only Xen knows if it
> > has an iommu it can use because the iommu must necessarily be hidden
> > from Linux.
>
> Right. Maybe Xen could mark the devices that are safe to use without
> swiotlb-xen on device tree? Adding a property to the node?
We do a hypercall for adding devices (See drivers/xen/pci.c). Perhaps
you can piggyback on that one and on ARM return 0 for the devices that
are under Xen control (so IOMMU) and for non-Xen control (those
that will need SWIOTLB) return -EYOUNEEDTOHANDLEIT and use it?
prev parent reply other threads:[~2013-08-30 13:22 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-15 11:10 [PATCH v4 0/10] enable swiotlb-xen on arm and arm64 Stefano Stabellini
2013-08-15 11:10 ` [PATCH v4 01/10] swiotlb: replace dma_length with sg_dma_len() macro Stefano Stabellini
2013-08-15 19:45 ` Konrad Rzeszutek Wilk
2013-08-15 11:10 ` [PATCH v4 02/10] swiotlb-xen: " Stefano Stabellini
2013-08-15 19:45 ` Konrad Rzeszutek Wilk
2013-08-15 11:10 ` [PATCH v4 03/10] arm: make SWIOTLB available Stefano Stabellini
2013-08-15 11:10 ` [PATCH v4 04/10] arm: introduce a global dma_ops pointer Stefano Stabellini
2013-08-15 11:10 ` [PATCH v4 05/10] arm64: do not initialize arm64_swiotlb if dma_ops is already set Stefano Stabellini
2013-08-19 16:55 ` Catalin Marinas
2013-08-15 11:10 ` [PATCH v4 06/10] xen/arm,arm64: move Xen initialization earlier Stefano Stabellini
2013-08-19 16:55 ` Catalin Marinas
2013-08-28 19:52 ` Stefano Stabellini
2013-08-15 11:10 ` [PATCH v4 07/10] xen: introduce XENMEM_exchange_and_pin and XENMEM_unpin Stefano Stabellini
2013-08-15 19:50 ` Konrad Rzeszutek Wilk
2013-08-29 15:54 ` Stefano Stabellini
2013-08-15 11:10 ` [PATCH v4 08/10] xen: make xen_create_contiguous_region return the dma address Stefano Stabellini
2013-08-15 11:10 ` [PATCH v4 09/10] swiotlb-xen: support autotranslate guests Stefano Stabellini
2013-08-15 20:07 ` Konrad Rzeszutek Wilk
2013-08-29 16:05 ` Stefano Stabellini
2013-08-30 13:23 ` Konrad Rzeszutek Wilk
2013-08-15 11:10 ` [PATCH v4 10/10] xen/arm,arm64: enable SWIOTLB_XEN Stefano Stabellini
2013-08-15 20:58 ` Ian Campbell
2013-08-28 20:07 ` Stefano Stabellini
2013-08-29 8:40 ` Ian Campbell
2013-08-29 15:38 ` Stefano Stabellini
2013-08-30 13:22 ` Konrad Rzeszutek Wilk [this message]
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=20130830132210.GE21239@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=Ian.Campbell@citrix.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xensource.com \
/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).