[U-Boot] [PATCH v2 04/13] dm: spl: Make simple malloc() available when enabled

Tom Rini trini at ti.com
Fri Oct 24 20:59:05 CEST 2014


On Thu, Oct 23, 2014 at 01:16:01PM -0600, Simon Glass wrote:

> Set up the simple malloc() implementation when requested, in preference to
> the full malloc().
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
> Changes in v2: None
> 
>  common/spl/spl.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index b16664f..7168854 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -134,9 +134,13 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
>  	u32 boot_device;
>  	debug(">>spl:board_init_r()\n");
>  
> -#ifdef CONFIG_SYS_SPL_MALLOC_START
> +#if defined(CONFIG_SYS_SPL_MALLOC_START)
>  	mem_malloc_init(CONFIG_SYS_SPL_MALLOC_START,
>  			CONFIG_SYS_SPL_MALLOC_SIZE);
> +	gd->flags |= GD_FLG_FULL_MALLOC_INIT;
> +#elif defined(CONFIG_SYS_MALLOC_F_LEN)
> +	gd->malloc_limit = gd->malloc_base + CONFIG_SYS_MALLOC_F_LEN;
> +	gd->malloc_ptr = 0;
>  #endif
>  
>  #ifndef CONFIG_PPC
> @@ -233,6 +237,11 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
>  	default:
>  		debug("Unsupported OS image.. Jumping nevertheless..\n");
>  	}
> +#if defined(CONFIG_SYS_MALLOC_F_LEN) && !defined(CONFIG_SYS_SPL_MALLOC_SIZE)
> +	debug("SPL malloc() used %#lx bytes (%ld KB)\n", gd->malloc_ptr,
> +	      gd->malloc_ptr / 1024);
> +#endif
> +
>  	jump_to_image_no_args(&spl_image);
>  }

I don't know if this is right.  Take the example of am335x + booting
from a FAT fs image.  We'll need early malloc prior to DDR being
available, so the tiny space (1-2kb).  But once DDR is up we need a more
complete malloc so that we can use FAT.  I don't have the size handy but
I'm going to guess that (a) it's bigger than 1-2kb (b) bigger than we
can squeeze into SRAM.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141024/79a92841/attachment.pgp>


More information about the U-Boot mailing list