[U-Boot] arch/powerpc/lib/board.c:get_effective_memsize() for 4GB+ systems

Kumar Gala
2012-09-21T12:49:43Z

On Sep 21, 2012, at 6:54 AM, Robert Thorhuus wrote:

>> -----Original Message-----
>> From: Tabi Timur-B04825 [mailto:B04825 at freescale.com]
>> Sent: den 21 september 2012 13:37
>> To: Robert Thorhuus
>> Cc: Kumar Gala; u-boot at lists.denx.de
>> Subject: Re: [U-Boot]
>> arch/powerpc/lib/board.c:get_effective_memsize() for 4GB+ systems
>>
>> Robert Thorhuus wrote:
>>
>>> I really see the advantage of keeping this map you have. It is of
>>> course more compatible with different OSEs and you do not
>> need to do
>>> anything special with 32/64 bit cores. But at the same time
>> you never
>>> take advantage of a 64 bit core with this approach.
>>
>> U-Boot is a boot loader, not an operating system. What is
>> U-Boot supposed to do with more than 2GB of RAM?
>>
>>> How should I access my 24GB in U-Boot?
>>
>> You should not!
>>
>>> So really you are saying that I should have a 2GB map window in my
>>> 32-bit address space and then move this window depending on what
>>> memory I want to access? A bit cumbersome I must say. But ok.
>>
>> Again, you're doing the wrong thing with U-Boot. It's a boot loader.
>> It's supposed to find your OS, load it into memory, and then boot it.
>>
>>> How about the U-Boot relocation?
>>
>>> As I see the code, it is not easy to decide where it should
>> relocate.
>>> It will be either relocated to end of RAM or if we have
>> more than 4G
>>> it will be at 4GB end.
>>
>> It relocates to the end of RAM or the end of 2GB, whichever
>> is lower. It ignores all memory above 2GB.
>>
>>> What if you want to place U-Boot at 16MB for instance? Or if you do
>>> not want a memory map hole at 4GB just because U-Boot
>> doesn't handle
>>> more than that?
>>
>> Again, you're missing the point about U-boot.
>>
>>> Last AND least I just want to say I'm used to creating
>> memory maps in
>>> bootloader which holds for the OS. It seems the time has come to
>>> annihilate my illusion...
>>
>> Yes, please kill it with fire!
>>
>> --
>> Timur Tabi
>> Linux kernel developer at Freescale
>>
>
> Hello Timur!
>
> You really used the machine gun there ;)
>
> Ok. I'll just answer your 2GB+ usage question:
>
> Testing!
> No I will not be using much memory at all for functionality. But the memory needs to be tested. What is your proposal for that then?
> And I see U-Boot as the first software place for test and debug. Maybe I want to read out RAM contents?

Robert,

We have seen some cases for u-boot to access >4G of memory directly. However, the effort to get u-boot to be a 64-bit clean just has never warranted the investment for the few minor cases people have raised for wanting to address >4G directly.

The one case I usually hear about is DDR test. We suggest its easier to try and getting DDR testing to utilize a window scheme into memory than it is for one to go make u-boot 64-bit.

:)

- k