diff options
| author | Tom Rini <[email protected]> | 2022-05-25 12:16:03 -0400 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2022-06-06 12:09:19 -0400 |
| commit | eaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1 (patch) | |
| tree | 08730191ffa8d746827684e78887966c866fe172 /include/system-constants.h | |
| parent | 42c6141d379c0458cbacfb166b4a2d4cd8817325 (diff) | |
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 <[email protected]>
Diffstat (limited to 'include/system-constants.h')
| -rw-r--r-- | include/system-constants.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/system-constants.h b/include/system-constants.h index 4fd24f46099..de66fece957 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 |
