diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/efi_loader/Kconfig | 11 | ||||
| -rw-r--r-- | lib/efi_loader/efi_console.c | 3 | ||||
| -rw-r--r-- | lib/efi_loader/efi_var_sf.c | 5 | ||||
| -rw-r--r-- | lib/fwu_updates/fwu.c | 2 |
4 files changed, 16 insertions, 5 deletions
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig index b5f81e0ff53..bae98e07d23 100644 --- a/lib/efi_loader/Kconfig +++ b/lib/efi_loader/Kconfig @@ -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 diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c index 068d1a0a7b7..a798d5604a3 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 (IS_ENABLED(CONFIG_EFI_CONSOLE_DISABLE_ANSI)) + efi_console_set_ansi(false); + if (IS_ENABLED(CONFIG_VIDEO)) ret = query_vidconsole(&rows, &cols); if (ret) { diff --git a/lib/efi_loader/efi_var_sf.c b/lib/efi_loader/efi_var_sf.c index 6eae8d46464..b84ec8e67dc 100644 --- a/lib/efi_loader/efi_var_sf.c +++ b/lib/efi_loader/efi_var_sf.c @@ -98,11 +98,8 @@ efi_status_t efi_var_from_storage(void) goto error; } - if (efi_var_restore(buf, false) != EFI_SUCCESS) { + if (efi_var_restore(buf, false) != EFI_SUCCESS) log_err("No valid EFI variables in SPI Flash\n"); - ret = EFI_DEVICE_ERROR; - goto error; - } ret = EFI_SUCCESS; error: diff --git a/lib/fwu_updates/fwu.c b/lib/fwu_updates/fwu.c index 37c613014d1..e82600a29a4 100644 --- a/lib/fwu_updates/fwu.c +++ b/lib/fwu_updates/fwu.c @@ -796,4 +796,4 @@ static int fwu_boottime_checks(void) return 0; } -EVENT_SPY_SIMPLE(EVT_MAIN_LOOP, fwu_boottime_checks); +EVENT_SPY_SIMPLE(EVT_POST_PREBOOT, fwu_boottime_checks); |
