[PATCH 1/1] efi_loader: populate console handles in system table

The fields ConsoleInHandle, ConsoleOutHandle, ConsoleErrHandle must point to the handles with the respective console protocols. Failure to do so leads to an error in the EFI Shell:
No SimpleTextInputEx was found. CTRL-based features are not usable.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com --- lib/efi_loader/efi_boottime.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c index 253f9f75ef..e65ca6a4cb 100644 --- a/lib/efi_loader/efi_boottime.c +++ b/lib/efi_loader/efi_boottime.c @@ -3956,8 +3956,11 @@ efi_status_t efi_initialize_system_table(void) * These entries will be set to NULL in ExitBootServices(). To avoid * relocation in SetVirtualAddressMap(), set them dynamically. */ + systab.con_in_handle = efi_root; systab.con_in = &efi_con_in; + systab.con_out_handle = efi_root; systab.con_out = &efi_con_out; + systab.stderr_handle = efi_root; systab.std_err = &efi_con_out; systab.boottime = &efi_boot_services;

On Wed, Jan 04, 2023 at 06:04:46AM +0100, Heinrich Schuchardt wrote:
The fields ConsoleInHandle, ConsoleOutHandle, ConsoleErrHandle must point to the handles with the respective console protocols. Failure to do so leads to an error in the EFI Shell:
No SimpleTextInputEx was found. CTRL-based features are not usable.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
lib/efi_loader/efi_boottime.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c index 253f9f75ef..e65ca6a4cb 100644 --- a/lib/efi_loader/efi_boottime.c +++ b/lib/efi_loader/efi_boottime.c @@ -3956,8 +3956,11 @@ efi_status_t efi_initialize_system_table(void) * These entries will be set to NULL in ExitBootServices(). To avoid * relocation in SetVirtualAddressMap(), set them dynamically. */
- systab.con_in_handle = efi_root; systab.con_in = &efi_con_in;
- systab.con_out_handle = efi_root; systab.con_out = &efi_con_out;
- systab.stderr_handle = efi_root; systab.std_err = &efi_con_out; systab.boottime = &efi_boot_services;
-- 2.37.2
Reviewed-by: Ilias Apalodimas ilias.apalodimas@linaro.org
participants (2)
-
Heinrich Schuchardt
-
Ilias Apalodimas