Hi Patrick, On Fri, 27 Nov 2020 at 03:21, Patrick Delaunay <patrick.delau...@st.com> wrote: > > Allow to record the console output before before U-Boot > has a console ready. > > This patch allows to test the console output in sandbox test > based on console record. > > It is possible because GD_FLG_RECORD and GD_FLG_SERIAL_READY > are 2 independent flags. > > Signed-off-by: Patrick Delaunay <patrick.delau...@st.com> > --- > > Changes in v2: > - Record all messages in console, even when dropped (NEW) > > common/console.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/common/console.c b/common/console.c > index 70579af042..c3d552bb3e 100644 > --- a/common/console.c > +++ b/common/console.c > @@ -519,6 +519,10 @@ void putc(const char c) > { > if (!gd) > return; > +#ifdef CONFIG_CONSOLE_RECORD
Can we use CONFIG_IS_ENABLED() here and avoid the #ifdef? We might need to add some inline functions for the case where console_out is not available. See global_data.h for some examples. > + if ((gd->flags & GD_FLG_RECORD) && gd->console_out.start) > + membuff_putbyte((struct membuff *)&gd->console_out, c); > +#endif > #ifdef CONFIG_SANDBOX > /* sandbox can send characters to stdout before it has a console */ > if (!(gd->flags & GD_FLG_SERIAL_READY)) { > @@ -533,10 +537,6 @@ void putc(const char c) > return; > } > #endif > -#ifdef CONFIG_CONSOLE_RECORD > - if ((gd->flags & GD_FLG_RECORD) && gd->console_out.start) > - membuff_putbyte((struct membuff *)&gd->console_out, c); > -#endif > #ifdef CONFIG_SILENT_CONSOLE > if (gd->flags & GD_FLG_SILENT) { > if (!(gd->flags & GD_FLG_DEVINIT)) > @@ -567,6 +567,10 @@ void puts(const char *s) > { > if (!gd) > return; > +#ifdef CONFIG_CONSOLE_RECORD > + if ((gd->flags & GD_FLG_RECORD) && gd->console_out.start) > + membuff_put((struct membuff *)&gd->console_out, s, strlen(s)); > +#endif > #ifdef CONFIG_SANDBOX > /* sandbox can send characters to stdout before it has a console */ > if (!(gd->flags & GD_FLG_SERIAL_READY)) { > @@ -584,10 +588,6 @@ void puts(const char *s) > return; > } > #endif > -#ifdef CONFIG_CONSOLE_RECORD > - if ((gd->flags & GD_FLG_RECORD) && gd->console_out.start) > - membuff_put((struct membuff *)&gd->console_out, s, strlen(s)); > -#endif > #ifdef CONFIG_SILENT_CONSOLE > if (gd->flags & GD_FLG_SILENT) { > if (!(gd->flags & GD_FLG_DEVINIT)) > -- > 2.17.1 > Regards, Simon