[U-Boot] [PATCH] powerpc, mpc5xxx: fix missing bootflag init
Simon Glass
sjg at chromium.org
Thu Nov 26 18:49:34 CET 2015
On 25 November 2015 at 01:46, Heiko Schocher <hs at denx.de> wrote:
> since:
> commit: f05ad9ba "Add a way to skip relocation"
>
> tqm5200s board fails to boot. Reason is that
> board_init_f has a function parameter bootflag,
> which is not setup in
> in arch/powerpc/cpu/mpc5xxx/start.S _start
>
> So board_init_f gets a undefined bootflag,
> currently the gd pointer address. Unfortunately
> this address sets the GD_FLG_SKIP_RELOC bit,
> so u-boot code gets not relocated and u-boot
> does not boot ...
>
> Init bootflag with 0, and tqm5200 boots fine again.
>
> Signed-off-by: Heiko Schocher <hs at denx.de>
> ---
> I added a nightly build to:
> http://xeidos.ddns.net/buildbot/waterfall
> http://xeidos.ddns.net/buildbot/builders/tqm5200s_ml_ub
>
> What does this nightly build:
> - checkout current u-boot mainline code
> - compile u-boot for tqm5200s board
> - install u-boot image on the board with bdi
> - run the image, and look if u-boot boots
> ToDo:
> - add more tbot [1] tests for this board
>
> Currently failing, as this patch is not in mainline,
> but it should go to green, if this patch is applied,
> cross your fingers ;-)
>
> [1] https://github.com/hsdenx/tbot
>
> arch/powerpc/cpu/mpc5xxx/start.S | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/powerpc/cpu/mpc5xxx/start.S b/arch/powerpc/cpu/mpc5xxx/start.S
> index 94eb0d3..54793f0 100644
> --- a/arch/powerpc/cpu/mpc5xxx/start.S
> +++ b/arch/powerpc/cpu/mpc5xxx/start.S
> @@ -91,6 +91,7 @@ _start:
> li r5,GD_SIZE /* parameter 3: count */
> bl memset
>
> + li r3, 0 /* parameter 1: bootflag */
> bl board_init_f /* run 1st part of board init code (in Flash)*/
> /* NOTREACHED - board_init_f() does not return */
> #else
> @@ -169,6 +170,7 @@ lowboot_reentry:
> /* r3: IMMR */
> bl cpu_init_f /* run low-level CPU init code (in Flash)*/
>
> + li r3, 0 /* parameter 1: bootflag */
> bl board_init_f /* run 1st part of board init code (in Flash)*/
>
> /* NOTREACHED - board_init_f() does not return */
> --
> 2.1.0
>
Funny, these latent bugs!
Reviewed-by: Simon Glass <sjg at chromium.org>
More information about the U-Boot
mailing list