blob: f0a191be590e363500c3218398f3c78ecd68ca27 [file] [log] [blame]
Tom Rini42c61412022-05-25 10:16:18 -04001/* SPDX-License-Identifier: GPL-2.0+ */
2
3#ifndef __SYSTEM_CONSTANTS_H__
4#define __SYSTEM_CONSTANTS_H__
5
Tom Rinieaf6ea62022-05-25 12:16:03 -04006/*
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
Tom Rini65cc0e22022-11-16 13:10:41 -050015#define SYS_INIT_SP_ADDR (CFG_SYS_SDRAM_BASE + CFG_SYS_INIT_SP_OFFSET)
Tom Rinieaf6ea62022-05-25 12:16:03 -040016#else
17#define SYS_INIT_SP_ADDR \
Tom Rini65cc0e22022-11-16 13:10:41 -050018 (CFG_SYS_INIT_RAM_ADDR + CFG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
Tom Rinieaf6ea62022-05-25 12:16:03 -040019#endif
20#endif
21
Tom Rini10f6e4d2022-05-27 12:48:32 -040022/*
23 * Typically, we have the SPL malloc pool at the end of the BSS area.
24 */
Simon Glass82e26e02023-09-26 08:14:16 -060025#ifdef CONFIG_SPL_HAS_CUSTOM_MALLOC_START
26#define SPL_SYS_MALLOC_START CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR
Tom Rini10f6e4d2022-05-27 12:48:32 -040027#else
Simon Glass82e26e02023-09-26 08:14:16 -060028#define SPL_SYS_MALLOC_START (CONFIG_SPL_BSS_START_ADDR + \
Tom Rini10f6e4d2022-05-27 12:48:32 -040029 CONFIG_SPL_BSS_MAX_SIZE)
30#endif
31
Tom Rini42c61412022-05-25 10:16:18 -040032#endif