[U-Boot] [RFC] ARM: mx31pdk: Use the new relocation scheme

Aneesh V
2011-02-11T10:51:43Z

Hi Albert,

On Wednesday 09 February 2011 02:20 AM, Albert ARIBAUD wrote:
> Le 08/02/2011 21:18, stefano babic a ?crit :
>> Am 08.02.2011 20:26, schrieb Magnus Lilja:
>>> Patch reposted as a separate mail a couple of minutes ago.
>>>
>>> As I mention in the patch I think Fabio's patch has to be applied first.
>>
>> I think your patch is ok - Fabio fixed the syntax error as you do. We
>> need only one of them.
>>
>>> Another solution would be to change my patch somewhat to apply it first
>>> and then update Fabios patch to only touch the i.MX31-PDK specific
>>> files.
>>
>> IMHO this is the preferred way, because the two issues are orthogonal.
>> Your patch fixes booting from NAND for ARM11, and Fabio's patch fix the
>> mx31pdk board only.
>
> Agreed.
>
> Note also that there was a recent patch to ARM926's start.S (replacing
> 'adr r1, _start' with 'ldr r1, _TEXT_BASE' at line 284). The same should
> be done on arm1136.

Is this going to happen for armv7 too? What is the real reason behind
this proposal. What is the case when _start is not same as _TEXT_BASE(I
looked at the archives but couldn't filter out the original discussion
on this)

I see a problem with that. _TEXT_BASE is based on
CONFIG_SYS_TEXT_BASE. In our SPL's case CONFIG_SYS_TEXT_BASE indicates
the TEXT_BASE for u-boot and *CONFIG_SYS_SPL_TEXT_BASE* indicates the
TEXT_BASE for SPL. Both are defined and useful in SPL because one is
used for linking SPL while the other is used while loading u-boot from
MMC. So, CONFIG_SYS_TEXT_BASE used in the start.S of SPL will not be
correct.

In the worst case we need to define yet another label in the linker
scripts like __text_base. But I was wondering if we could maintain the
status quo for armv7: that is 'adr r1, _start'

Best regards,
Aneesh