Subject: Re: Maximum ioremap size for ppc arch?

From: Matt Porter <[email-masked]>
Date: Mon, 3 Dec 2007 13:07:23 -0600

On Mon, Dec 03, 2007 at 09:50:21AM -0800, David Hawkins wrote:
> Could you comment on a similar problem I had/have.
> 
> I have a CPU with 1GB memory, and I use about 20 cPCI boards that
> I give 8MB windows in PCI space. When I was trying to load my
> custom driver with these boards, it would give me ioremap failures.
> On a CPU that had 512MB of memory it worked fine. My 'temporary hack'
> (which is still in place) for the 1GB CPUs was to add mem=512M (or 
> whatever it is) to the kernel command line. That was a good
> enough fix at the time :)
> 
> I have figured I was running out of page table entries or something
> like that and was going to investigate one of these days ...
> 
> However, perhaps it was that I was running out of address space.
> But 0xC0000000 is at 3GB, I can't see that I would be triggering
> an address space issue:
> 
> 1GB = 0x40000000
> 20 x 8MB = 160MB
> 
> But, I figured I'd ask anyway :)

Yes, same thing. There's N ways to fix it. But I see you're talking
x86.

> PS. The CPUs in this case are x86 based, while the PCI boards use
> PLX-9054 bridges. I'm building new peripheral boards with MPC8349EAs
> so this problem is going to rear its ugly head again soon, when
> I work on the drivers for the new peripheral boards.

You should be able to do something similar on x86 but the details
are TBD. I would probably try to limit low memory to 512MB in the
x86 case.

-Matt