[U-Boot] [RFC PATCH] arm: provide a CONFIG flag for disabling relocation

Albert ARIBAUD albert.u.boot at aribaud.net
Wed Sep 21 13:44:03 CEST 2011


Le 21/09/2011 12:45, Wolfgang Denk a écrit :
> Dear "GROYER, Anthony",
>
> In message<BC0A2F434D4F39448D24A68EA6EFFB9F0194DA79 at EU-FR-EXBE07.eu.corp.airliquide.com>  you wrote:
>>
>> What is the difference between _start and _TEXT_BASE ? I do not see any
>> differences and the former relocation offset calculation was using _TEXT_BASE.
>
> The former is the entry point address, while the latter is the start
> of the text segment.  These may be the same (and on many ARM systems
> they are),  but they have actually no direct relation to each other
> (and some ARM systems do use an entry point that is not the same as
> the start of the code).

This would be boards

- where U-Boot boots from Flash without a SPL,

- which boot at FFFF0000,

- and which don't have a tiny piece of code at FFFF0000 which jumps to a 
fixed location at which _start resides.

Thus, typically boards with a very small FLASH that forces the 
maintainer to fill the last 64 KB with _start and some code, then put 
the rest of U-Boot below FFFF0000.

But my edminiv2, with only 512 KB flash, already provides enough space 
that such a complicated linker mapping is unneeded -- FFFF0000 just has 
a permanent jump instruction to FFF90000, and U-Boot is linked linearly, 
with _start at FFF9000.

I wonder which ARM boards we have that still require a complex mapping 
with _start in the middle of the code.

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list