efi_loader: Add console handle references to in/out/err
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>
This commit is contained in:
		
							parent
							
								
									0414359aa0
								
							
						
					
					
						commit
						40e3e75760
					
				|  | @ -604,17 +604,23 @@ int efi_console_register(void) | ||||||
| 	r = efi_create_handle((efi_handle_t *)&efi_console_output_obj); | 	r = efi_create_handle((efi_handle_t *)&efi_console_output_obj); | ||||||
| 	if (r != EFI_SUCCESS) | 	if (r != EFI_SUCCESS) | ||||||
| 		goto out_of_memory; | 		goto out_of_memory; | ||||||
|  | 
 | ||||||
| 	r = efi_add_protocol(efi_console_output_obj->handle, | 	r = efi_add_protocol(efi_console_output_obj->handle, | ||||||
| 			     &efi_guid_text_output_protocol, &efi_con_out); | 			     &efi_guid_text_output_protocol, &efi_con_out); | ||||||
| 	if (r != EFI_SUCCESS) | 	if (r != EFI_SUCCESS) | ||||||
| 		goto out_of_memory; | 		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); | 	r = efi_create_handle((efi_handle_t *)&efi_console_input_obj); | ||||||
| 	if (r != EFI_SUCCESS) | 	if (r != EFI_SUCCESS) | ||||||
| 		goto out_of_memory; | 		goto out_of_memory; | ||||||
|  | 
 | ||||||
| 	r = efi_add_protocol(efi_console_input_obj->handle, | 	r = efi_add_protocol(efi_console_input_obj->handle, | ||||||
| 			     &efi_guid_text_input_protocol, &efi_con_in); | 			     &efi_guid_text_input_protocol, &efi_con_in); | ||||||
| 	if (r != EFI_SUCCESS) | 	if (r != EFI_SUCCESS) | ||||||
| 		goto out_of_memory; | 		goto out_of_memory; | ||||||
|  | 	systab.con_in_handle = efi_console_input_obj->handle; | ||||||
| 
 | 
 | ||||||
| 	/* Create console events */ | 	/* Create console events */ | ||||||
| 	r = efi_create_event(EVT_NOTIFY_WAIT, TPL_CALLBACK, efi_key_notify, | 	r = efi_create_event(EVT_NOTIFY_WAIT, TPL_CALLBACK, efi_key_notify, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue