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

Joakim Tjernlund Joakim.Tjernlund at transmode.se
Fri Sep 5 21:32:14 CEST 2008


> -----Original Message-----
> From: Magnus Lilja [mailto:lilja.magnus at gmail.com]
> Sent: den 5 september 2008 21:16
> To: Joakim Tjernlund
> Cc: Guennadi Liakhovetski; U-Boot at lists.denx.de
> Subject: Re: [U-Boot] [REGRESSION] commit b502611b51... "Change env_get_char from a..." breaks
> imx31_phycore
> 
> 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.

I can't say, I am not an ARM guy.



More information about the U-Boot mailing list