[U-Boot] [PATCH] ARM: crt0: Pass malloc base address
Fabio Estevam
festevam at gmail.com
Wed Nov 11 21:23:17 CET 2015
From: Fabio Estevam <fabio.estevam at freescale.com>
Commit 5ba534d247d418 ("arm: Switch 32-bit ARM to using generic global_data
setup") causes malloc() to fail in SPL.
The reason is that the GD_MALLOC_BASE is not passed anymore.
Restore the code that passes malloc base so that we can have
malloc working in SPL code again.
Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
---
arch/arm/lib/crt0.S | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
index 80548eb..d620126 100644
--- a/arch/arm/lib/crt0.S
+++ b/arch/arm/lib/crt0.S
@@ -87,6 +87,10 @@ ENTRY(_main)
mov sp, r0
mov r0, #0
+#if defined(CONFIG_SYS_MALLOC_F_LEN)
+ sub sp, sp, #CONFIG_SYS_MALLOC_F_LEN
+ str sp, [r9, #GD_MALLOC_BASE]
+#endif
bl board_init_f
#if ! defined(CONFIG_SPL_BUILD)
--
1.9.1
More information about the U-Boot
mailing list