[U-Boot] [PATCH] board_f: explicitly disable console on early boot

Simon Glass sjg at chromium.org
Thu Nov 28 02:43:59 CET 2013


On 27 November 2013 11:32, Alexey Brodkin <Alexey.Brodkin at synopsys.com>wrote:

> If U-Boot build with DEBUG enabled/defined the first call of "debug"
> function (that dumps data to any available console) will happen before
> zeroing of initial "gd" in init call "zero_global_data" in
> "init_sequence_f".
>
> And if stack was not filled with zeros chances are high that
> "gd->have_console" won't be 0. In its turn it will cause attempt to
> output things to non-initialized yet serial console.
>
> So for safety and predictability we set "gd->have_console = 0".
>
> Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
>

Acked-by: Simon Glass <sjg at chromium.org>

I have a similar patch locally, but it actually does memset() on the whole
structure. Some archs handle this setup differently. For example both ARM
and x86 now allocate it in low level code so there is no need for the
board_f code to allocate a global data structure.

Regards,
Simon



>
> Cc: Mischa Jonker <mjonker at synopsys.com>
> Cc: Wolfgang Denk <wd at denx.de>
> Cc: Simon Glass <sjg at chromium.org>
> ---
>  common/board_f.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/common/board_f.c b/common/board_f.c
> index f0664bc..fcfd713 100644
> --- a/common/board_f.c
> +++ b/common/board_f.c
> @@ -1010,6 +1010,7 @@ void board_init_f(ulong boot_flags)
>  #endif
>
>         gd->flags = boot_flags;
> +       gd->have_console = 0;
>
>         if (initcall_run_list(init_sequence_f))
>                 hang();
> --
> 1.8.4.2
>
>


More information about the U-Boot mailing list