[U-Boot] [PATCH v3 5/9] arm: Support pre-relocation malloc()
Simon Glass
sjg at chromium.org
Wed Jul 23 14:19:24 CEST 2014
+Tom
Hi Albert,
On 10 July 2014 22:23, Simon Glass <sjg at chromium.org> wrote:
> Add support for re-relocation malloc() in arm's start-up code.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> Changes in v3:
> - Rebase on earlier patch
Can you please take a look at this patch? I would like to apply it to
the dm repo.
>
> 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
>
Regards,
Simon
More information about the U-Boot
mailing list