From 88192098d160aff42c08a9e4edc746a55d199232 Mon Sep 17 00:00:00 2001
From: Heinrich Schuchardt <xypron.glpk@gmx.de>
Date: Thu, 20 Jun 2019 13:52:16 +0200
Subject: [PATCH] efi_loader: initialization of variable services

Provide an initialization routine for variable services.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 include/efi_loader.h          |  2 ++
 lib/efi_loader/efi_setup.c    |  5 +++++
 lib/efi_loader/efi_variable.c | 10 ++++++++++
 3 files changed, 17 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 bfb57836fa..de7b616c6d 100644
--- a/lib/efi_loader/efi_setup.c
+++ b/lib/efi_loader/efi_setup.c
@@ -102,6 +102,11 @@ 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();
 
+	/* 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.39.5