Kaynağa Gözat

efi_loader: initialization of variable services

Provide an initialization routine for variable services.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt 5 yıl önce
ebeveyn
işleme
88192098d1

+ 2 - 0
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 */

+ 5 - 0
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)

+ 10 - 0
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;
+}