Maximum ioremap size for ppc arch?

Scott Wood scottwood at
Thu Dec 6 04:46:16 EST 2007

michael.firth at wrote:
> My main queries are: 1) Why did changing the kernel base address to
> 0x80000000 make the system unstable?

Because there's a bug somewhere. :-)

> 2) Currently IMMRBAR has the same physical and virtual address. Does 
> this need to be the case?

No, and it is not done that way in arch/powerpc.

> 3) Why the kernel is designed to run at 0xc0000000?

My guess is because it's a number that Linus pulled out of thin air back
when a gig of RAM was unimaginably large. :-P

> This seems to leave only 1GB of addressing space for all the
> physically addressable memory (RAM + ioremapped + registers), while
> reserving 3GB of space for user processes. The 3GB is presumably
> mostly unusable on a system without a large amount of swap, as the
> 1GB limit on memory will prevent much more than that being available
> for user space.

Well, it's also useful for sparse mappings, but I agree that the 3/1 
split is probably suboptimal for most workloads.


More information about the Linuxppc-embedded mailing list