
Hi,
2008/9/5 Joakim Tjernlund Joakim.Tjernlund@transmode.se:
-----Original Message----- From: Guennadi Liakhovetski [mailto:lg@denx.de] Sent: den 5 september 2008 20:01 To: U-Boot@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@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@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