[U-Boot] [REGRESSION] commit b502611b51... "Change env_get_char from a..." breaks imx31_phycore

Magnus Lilja lilja.magnus at gmail.com
Fri Sep 5 21:15:38 CEST 2008


Hi,

2008/9/5 Joakim Tjernlund <Joakim.Tjernlund at transmode.se>:
>
>> -----Original Message-----
>> From: Guennadi Liakhovetski [mailto:lg at denx.de]
>> Sent: den 5 september 2008 20:01
>> To: U-Boot at lists.denx.de
>> Cc: Joakim Tjernlund
>> Subject: [REGRESSION] commit b502611b51... "Change env_get_char from a..." breaks imx31_phycore
>>
>> Hi,
>>
>> The aforementioned commit
>>
>> commit b502611b51f02718c2d1117d4981dabceb5af6de
>> Author: Joakim Tjernlund <joakim.tjernlund at transmode.se>
>> Date:   Sun Jul 6 12:30:09 2008 +0200
>>
>>     Change env_get_char from a global function ptr to a function
>>
>>     This avoids an early global data reference.
>>
>>     Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund at transmode.se>
>>
>> found by bisection and causes at least the imx31_phycore board to break.
>> The boot process becomes slow, printenv is very slow too, booting does not
>> always come to the bootdelay countdown, tftp wtops working too. Reverting
>> this commit from the current HEAD fixes the problem.
>
> Your board probably don't flip the GD_FLG_RELOC flag after relocation. A few
> ARM boards had a problem with this too.

Unless I've missed something all ARM boards have this problem. I can't
find any ARM boards flipping the RELOC flag (I 'grep'-ed for
GD_FLG_RELOC). For most other architectures the flip is done in
lib_<arch>/ but for ARM that's only done if the
CONFIG_SKIP_RELOCATE_UBOOT option is set.

Wouldn't it be possible to set GD_FLG_RELOC near the beginning of
start_armboot()? After the memset() of the gd area.


Regards, Magnus


More information about the U-Boot mailing list