aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAKASHI Takahiro <takahiro.akashi@linaro.org>2020-10-29 09:25:16 +0900
committerTom Rini <trini@konsulko.com>2020-10-28 21:12:51 -0400
commite246ce0af226621a7c4d418d933ae08bb69247a0 (patch)
tree326b01ef00aab1fb04b9e6e2f575d4872e1ff4a7
parenta52380c8b5daa3351de8c32cea622cfbc6a5b46a (diff)
downloadu-boot-e246ce0af226621a7c4d418d933ae08bb69247a0.zip
u-boot-e246ce0af226621a7c4d418d933ae08bb69247a0.tar.gz
u-boot-e246ce0af226621a7c4d418d933ae08bb69247a0.tar.bz2
efi_loader: add option to initialise EFI subsystem early
If this option, CONFIG_EFI_SETUP_EARLY, is enabled, the initialisation of UEFI subsystem will be done as part of U-Boot initialisation. Please note that this option won't be enabled explicitly by users, instead, should be enabled implicitly by other configuration options. Specifically, this feature will be utilised in implementing capsule-on-disk feature. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
-rw-r--r--common/board_r.c6
-rw-r--r--lib/efi_loader/Kconfig4
2 files changed, 10 insertions, 0 deletions
diff --git a/common/board_r.c b/common/board_r.c
index b9217b2..2212d98 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -73,6 +73,9 @@
#if defined(CONFIG_GPIO_HOG)
#include <asm/gpio.h>
#endif
+#ifdef CONFIG_EFI_SETUP_EARLY
+#include <efi_loader.h>
+#endif
DECLARE_GLOBAL_DATA_PTR;
@@ -890,6 +893,9 @@ static init_fnc_t init_sequence_r[] = {
#if defined(CONFIG_PRAM)
initr_mem,
#endif
+#ifdef CONFIG_EFI_SETUP_EARLY
+ (init_fnc_t)efi_init_obj_list,
+#endif
run_main_loop,
};
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index ab42f3b..0754814 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -27,6 +27,10 @@ config EFI_LOADER
if EFI_LOADER
+config EFI_SETUP_EARLY
+ bool
+ default n
+
choice
prompt "Store for non-volatile UEFI variables"
default EFI_VARIABLE_FILE_STORE