mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-22 04:44:46 +00:00
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,
|
trace_early_init,
|
||||||
#endif
|
#endif
|
||||||
initf_malloc,
|
initf_malloc,
|
||||||
|
log_init,
|
||||||
initf_bootstage, /* uses its own timer, so does not need DM */
|
initf_bootstage, /* uses its own timer, so does not need DM */
|
||||||
initf_console_record,
|
initf_console_record,
|
||||||
#if defined(CONFIG_HAVE_FSP)
|
#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
|
* The pre-relocation drivers may be using memory that has now gone
|
||||||
* away. Mark serial as unavailable - this will fall back to the debug
|
* away. Mark serial as unavailable - this will fall back to the debug
|
||||||
* UART if available.
|
* 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
|
#ifdef CONFIG_TIMER
|
||||||
gd->timer = NULL;
|
gd->timer = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -691,6 +691,7 @@ static init_fnc_t init_sequence_r[] = {
|
||||||
#endif
|
#endif
|
||||||
initr_barrier,
|
initr_barrier,
|
||||||
initr_malloc,
|
initr_malloc,
|
||||||
|
log_init,
|
||||||
initr_bootstage, /* Needs malloc() but has its own timer */
|
initr_bootstage, /* Needs malloc() but has its own timer */
|
||||||
initr_console_record,
|
initr_console_record,
|
||||||
#ifdef CONFIG_SYS_NONCACHED_MEMORY
|
#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)
|
#if !defined(CONFIG_X86) && !defined(CONFIG_ARM) && !defined(CONFIG_ARM64)
|
||||||
gd = new_gd;
|
gd = new_gd;
|
||||||
#endif
|
#endif
|
||||||
|
gd->flags &= ~GD_FLG_LOG_READY;
|
||||||
|
|
||||||
#ifdef CONFIG_NEEDS_MANUAL_RELOC
|
#ifdef CONFIG_NEEDS_MANUAL_RELOC
|
||||||
for (i = 0; i < ARRAY_SIZE(init_sequence_r); i++)
|
for (i = 0; i < ARRAY_SIZE(init_sequence_r); i++)
|
||||||
|
|
|
@ -238,6 +238,7 @@ int log_init(void)
|
||||||
(struct list_head *)&gd->log_head);
|
(struct list_head *)&gd->log_head);
|
||||||
drv++;
|
drv++;
|
||||||
}
|
}
|
||||||
|
gd->flags |= GD_FLG_LOG_READY;
|
||||||
gd->default_log_level = LOGL_INFO;
|
gd->default_log_level = LOGL_INFO;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -146,5 +146,6 @@ typedef struct global_data {
|
||||||
#define GD_FLG_RECORD 0x01000 /* Record console */
|
#define GD_FLG_RECORD 0x01000 /* Record console */
|
||||||
#define GD_FLG_ENV_DEFAULT 0x02000 /* Default variable flag */
|
#define GD_FLG_ENV_DEFAULT 0x02000 /* Default variable flag */
|
||||||
#define GD_FLG_SPL_EARLY_INIT 0x04000 /* Early SPL init is done */
|
#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 */
|
#endif /* __ASM_GENERIC_GBL_DATA_H */
|
||||||
|
|
Loading…
Add table
Reference in a new issue