aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2020-12-20 11:05:38 +0100
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2020-12-31 14:27:41 +0100
commitc0c21d67f0654f9d3641b9dd3bdfd635110c2bc1 (patch)
treeb20093a4264783a2bd2bf7a7fd9a82b70e0c2325
parent958b9e2482538ebfeb2e1161257603d4dec498cb (diff)
downloadu-boot-c0c21d67f0654f9d3641b9dd3bdfd635110c2bc1.zip
u-boot-c0c21d67f0654f9d3641b9dd3bdfd635110c2bc1.tar.gz
u-boot-c0c21d67f0654f9d3641b9dd3bdfd635110c2bc1.tar.bz2
efi_loader: make variable store size customizable
Currently the size of the buffer to keep UEFI variables in memory is fixed at 16384 bytes. This size has proven to be too small for some use cases. Make the size of the memory buffer for UEFI variables customizable. Reported-by: Paulo Alcantara (SUSE) <pc@cjr.nz> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
-rw-r--r--include/efi_variable.h2
-rw-r--r--lib/efi_loader/Kconfig14
2 files changed, 15 insertions, 1 deletions
diff --git a/include/efi_variable.h b/include/efi_variable.h
index 4704a3c..bf50762 100644
--- a/include/efi_variable.h
+++ b/include/efi_variable.h
@@ -91,7 +91,7 @@ efi_status_t efi_query_variable_info_int(u32 attributes,
#define EFI_VAR_FILE_NAME "ubootefi.var"
-#define EFI_VAR_BUF_SIZE 0x4000
+#define EFI_VAR_BUF_SIZE CONFIG_EFI_VAR_BUF_SIZE
/*
* This constant identifies the file format for storing UEFI variables in
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index 073d90c..e780491 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -77,6 +77,20 @@ config EFI_VAR_SEED_FILE
endif
+config EFI_VAR_BUF_SIZE
+ int "Memory size of the UEFI variable store"
+ default 16384
+ range 4096 2147483647
+ help
+ This defines the size in bytes of the memory area reserved for keeping
+ UEFI variables.
+
+ When using StandAloneMM (CONFIG_EFI_MM_COMM_TEE=y) this value should
+ match the value of PcdFlashNvStorageVariableSize used to compile the
+ StandAloneMM module.
+
+ Minimum 4096, default 16384.
+
config EFI_GET_TIME
bool "GetTime() runtime service"
depends on DM_RTC