[PATCH 01/10] ARM: change ARM_DMA_ZONE_SIZE into a variable

Russell King - ARM Linux linux at arm.linux.org.uk
Fri Jul 8 12:23:17 EDT 2011


On Fri, Jul 08, 2011 at 07:58:03AM -0600, John Linn wrote:
> It's only at addresses 0 - 512K that's not DMA-able.  I am using a DMA
> zone (with a hole at the front) to avoid this problem right now but
> maybe I'm not really understanding it and it's not working correctly.
> Testing looks good with the DMA zone.

That's more or less what we do with Integrator platforms.  It's very
unlikely that a kernel will ever be smaller than 512K, so if you place
it at 32K as normal, avoid freeing the .init text/data, and keep the
first 32K reserved (the second 16K will be reserved for the swapper
page table in any case) then you'll keep that memory away from anything
that might hand it out for DMA purposes.

See free_initmem() for the integrator stuff avoiding .init freeing, and
integrator_reserve() to keep the first 16K reserved.



More information about the linux-arm-kernel mailing list