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

Tabi Timur-B04825
2012-09-21T11:37:18Z

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