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: <20120412201533.GA26533@mail.gnudd.com>
Date:	Thu, 12 Apr 2012 22:15:33 +0200
From:	Alessandro Rubini <rubini@...dd.com>
To:	hpa@...or.com
Cc:	mingo@...e.hu, akpm@...ux-foundation.org, jbarnes@...tuousgeek.org,
	fujita.tomonori@....ntt.co.jp, linux-kernel@...r.kernel.org,
	tglx@...utronix.de, mingo@...hat.com, x86@...nel.org,
	giancarlo.asnaghi@...com, alan@...ux.intel.com
Subject: Re: [PATCH V4 1/3] x86: introduce CONFIG_X86_DEV_DMA_OPS

Peter Anvin:
> I looked over it, and at least this bit seems okay to me.
> 
> Acked-by: H. Peter Anvin <hpa@...or.com>

Thanks.

> I have to express some concern about where this device may be going,
> though.

Well, this CONFIG_X86_DEV_DMA_OPS in particular should not be
concerning, as it's just separating out an x86-64 ifdef so it can be
used and activated by 32-bit systems as well.

As for "this device", it's an I/O Hub that can be used as main chipset
on Atom computers, mainly aimed at the automotive sector. It is a
typical ARM SoC with the usual set of internal peripherals, mounted on
a bridge between PCIe and AMBA, so the PCIe host can access the SoC
peripherals -- and SoC peripherals can DMA to PCIe memory.  Actually,
some SoC devices work well using the existing amba drivers, with
minimal changes that I plan to clean up and submit soon.

The strange DMA requirements here depend on the size limits of the
respective windows: SoC devices can only access a 512MB window of the
host memory, so we need to take care of this with special options.

The current approach is using swiotlb and it works pretty well, though
with a limit of 4MB of swiotlb area.  I've been considering use of the
DMA zone to this aim: internally I have some half-working thing that
resuses the ISA DMA zone for our own aims, raising the DMA limit to
512MB.

Do you think the approach may make sense? I use this basic
thing in Kconfig, to rely on GFP_DMA for the rest:

  config MAX_DMA_PADDR
          int
          default 536870912 if MAX_DMA_PADDR_512M
          default 16777216

  config MAX_DMA_PADDR_512M
          bool

(actually, we'd benefit from being able to use hex in defaults)

Is this worth exploring, to possibly submit a patch in this direction?

thanks
/alessandro
--
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