1 /* SPDX-License-Identifier: GPL-2.0+ */
2 
3 #ifndef __SYSTEM_CONSTANTS_H__
4 #define __SYSTEM_CONSTANTS_H__
5 
6 /*
7  * The most common case for our initial stack pointer address is to
8  * say that we have defined a static intiial ram address location and
9  * size and from that we subtract the generated global data size.
10  */
11 #ifdef CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR
12 #define SYS_INIT_SP_ADDR	CONFIG_CUSTOM_SYS_INIT_SP_ADDR
13 #else
14 #ifdef CONFIG_MIPS
15 #define SYS_INIT_SP_ADDR	(CFG_SYS_SDRAM_BASE + CFG_SYS_INIT_SP_OFFSET)
16 #else
17 #define SYS_INIT_SP_ADDR	\
18 	(CFG_SYS_INIT_RAM_ADDR + CFG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
19 #endif
20 #endif
21 
22 /*
23  * Typically, we have the SPL malloc pool at the end of the BSS area.
24  */
25 #ifdef CONFIG_HAS_CUSTOM_SPL_MALLOC_START
26 #define SYS_SPL_MALLOC_START		CONFIG_CUSTOM_SYS_SPL_MALLOC_ADDR
27 #else
28 #define SYS_SPL_MALLOC_START		(CONFIG_SPL_BSS_START_ADDR + \
29 					 CONFIG_SPL_BSS_MAX_SIZE)
30 #endif
31 
32 #endif
33