Need help Understanding initial memory conditions.

David H. Lynch Jr dhlii at comcast.net
Wed Oct 19 15:16:49 EST 2005


Kalle Pokki wrote:

> 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.
>
>
    I have built a Kernel - that is something I am pretty compitent at. 
My system is fairly similar to an abreviated xilinx ml-300, and I have 
added it to the Linux configuration and made what adjustments I beleive 
were needed (mostly eliminating hardware I do not have or want). The 
resulting Kernel is configured and successfully built.

Alright I have RAM at physical 0x0 now.  I throw a copy of a compressed 
linux image into RAM (anywhere special ?) load the assorted registers 
with the appropriate values, fill the board info struct., and just jump 
to the start of the image and pray that load text starts coming out my 
serial port ?

    Once this sucker gets through the code in head_4xx.S I should be in 
business, or atleast to a point where I can deal with whatever crops up.



More information about the Linuxppc-embedded mailing list