Subject: Re: Maximum ioremap size for ppc arch?

From: Matt Porter <[email-masked]>
Date: Mon, 3 Dec 2007 09:30:09 -0600

On Mon, Dec 03, 2007 at 09:22:06AM -0000, [email-masked] wrote:
> I'm trying to get am MPC834x system running that has 256MBytes of NOR
> flash connected.
> 
> The physmap flash driver is failing to ioremap() that amount of space,
> while on a similar system with 128Mbytes of flash, there are no
> problems.
> 
> Is this a known limitation of ioremap() on the ppc architecture, or
> specifically the MPC834x family, and is there any (hopefully easy) way
> to increase this limit?

The answer is "it depends". It depends on the amount of system memory
you have. By default, your system memory is mapped at 0xc0000000, leaving
not enough space for vmalloc allocations to grab 256MB for the
ioremap (and avoid the fixed virtual mapping in the high virtual
address area).

See the "Advanced setup" menu. Normally, you can set "Set custom kernel
base address" to 0xa0000000 safely. That will give you an additional
256MB of vmalloc space. On arch/powerpc, you'll also have to set
"Size of user task space" to 0x80000000 or 0xa0000000.

-Matt