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