
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!