sunxi: A64: move SPL stack to end of SRAM A2
authorAndre Przywara <andre.przywara@arm.com>
Wed, 26 Apr 2017 00:32:42 +0000 (01:32 +0100)
committerJagan Teki <jagan@openedev.com>
Wed, 17 May 2017 17:51:02 +0000 (23:21 +0530)
The SPL stack is usually located at the end of SRAM A1, where it grows
towards the end of the SPL.
For the really big AArch64 binaries the stack overwrites code pretty
soon, so move the SPL stack to the end of SRAM A2, which is unused at this
time.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jagan Teki <jagan@openedev.com>
include/configs/sunxi-common.h

index 997a92c..0511397 100644 (file)
 #ifdef CONFIG_SUNXI_HIGH_SRAM
 #define CONFIG_SPL_TEXT_BASE           0x10040         /* sram start+header */
 #define CONFIG_SPL_MAX_SIZE            0x7fc0          /* 32 KiB */
+#ifdef CONFIG_ARM64
+/* end of SRAM A2 for now, as SRAM A1 is pretty tight for an ARM64 build */
+#define LOW_LEVEL_SRAM_STACK           0x00054000
+#else
 #define LOW_LEVEL_SRAM_STACK           0x00018000
+#endif /* !CONFIG_ARM64 */
 #else
 #define CONFIG_SPL_TEXT_BASE           0x40            /* sram start+header */
 #define CONFIG_SPL_MAX_SIZE            0x5fc0          /* 24KB on sun4i/sun7i */