efi_loader: use CONFIG_STACK_SIZE in the UEFI sub-system

The Kconfig symbol CONFIG_STACK_SIZE is used both by ARM and Microblaze
with the same meaning. Move it to menu 'General setup' so that we can use
it for all architectures.

Use the value of CONFIG_STACK_SIZE instead of a hard coded 16 MiB value for
reserving memory in the UEFI sub-system.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
Heinrich Schuchardt 2020-07-29 12:37:35 +02:00
parent 4f0c4be1c3
commit 74b869bae7
4 changed files with 11 additions and 26 deletions

10
Kconfig
View file

@ -369,6 +369,16 @@ config PLATFORM_ELFENTRY
default "__start" if MIPS default "__start" if MIPS
default "_start" default "_start"
config STACK_SIZE
hex "Define max stack size that can be used by U-Boot"
default 0x4000000 if ARCH_VERSAL || ARCH_ZYNQMP
default 0x200000 if MICROBLAZE
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.
endmenu # General setup endmenu # General setup
menu "Boot images" menu "Boot images"

View file

@ -503,23 +503,6 @@ config TPL_USE_ARCH_MEMSET
Such an implementation may be faster under some conditions Such an implementation may be faster under some conditions
but may increase the binary size. but may increase the binary size.
config SET_STACK_SIZE
bool "Enable an option to set max stack size that can be used"
default y if ARCH_VERSAL || ARCH_ZYNQMP || ARCH_ZYNQ
help
This will enable an option to set max stack size that can be
used by U-Boot.
config STACK_SIZE
hex "Define max stack size that can be used by U-Boot"
depends on SET_STACK_SIZE
default 0x4000000 if ARCH_VERSAL || ARCH_ZYNQMP
default 0x1000000 if ARCH_ZYNQ
help
Define Max stack size that can be used by U-Boot so that the
initrd_high will be calculated as base stack pointer minus this
stack size.
config ARM64_SUPPORT_AARCH32 config ARM64_SUPPORT_AARCH32
bool "ARM64 system support AArch32 execution state" bool "ARM64 system support AArch32 execution state"
depends on ARM64 depends on ARM64

View file

@ -20,14 +20,6 @@ config TARGET_MICROBLAZE_GENERIC
endchoice endchoice
config STACK_SIZE
hex "Define max stack size that can be used by u-boot"
default 0x200000
help
Defines Max stack size that can be used by u-boot so that the
initrd_high will be calculated as base stack pointer minus this
stack size.
source "board/xilinx/microblaze-generic/Kconfig" source "board/xilinx/microblaze-generic/Kconfig"
endmenu endmenu

View file

@ -762,7 +762,7 @@ static void add_u_boot_and_runtime(void)
unsigned long runtime_start, runtime_end, runtime_pages; unsigned long runtime_start, runtime_end, runtime_pages;
unsigned long runtime_mask = EFI_PAGE_MASK; unsigned long runtime_mask = EFI_PAGE_MASK;
unsigned long uboot_start, uboot_pages; unsigned long uboot_start, uboot_pages;
unsigned long uboot_stack_size = 16 * 1024 * 1024; unsigned long uboot_stack_size = CONFIG_STACK_SIZE;
/* Add U-Boot */ /* Add U-Boot */
uboot_start = ((uintptr_t)map_sysmem(gd->start_addr_sp, 0) - uboot_start = ((uintptr_t)map_sysmem(gd->start_addr_sp, 0) -