[U-Boot] [PATCH 3/7] efi_loader: initialization of variable services

Heinrich Schuchardt xypron.glpk at gmx.de
Mon Jun 24 05:31:12 UTC 2019


Provide an initialization routine for variable services.

Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
 include/efi_loader.h          |  2 ++
 lib/efi_loader/efi_setup.c    |  6 ++++++
 lib/efi_loader/efi_variable.c | 10 ++++++++++
 3 files changed, 18 insertions(+)

diff --git a/include/efi_loader.h b/include/efi_loader.h
index de1e67fd40..d30c4e8ef3 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -325,6 +325,8 @@ extern struct list_head efi_register_notify_events;

 /* Initialize efi execution environment */
 efi_status_t efi_init_obj_list(void);
+/* Initialize variable services */
+efi_status_t efi_init_variables(void);
 /* Called by bootefi to initialize root node */
 efi_status_t efi_root_node_register(void);
 /* Called by bootefi to initialize runtime */
diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c
index a3f59506d8..d73a3dd706 100644
--- a/lib/efi_loader/efi_setup.c
+++ b/lib/efi_loader/efi_setup.c
@@ -108,6 +108,12 @@ efi_status_t efi_init_obj_list(void)
 	/* On ARM switch from EL3 or secure mode to EL2 or non-secure mode */
 	switch_to_non_secure_mode();
 #ifndef CONFIG_EFI_VARIABLES_NULL
+
+	/* Initialize variable services */
+	ret = efi_init_variables();
+	if (ret != EFI_SUCCESS)
+		goto out;
+
 	/* Define supported languages */
 	ret = efi_init_platform_lang();
 	if (ret != EFI_SUCCESS)
diff --git a/lib/efi_loader/efi_variable.c b/lib/efi_loader/efi_variable.c
index f71dc29ee9..6210425f5e 100644
--- a/lib/efi_loader/efi_variable.c
+++ b/lib/efi_loader/efi_variable.c
@@ -547,3 +547,13 @@ efi_status_t __efi_runtime EFIAPI efi_query_variable_info(
 {
 	return EFI_UNSUPPORTED;
 }
+
+/**
+ * efi_init_variables() - initialize variable services
+ *
+ * Return:	status code
+ */
+efi_status_t efi_init_variables(void)
+{
+	return EFI_SUCCESS;
+}
--
2.20.1



More information about the U-Boot mailing list