On Fri, 13 Mar 2026 at 12:55, Ilias Apalodimas
<[email protected]> wrote:
>
> Hi Michal
>
> On Tue, 10 Mar 2026 at 15:50, Michal Simek <[email protected]> wrote:
> >
> > Commit 4cb724364030 ("efi_loader: Disable ANSI output for tests")
> > introduced efi_console_set_ansi() to suppress ANSI escape sequences
> > during unit tests. Extend this mechanism to be runtime-configurable via
> > the 'no_ansi' U-Boot environment variable.
> >
> > When 'no_ansi' is set to 'yes', efi_console_set_ansi(false) is called
> > at the start of efi_setup_console_size(). This prevents
> > query_console_serial() from sending ANSI escape sequences to the
> > terminal, using default 25x80 dimensions instead. This is useful for
> > platforms where the serial console cannot handle ANSI queries.
>
> I am fine with the patch, but the no_ansi is a bit misleading reading the 
> code.
> It really means don't use ANSI queries to detect the console.  So
> before creating an ABI to the cmd line should we really call it
> "no_ansi" or perhaps "no_detect" and in the future clean up the
> variable names as well?

I wonder whether this should be a Kconfig option too, a maker of a
device likely knows when this is an issue on their device and
explicitly enabling it via a config as opposed to an environment
variable would likely be useful when there's a menu enabled and the
shell possibly disabled?

>
> Thanks
> /Ilias
> >
> > The variable is read using env_get_yesno() which accepts standard
> > boolean values (yes/y/1/true/t).
> >
> > Signed-off-by: Michal Simek <[email protected]>
> > ---
> >
> >  lib/efi_loader/efi_console.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c
> > index 068d1a0a7b74..737c2331b56c 100644
> > --- a/lib/efi_loader/efi_console.c
> > +++ b/lib/efi_loader/efi_console.c
> > @@ -365,6 +365,9 @@ void efi_setup_console_size(void)
> >         int rows = 25, cols = 80;
> >         int ret = -ENODEV;
> >
> > +       if (env_get_yesno("no_ansi") == 1)
> > +               efi_console_set_ansi(false);
> > +
> >         if (IS_ENABLED(CONFIG_VIDEO))
> >                 ret = query_vidconsole(&rows, &cols);
> >         if (ret) {
> > --
> > 2.43.0
> >
> > base-commit: f74b8c2aeaf8d14565abff8f6a59625c543169ee
> > branch: debian-sent3

Reply via email to