]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
efi_loader: Increase default variable store size to 128K
authorIlias Apalodimas <ilias.apalodimas@linaro.org>
Mon, 6 Nov 2023 15:47:53 +0000 (17:47 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Mon, 20 Nov 2023 18:06:22 +0000 (19:06 +0100)
In commit 9fd3f881c6ed ("efi_loader: Increase default variable store size to 64KiB")
Alper has a detailed explanation of why the size needs to be bumped to at
least 64K.  However enabling Secure boot, writing db, KEK, PK etc keys
will further increase the size so bump it to 128K.

It's worth noting that when U-Boot stores the EFI variables in an RPMB the
available storage is defined statically in StandAloneMM at build time.
The U-Boot code is detecting the available true size on the fly during
writes. When StandAloneMM is present this size defines the reserved
memory U-Boot can use to copy any runtime variables, before booting an
OS.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
lib/efi_loader/Kconfig

index 4ccd26f94a93d181ca1a13b62e1a8afdde3ad80c..2e3935467c119525ce59b33354c6feb3c7274cf6 100644 (file)
@@ -133,18 +133,20 @@ endif
 
 config EFI_VAR_BUF_SIZE
        int "Memory size of the UEFI variable store"
-       default 16384 if EFI_MM_COMM_TEE
-       default 65536
+       default 131072
        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.
+         When using StandAloneMM (CONFIG_EFI_MM_COMM_TEE=y) is used the
+         available size for storing variables is defined in
+         PcdFlashNvStorageVariableSize.
+         That value is probed at runtime from U-Boot. In that case,
+         EFI_VAR_BUF_SIZE represents the memory U-Boot reserves to present
+         runtime variables to the OS.
 
-         Minimum 4096, default 65536, or 16384 when using StandAloneMM.
+         Minimum 4096, default 131072
 
 config EFI_GET_TIME
        bool "GetTime() runtime service"