[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