From a2a4bc3b09fc956ae58572430a019781425baf9c Mon Sep 17 00:00:00 2001 From: AKASHI Takahiro Date: Tue, 16 Apr 2019 13:24:20 +0900 Subject: [PATCH] efi_loader: export root node handle This is a preparatory patch. The root node handle will be used as a dummy parent handle when invoking an EFI image from bootefi/bootmgr command. Signed-off-by: AKASHI Takahiro Rebased. Signed-off-by: Heinrich Schuchardt --- include/efi_loader.h | 3 +++ lib/efi_loader/efi_root_node.c | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/efi_loader.h b/include/efi_loader.h index f7bf732827..93f7672aec 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -25,6 +25,9 @@ EFI_GUID(0xe61d73b9, 0xa384, 0x4acc, \ 0xae, 0xab, 0x82, 0xe8, 0x28, 0xf3, 0x62, 0x8b) +/* Root node */ +extern efi_handle_t efi_root; + int __efi_entry_check(void); int __efi_exit_check(void); const char *__efi_nesting(void); diff --git a/lib/efi_loader/efi_root_node.c b/lib/efi_loader/efi_root_node.c index 392f5c4951..e0fcbb85a4 100644 --- a/lib/efi_loader/efi_root_node.c +++ b/lib/efi_loader/efi_root_node.c @@ -11,6 +11,8 @@ const efi_guid_t efi_u_boot_guid = U_BOOT_GUID; +efi_handle_t efi_root = NULL; + struct efi_root_dp { struct efi_device_path_vendor vendor; struct efi_device_path end; @@ -26,7 +28,6 @@ struct efi_root_dp { */ efi_status_t efi_root_node_register(void) { - efi_handle_t root = NULL; struct efi_root_dp *dp; /* Create device path protocol */ @@ -46,7 +47,7 @@ efi_status_t efi_root_node_register(void) dp->end.length = sizeof(struct efi_device_path); /* Create root node and install protocols */ - return EFI_CALL(efi_install_multiple_protocol_interfaces(&root, + return EFI_CALL(efi_install_multiple_protocol_interfaces(&efi_root, /* Device path protocol */ &efi_guid_device_path, dp, /* Device path to text protocol */ -- 2.30.2