From eaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Wed, 25 May 2022 12:16:03 -0400 Subject: 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 --- include/system-constants.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'include/system-constants.h') diff --git a/include/system-constants.h b/include/system-constants.h index 4fd24f4609..de66fece95 100644 --- a/include/system-constants.h +++ b/include/system-constants.h @@ -3,4 +3,20 @@ #ifndef __SYSTEM_CONSTANTS_H__ #define __SYSTEM_CONSTANTS_H__ +/* + * The most common case for our initial stack pointer address is to + * say that we have defined a static intiial ram address location and + * size and from that we subtract the generated global data size. + */ +#ifdef CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR +#define SYS_INIT_SP_ADDR CONFIG_CUSTOM_SYS_INIT_SP_ADDR +#else +#ifdef CONFIG_MIPS +#define SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_INIT_SP_OFFSET) +#else +#define SYS_INIT_SP_ADDR \ + (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) +#endif +#endif + #endif -- cgit v1.2.3