[U-Boot] [PATCH v4 1/1] efi_loader: export root node handle

Heinrich Schuchardt xypron.glpk at gmx.de
Thu Apr 18 05:02:07 UTC 2019


From: AKASHI Takahiro <takahiro.akashi at linaro.org>

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 <takahiro.akashi at linaro.org>

Rebased.

Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
v4
	Rebase
---
 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.20.1



More information about the U-Boot mailing list