[PATCH 1/1] efi_loader: require at least 128 KiB of stack space

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Tue Feb 17 08:46:55 CET 2026


The UEFI specification requires at least 128 KiB stack space. Consider this
value as a prerequisite for CONFIG_EFI_LOADER.

Mention the requirement in the CONFIG_STACK_SPACE description and decribe
that the UEFI sub-system uses CONFIG_STACK_SPACE when defining the memory
map.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 Kconfig                | 8 +++++---
 lib/efi_loader/Kconfig | 2 ++
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Kconfig b/Kconfig
index ce25ea24a60..99b3cd62526 100644
--- a/Kconfig
+++ b/Kconfig
@@ -615,9 +615,11 @@ config STACK_SIZE
 	default 0x4000 if ARCH_STM32
 	default 0x1000000
 	help
-	  Define Max stack size that can be used by U-Boot. This value is used
-	  by the UEFI sub-system. On some boards initrd_high is calculated as
-	  base stack pointer minus this stack size.
+	  Define Max stack size that can be used by U-Boot. The UEFI sub-system
+	  considers this value when setting up the memory map. The UEFI
+	  specification requires 128 KiB or more of available stack space. On
+	  some boards initrd_high is calculated as base stack pointer minus this
+	  stack size.
 
 config SYS_MEM_TOP_HIDE
 	hex "Exclude some memory from U-Boot / OS information"
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index 13e44be1d06..450ffa61c0a 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -15,6 +15,8 @@ config EFI_LOADER
 	# We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
 	depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
 	depends on !EFI_APP
+	# The EFI specification requires 128 KiB or more of stack space
+	depends on STACK_SIZE >= 0x20000
 	default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
 	select EFI
 	select CHARSET
-- 
2.51.0



More information about the U-Boot mailing list