log: Plumb logging into the init sequence
Set up logging both before and after relocation. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
ef11ed8239
commit
af1bc0cf46
4 changed files with 8 additions and 1 deletions
|
@ -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
|
||||
|
|
|
@ -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++)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue