xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
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?

      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).