Add support for re-relocation malloc() in arm's start-up code.

Signed-off-by: Simon Glass <s...@chromium.org>
---

Changes in v3:
- Rebase on earlier patch

Changes in v2: None

 README              | 3 +++
 arch/arm/lib/crt0.S | 5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/README b/README
index 11e9d31..73abbf0 100644
--- a/README
+++ b/README
@@ -3749,6 +3749,9 @@ Configuration Settings:
                The memory will be freed (or in fact just forgotton) when
                U-Boot relocates itself.
 
+               Pre-relocation malloc() is only supported on ARM at present
+               but is fairly easy to enable for other archs.
+
 - CONFIG_SYS_BOOTM_LEN:
                Normally compressed uImages are limited to an
                uncompressed size of 8 MBytes. If this is not enough,
diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
index 43aa212..29cdad0 100644
--- a/arch/arm/lib/crt0.S
+++ b/arch/arm/lib/crt0.S
@@ -78,7 +78,10 @@ clr_gd:
        strlo   r0, [r1]                /* clear 32-bit GD word */
        addlo   r1, r1, #4              /* move to next */
        blo     clr_gd
-
+#if defined(CONFIG_SYS_MALLOC_F_LEN) && !defined(CONFIG_SPL_BUILD)
+       sub     sp, sp, #CONFIG_SYS_MALLOC_F_LEN
+       str     sp, [r9, #GD_MALLOC_BASE]
+#endif
        /* mov r0, #0 not needed due to above code */
        bl      board_init_f
 
-- 
2.0.0.526.g5318336

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to