[U-Boot] [PATCH v3 11/14] log: Plumb logging into the init sequence
Lukasz Majewski
lukma at denx.de
Tue Nov 21 10:01:15 UTC 2017
On Mon, 20 Nov 2017 15:33:32 -0700
Simon Glass <sjg at chromium.org> wrote:
> Set up logging both before and after relocation.
>
Reviewed-by: Lukasz Majewski <lukma at denx.de>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
> ---
>
> Changes in v3: None
> Changes in v2: None
>
> common/board_f.c | 5 ++++-
> common/board_r.c | 2 ++
> common/log.c | 1 +
> include/asm-generic/global_data.h | 1 +
> 4 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/common/board_f.c b/common/board_f.c
> index 1e8bf63ec10..e46eceda7d0 100644
> --- a/common/board_f.c
> +++ b/common/board_f.c
> @@ -751,6 +751,7 @@ static const init_fnc_t init_sequence_f[] = {
> trace_early_init,
> #endif
> initf_malloc,
> + log_init,
> initf_bootstage, /* uses its own timer, so does not
> need DM */ initf_console_record,
> #if defined(CONFIG_HAVE_FSP)
> @@ -932,8 +933,10 @@ void board_init_f_r(void)
> * The pre-relocation drivers may be using memory that has
> now gone
> * away. Mark serial as unavailable - this will fall back to
> the debug
> * UART if available.
> + *
> + * Do the same with log drivers since the memory may not be
> available. */
> - gd->flags &= ~GD_FLG_SERIAL_READY;
> + gd->flags &= ~(GD_FLG_SERIAL_READY | GD_FLG_LOG_READY);
> #ifdef CONFIG_TIMER
> gd->timer = NULL;
> #endif
> diff --git a/common/board_r.c b/common/board_r.c
> index 89729d77360..09167c13cc8 100644
> --- a/common/board_r.c
> +++ b/common/board_r.c
> @@ -691,6 +691,7 @@ static init_fnc_t init_sequence_r[] = {
> #endif
> initr_barrier,
> initr_malloc,
> + log_init,
> initr_bootstage, /* Needs malloc() but has its own
> timer */ initr_console_record,
> #ifdef CONFIG_SYS_NONCACHED_MEMORY
> @@ -884,6 +885,7 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
> #if !defined(CONFIG_X86) && !defined(CONFIG_ARM)
> && !defined(CONFIG_ARM64) gd = new_gd;
> #endif
> + gd->flags &= ~GD_FLG_LOG_READY;
>
> #ifdef CONFIG_NEEDS_MANUAL_RELOC
> for (i = 0; i < ARRAY_SIZE(init_sequence_r); i++)
> diff --git a/common/log.c b/common/log.c
> index a7d9a548f2a..c94a3c17592 100644
> --- a/common/log.c
> +++ b/common/log.c
> @@ -238,6 +238,7 @@ int log_init(void)
> (struct list_head *)&gd->log_head);
> drv++;
> }
> + gd->flags |= GD_FLG_LOG_READY;
> gd->default_log_level = LOGL_INFO;
>
> return 0;
> diff --git a/include/asm-generic/global_data.h
> b/include/asm-generic/global_data.h index 77755dbb068..73e036d6fd4
> 100644 --- a/include/asm-generic/global_data.h
> +++ b/include/asm-generic/global_data.h
> @@ -146,5 +146,6 @@ typedef struct global_data {
> #define GD_FLG_RECORD 0x01000 /* Record
> console */ #define GD_FLG_ENV_DEFAULT
> 0x02000 /* Default variable flag */ #define
> GD_FLG_SPL_EARLY_INIT 0x04000 /* Early SPL init is
> done */ +#define GD_FLG_LOG_READY 0x08000 /* Log
> system is ready for use */ #endif /*
> __ASM_GENERIC_GBL_DATA_H */
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171121/1856f28b/attachment.sig>
More information about the U-Boot
mailing list