diff mbox series

efi_loader: Add console handle references to in/out/err

Message ID 20180904135049.88266-1-agraf@suse.de
State Accepted
Commit 40e3e75760b5b19b5eabb51286f6e1ed8ff453cf
Headers show
Series efi_loader: Add console handle references to in/out/err | expand

Commit Message

Alexander Graf Sept. 4, 2018, 1:50 p.m. UTC
We register the console in/out protocol on the loaded image handle, but
never tell anyone about it in the systab.

Because of this Shell.efi can not find the input protocol. So let's add
a proper reference.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 lib/efi_loader/efi_console.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Heinrich Schuchardt Sept. 5, 2018, 5:39 a.m. UTC | #1
On 09/04/2018 03:50 PM, Alexander Graf wrote:
> We register the console in/out protocol on the loaded image handle, but
> never tell anyone about it in the systab.
> 
> Because of this Shell.efi can not find the input protocol. So let's add
> a proper reference.
> 
> Signed-off-by: Alexander Graf <agraf@suse.de>

Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
diff mbox series

Patch

diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c
index f5f3f256dd..277eb91e52 100644
--- a/lib/efi_loader/efi_console.c
+++ b/lib/efi_loader/efi_console.c
@@ -604,17 +604,23 @@  int efi_console_register(void)
 	r = efi_create_handle((efi_handle_t *)&efi_console_output_obj);
 	if (r != EFI_SUCCESS)
 		goto out_of_memory;
+
 	r = efi_add_protocol(efi_console_output_obj->handle,
 			     &efi_guid_text_output_protocol, &efi_con_out);
 	if (r != EFI_SUCCESS)
 		goto out_of_memory;
+	systab.con_out_handle = efi_console_output_obj->handle;
+	systab.stderr_handle = efi_console_output_obj->handle;
+
 	r = efi_create_handle((efi_handle_t *)&efi_console_input_obj);
 	if (r != EFI_SUCCESS)
 		goto out_of_memory;
+
 	r = efi_add_protocol(efi_console_input_obj->handle,
 			     &efi_guid_text_input_protocol, &efi_con_in);
 	if (r != EFI_SUCCESS)
 		goto out_of_memory;
+	systab.con_in_handle = efi_console_input_obj->handle;
 
 	/* Create console events */
 	r = efi_create_event(EVT_NOTIFY_WAIT, TPL_CALLBACK, efi_key_notify,