From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Tue, 21 Nov 2017 11:01:15 +0100 Subject: [U-Boot] [PATCH v3 11/14] log: Plumb logging into the init sequence In-Reply-To: <20171120223335.45852-12-sjg@chromium.org> References: <20171120223335.45852-1-sjg@chromium.org> <20171120223335.45852-12-sjg@chromium.org> Message-ID: <20171121110115.57f2fabf@jawa> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Mon, 20 Nov 2017 15:33:32 -0700 Simon Glass wrote: > Set up logging both before and after relocation. > Reviewed-by: Lukasz Majewski > Signed-off-by: Simon Glass > Reviewed-by: Bin Meng > --- > > 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: