[U-Boot] [PATCH v3] board_init: Change the logic to setup malloc_base

Simon Glass sjg at chromium.org
Thu Nov 12 20:58:12 CET 2015


On 12 November 2015 at 07:30, Fabio Estevam <fabio.estevam at freescale.com> wrote:
> Prior to commit 5ba534d247d418 ("arm: Switch 32-bit ARM to using generic
> global_data setup") we used to have assembly code that configured the
> malloc_base address.
>
> Since this commit we use the board_init_f_mem() function in C to setup
> malloc_base address.
>
> In board_init_f_mem() there was a deliberate choice to support only
> early malloc() or full malloc() in SPL, but not both.
>
> Adapt this logic to allow both to be used, one after the other, in SPL.
>
> This issue has been observed in a Congatec board, where we need to
> retrieve the manufacturing information from the SPI NOR (the SPI API
> calls malloc) prior to configuring the DRAM. In this case as malloc_base
> was not configured we always see malloc to fail.
>
> With this change we are able to use malloc in SPL prior to DRAM gets
> initialized.
>
> Also update the CONFIG_SYS_SPL_MALLOC_START entry in the README file.
>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
> Changes since v2:
> - Combine two patches into one (Albert)
>
>  README                   | 3 +++
>  common/init/board_init.c | 3 +--
>  2 files changed, 4 insertions(+), 2 deletions(-)

Reviewed-by: Simon Glass <sjg at chromium.org>

Thanks!

- Simon


More information about the U-Boot mailing list