Subject: Re: Need help Understanding initial memory conditions.

From: Kalle Pokki <[email-masked]>
Date: Tue, 18 Oct 2005 23:14:24 +0300

David H. Lynch Jr. wrote:

> Kalle Pokki wrote:
>
>> 1. Put RAM to 0x0000000 and flash to some location it mirrors to your 
>> boot vector. Linux always expects your physical memory to be at zero. 
>> It is then mapped to virtual address 0xC0000000.
>
>    In both this list and elsewhere I have seen several references to 
> the difficulty setting up Linux with a physical RAM base other than 
> 0x0. I was hoping that I could bypass that by re-arranging physical 
> memory using the BAT's or MMU.
> I am gathering that while this is possible, that it not sufficient. 
> That if memory is re-arranged after power-on it has to be done by 
> something Linux is not aware of.

I'm afraid you cannot fool Linux that way... it will take control of the 
BATs and MMU. Even as a concept, you cannot re-arrange physical memory 
with the MMU at all - it's virtual memory when you do the address 
translation. The only way to arrange physical memory is to program the 
memory controller. I don't know how flexible the OCM controller in 
ppc405 is, but I'd be surprised if one couldn't freely set the addresses 
to whatever suits best.