
Add support for re-relocation malloc() in arm's start-up code.
Signed-off-by: Simon Glass sjg@chromium.org ---
Changes in v2: None
README | 3 +++ arch/arm/lib/crt0.S | 4 ++++ 2 files changed, 7 insertions(+)
diff --git a/README b/README index 7450750..46f8f3c 100644 --- a/README +++ b/README @@ -3729,6 +3729,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 bbf3e41..9e81cd9 100644 --- a/arch/arm/lib/crt0.S +++ b/arch/arm/lib/crt0.S @@ -77,6 +77,10 @@ clr_gd: cmp r1, r2 /* while not at end of BSS */ strlo r0, [r1] /* clear 32-bit BSS 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 bl board_init_f