[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