aboutsummaryrefslogtreecommitdiff
path: root/Kconfig
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-05-25 12:16:03 -0400
committerTom Rini <trini@konsulko.com>2022-06-06 12:09:19 -0400
commiteaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1 (patch)
tree08730191ffa8d746827684e78887966c866fe172 /Kconfig
parent42c6141d379c0458cbacfb166b4a2d4cd8817325 (diff)
downloadu-boot-eaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1.zip
u-boot-eaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1.tar.gz
u-boot-eaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1.tar.bz2
Migrate CUSTOM_SYS_INIT_SP_ADDR to Kconfig using system-constants.h
- Make all users of CUSTOM_SYS_INIT_SP_ADDR reference SYS_INIT_SP_ADDR - Introduce HAS_CUSTOM_SYS_INIT_SP_ADDR to allow for setting the stack pointer directly, otherwise we use the common calculation. - On some platforms that were using the standard calculation but did not set CONFIG_SYS_INIT_RAM_SIZE / CONFIG_SYS_INIT_RAM_ADDR, set them. - On a small number of platforms that were not subtracting GENERATED_GBL_DATA_SIZE do so now via the standard calculation. - CONFIG_SYS_INIT_SP_OFFSET is now widely unused, so remove it from most board config header files. Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'Kconfig')
-rw-r--r--Kconfig18
1 files changed, 18 insertions, 0 deletions
diff --git a/Kconfig b/Kconfig
index f017968..429b5f9 100644
--- a/Kconfig
+++ b/Kconfig
@@ -242,6 +242,24 @@ config SYS_BOOT_GET_KBD
Enables allocating and saving a kernel copy of the bd_info in
space between "bootm_low" and "bootm_low" + BOOTMAPSZ.
+config HAS_CUSTOM_SYS_INIT_SP_ADDR
+ bool "Use a custom location for the initial stack pointer address"
+ depends on ARC || (ARM && !INIT_SP_RELATIVE) || MIPS || PPC || RISCV
+ default y if TFABOOT
+ help
+ Typically, we use an initial stack pointer address that is calculated
+ by taking the statically defined CONFIG_SYS_INIT_RAM_ADDR, adding the
+ statically defined CONFIG_SYS_INIT_RAM_SIZE and then subtracting the
+ build-time constant of GENERATED_GBL_DATA_SIZE. On MIPS a different
+ but statica calculation is performed. However, some platforms will
+ take a different approach. Say Y here to define the address statically
+ instead.
+
+config CUSTOM_SYS_INIT_SP_ADDR
+ hex "Static location for the initial stack pointer"
+ depends on HAS_CUSTOM_SYS_INIT_SP_ADDR
+ default SYS_TEXT_BASE if TFABOOT
+
config SYS_MALLOC_F
bool "Enable malloc() pool before relocation"
default y if DM