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>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Heinrich Schuchardt 2023-01-04 05:56:09 +01:00
parent 93cdb95238
commit 60bba6e205

View file

@ -3956,8 +3956,11 @@ efi_status_t efi_initialize_system_table(void)
* These entries will be set to NULL in ExitBootServices(). To avoid * These entries will be set to NULL in ExitBootServices(). To avoid
* relocation in SetVirtualAddressMap(), set them dynamically. * relocation in SetVirtualAddressMap(), set them dynamically.
*/ */
systab.con_in_handle = efi_root;
systab.con_in = &efi_con_in; systab.con_in = &efi_con_in;
systab.con_out_handle = efi_root;
systab.con_out = &efi_con_out; systab.con_out = &efi_con_out;
systab.stderr_handle = efi_root;
systab.std_err = &efi_con_out; systab.std_err = &efi_con_out;
systab.boottime = &efi_boot_services; systab.boottime = &efi_boot_services;