Browse Source

ARM: keystone2: spl: Fix stack allocation with CONFIG_SYS_MALLOC_F_LEN

If CONFIG_SYS_MALLOC_F_LEN is enabled, the stack is moved down to the
specified size to make the malloc function available before relocation.
But on keystone platforms SYS_SPL_MALLOC is immediately preceding stack,
which is causing an overlap with this config enabled.
So leave a gap between malloc space and stack space.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla 9 years ago
parent
commit
aaf461f9ad
1 changed files with 7 additions and 0 deletions
  1. 7 0
      include/configs/ti_armv7_keystone2.h

+ 7 - 0
include/configs/ti_armv7_keystone2.h

@@ -32,6 +32,12 @@
 #define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SPL_TEXT_BASE - \
 #define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SPL_TEXT_BASE - \
 					GENERATED_GBL_DATA_SIZE)
 					GENERATED_GBL_DATA_SIZE)
 
 
+#ifdef CONFIG_SYS_MALLOC_F_LEN
+#define SPL_MALLOC_F_SIZE	CONFIG_SYS_MALLOC_F_LEN
+#else
+#define SPL_MALLOC_F_SIZE	0
+#endif
+
 /* SPL SPI Loader Configuration */
 /* SPL SPI Loader Configuration */
 #define CONFIG_SPL_PAD_TO		65536
 #define CONFIG_SPL_PAD_TO		65536
 #define CONFIG_SPL_MAX_SIZE		(CONFIG_SPL_PAD_TO - 8)
 #define CONFIG_SPL_MAX_SIZE		(CONFIG_SPL_PAD_TO - 8)
@@ -44,6 +50,7 @@
 #define CONFIG_SPL_STACK_SIZE		(8 * 1024)
 #define CONFIG_SPL_STACK_SIZE		(8 * 1024)
 #define CONFIG_SPL_STACK		(CONFIG_SYS_SPL_MALLOC_START + \
 #define CONFIG_SPL_STACK		(CONFIG_SYS_SPL_MALLOC_START + \
 					CONFIG_SYS_SPL_MALLOC_SIZE + \
 					CONFIG_SYS_SPL_MALLOC_SIZE + \
+					SPL_MALLOC_F_SIZE + \
 					CONFIG_SPL_STACK_SIZE - 4)
 					CONFIG_SPL_STACK_SIZE - 4)
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_SPI_SUPPORT