aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2020-07-29 12:37:35 +0200
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2020-08-01 11:58:23 +0200
commit74b869bae74cb749ed4feef54f6d2630aed2a828 (patch)
tree9fc6e3a25f6d3f8c665b45e599ccc4e667074c43
parent4f0c4be1c34f934ad33edb0f29f7f249e5de4b40 (diff)
downloadu-boot-74b869bae74cb749ed4feef54f6d2630aed2a828.zip
u-boot-74b869bae74cb749ed4feef54f6d2630aed2a828.tar.gz
u-boot-74b869bae74cb749ed4feef54f6d2630aed2a828.tar.bz2
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>
-rw-r--r--Kconfig10
-rw-r--r--arch/arm/Kconfig17
-rw-r--r--arch/microblaze/Kconfig8
-rw-r--r--lib/efi_loader/efi_memory.c2
4 files changed, 11 insertions, 26 deletions
diff --git a/Kconfig b/Kconfig
index 4462432..1c408b6 100644
--- a/Kconfig
+++ b/Kconfig
@@ -369,6 +369,16 @@ config PLATFORM_ELFENTRY
default "__start" if MIPS
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
menu "Boot images"
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 3e11ddf..d3ac8e1 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -503,23 +503,6 @@ config TPL_USE_ARCH_MEMSET
Such an implementation may be faster under some conditions
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
bool "ARM64 system support AArch32 execution state"
depends on ARM64
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
index 2bd260e..ff6b3c7 100644
--- a/arch/microblaze/Kconfig
+++ b/arch/microblaze/Kconfig
@@ -20,14 +20,6 @@ config TARGET_MICROBLAZE_GENERIC
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"
endmenu
diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
index 44b8a2e..7be756e 100644
--- a/lib/efi_loader/efi_memory.c
+++ b/lib/efi_loader/efi_memory.c
@@ -762,7 +762,7 @@ static void add_u_boot_and_runtime(void)
unsigned long runtime_start, runtime_end, runtime_pages;
unsigned long runtime_mask = EFI_PAGE_MASK;
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 */
uboot_start = ((uintptr_t)map_sysmem(gd->start_addr_sp, 0) -