lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.02.1308021316290.4893@kaball.uk.xensource.com>
Date:	Fri, 2 Aug 2013 13:18:04 +0100
From:	Stefano Stabellini <stefano.stabellini@...citrix.com>
To:	Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
CC:	Stefano Stabellini <stefano.stabellini@...citrix.com>,
	<xen-devel@...ts.xensource.com>, <linux-kernel@...r.kernel.org>,
	<linux-arm-kernel@...ts.infradead.org>, <Ian.Campbell@...rix.com>,
	<will.deacon@....com>, <linux@....linux.org.uk>
Subject: Re: [PATCH RFC 1/8] arm: make SWIOTLB available

On Fri, 2 Aug 2013, Konrad Rzeszutek Wilk wrote:
> On Fri, Aug 02, 2013 at 12:59:00PM +0100, Stefano Stabellini wrote:
> > On Wed, 31 Jul 2013, Konrad Rzeszutek Wilk wrote:
> > > Stefano Stabellini <stefano.stabellini@...citrix.com> wrote:
> > > >Signed-off-by: Stefano Stabellini <stefano.stabellini@...citrix.com>
> > > >CC: will.deacon@....com
> > > >CC: linux@....linux.org.uk
> > > >---
> > > > arch/arm/Kconfig                   |    7 +++++++
> > > > arch/arm/include/asm/dma-mapping.h |   24 ++++++++++++++++++++++++
> > > > 2 files changed, 31 insertions(+), 0 deletions(-)
> > > >
> > > >diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > > >index ba412e0..05125ab 100644
> > > >--- a/arch/arm/Kconfig
> > > >+++ b/arch/arm/Kconfig
> > > >@@ -1832,6 +1832,13 @@ config CC_STACKPROTECTOR
> > > > 	  neutralized via a kernel panic.
> > > > 	  This feature requires gcc version 4.2 or above.
> > > > 
> > > >+config SWIOTLB
> > > >+	def_bool y
> > > >+	select NEED_SG_DMA_LENGTH
> > > >+
> > > >+config IOMMU_HELPER
> > > >+	def_bool SWIOTLB
> > > >+
> > > 
> > > Could you explain the purpose of these two a bit more please? 
> > 
> > SWIOTLB is not available on arm at the moment.
> > We need to make it available, otherwise SWIOTLB_XEN won't be able to
> > select it.
> > 
> > Similarly, IOMMU_HELPER is another lib Kconfig symbol needed by SWIOTLB
> > to compile.
> 
> I was more curious about the NEED_SG_DMA_LENGTH and IOMMU_HELPER.
> I think the NEED_SG_DMA_LENGTH is optional? Or does SWIOTLB complain
> about?

Yes, it does:

lib/swiotlb.c: In function 'swiotlb_map_sg_attrs':
lib/swiotlb.c:873:11: error: 'struct scatterlist' has no member named 'dma_length'
lib/swiotlb.c:879:5: error: 'struct scatterlist' has no member named 'dma_length'
lib/swiotlb.c: In function 'swiotlb_unmap_sg_attrs':
lib/swiotlb.c:907:42: error: 'struct scatterlist' has no member named 'dma_length'
lib/swiotlb.c: In function 'swiotlb_sync_sg':
lib/swiotlb.c:937:11: error: 'struct scatterlist' has no member named 'dma_length'


> I do recall seeing a patch for this at some point but it was
> malformed. It was just changing SWIOTLB to use a macro for
> sg->dma_length or such.
> 
> But the IOMMU_HELPER? That seems odds as the DMA API (which as you know
> is what SWIOTLB hooks up to) is _below_ the IOMMU API.  Ah, it is 
> 'iommu_is_span_boundary' function.  Gotcha.

Yep, that's the one.


> Could you mention that in the git commit please? Just say that SWIOTLB
> uses some of the common code that IOMMU API uses - which is in the
> lib/iommu_helper.c hence the need for that.
> 
> And for the NEED_SG_DMA_LENGTH let me dig up the patch at some point and
> send it your way so you can make it part of this series.

OK
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ