]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
efi_loader: Allow disabling ANSI console queries via Kconfig
authorMichal Simek <michal.simek@amd.com>
Wed, 18 Mar 2026 14:24:52 +0000 (15:24 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fri, 17 Apr 2026 06:04:43 +0000 (08:04 +0200)
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 configurable via a new
Kconfig option CONFIG_EFI_CONSOLE_DISABLE_ANSI.

When CONFIG_EFI_CONSOLE_DISABLE_ANSI is enabled,
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.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
lib/efi_loader/Kconfig
lib/efi_loader/efi_console.c

index b5f81e0ff530ee3299415a56428a9146af1550a6..bae98e07d2382b903e116414cd062fa6d1cdb38b 100644 (file)
@@ -576,6 +576,17 @@ config EFI_EBBR_2_1_CONFORMANCE
        help
          Enabling this option adds the EBBRv2.1 conformance entry to the ECPT UEFI table.
 
+config EFI_CONSOLE_DISABLE_ANSI
+       bool "Disable ANSI escape sequence queries for console size"
+       help
+         Select this option to disable ANSI escape sequence queries for
+         detecting serial console size. When enabled,
+         efi_setup_console_size() will not send ANSI escape sequences to
+         the terminal and will use default 25x80 dimensions instead.
+         This is useful for platforms where the serial console cannot
+         properly handle ANSI queries, causing boot delays or garbled
+         output.
+
 config EFI_SCROLL_ON_CLEAR_SCREEN
        bool "Avoid overwriting previous output on clear screen"
        help
index 068d1a0a7b7410092bd34e032684424905125c23..a798d5604a31a855c65daef76a44fc4fb3786f0e 100644 (file)
@@ -365,6 +365,9 @@ void efi_setup_console_size(void)
        int rows = 25, cols = 80;
        int ret = -ENODEV;
 
+       if (IS_ENABLED(CONFIG_EFI_CONSOLE_DISABLE_ANSI))
+               efi_console_set_ansi(false);
+
        if (IS_ENABLED(CONFIG_VIDEO))
                ret = query_vidconsole(&rows, &cols);
        if (ret) {