Trying to understand ppc4xx_configure_pciex_PIMs mapping to physical address 0

Benjamin Herrenschmidt benh at
Sat Dec 13 08:50:11 EST 2008

On Fri, 2008-12-12 at 10:49 -0600, Ayman El-Khashab wrote:
> I am using the ppc460ex as an endpoint and I see that the mentioned
> function setups a 32Mb
> window at address 0 in sdram.  what i want is some memory that the
> host can read/write to.
> But the 32Mb that are already mapped at the bottom of ram, so it would
> not be good do writes
> to those addresses.  Am I missing something?  My driver right now is
> not touching the PIM 
> registers.
> So is the right way to do this to change the PIM registers after I get
> a buffer in the kernel -- or
> something else?
> How would I make sure that it was aligned on a 32Mb boundry per the
> 44x requirements?  

either that or just allocate some memory and expose the 32MB region that
contains that memory... 

There isn't really much existing code to support endpoint mode. IE, the
code in ppc4xx_pci.c is really mostly host oriented, so it's up to you
to define what you want here. We have no API defined for drivers to use


More information about the Linuxppc-dev mailing list