On Tue, 17 Feb 2026 at 11:24, Ilias Apalodimas <[email protected]> wrote: > > On Tue, 17 Feb 2026 at 10:46, Heinrich Schuchardt > <[email protected]> wrote: > > > > On 2/17/26 09:18, Ilias Apalodimas wrote: > > > Hi Heinrich, > > > > > > On Tue, 17 Feb 2026 at 09:47, Heinrich Schuchardt > > > <[email protected]> wrote: > > >> > > >> 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 <[email protected]> > > >> --- > > >> 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 > > > > > > Won't this disable EFI for ARCH_STM32 devices? Those define the > > > default stack size as 0x4000. > > > > The UEFI specification explicitly requires an enabled MMU. > > The ARMv7-M architecture does not offer it. > > There was a discussion about this earlier and we decided to keep it > alive though. IIRC Mark explained why we can keep it enabled.
Ok looking at this again, the symbol for v7 is CONFIG_ARCH_STM32MP not CONFIG_ARCH_STM32 Reviewed-by: Ilias Apalodimas <[email protected]> > > Thanks > /Ilias > > > > Best regards > > > > Heinrich > > > > > > > > Thanks > > > /Ilias > > >> default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8 > > >> select EFI > > >> select CHARSET > > >> -- > > >> 2.51.0 > > >> > >

