efi_loader: Allow disabling ANSI console queries via Kconfig

Commit 4cb7243640 ("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>
This commit is contained in:
Michal Simek
2026-03-18 15:24:52 +01:00
committed by Heinrich Schuchardt
parent 353166279c
commit 0c3eb097d9
2 changed files with 14 additions and 0 deletions

View 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

View 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) {