[U-Boot] [PATCH 02/10] board_init_f_mem(): Don't require memset()

Masahiro Yamada yamada.masahiro at socionext.com
Tue Apr 21 05:42:23 CEST 2015


Hi Simon,



2015-04-16 10:14 GMT+09:00 Simon Glass <sjg at chromium.org>:
> Unfortunately memset() is not always available, so provide a substitute when
> needed.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
>  common/init/global_data.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/common/init/global_data.c b/common/init/global_data.c
> index 2633f0d..ef055c4 100644
> --- a/common/init/global_data.c
> +++ b/common/init/global_data.c
> @@ -21,7 +21,15 @@ ulong board_init_f_mem(ulong top)
>         top -= sizeof(struct global_data);
>         top = ALIGN(top, 16);
>         gd = (struct global_data *)top;
> +#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBGENERIC_SUPPORT)
>         memset((void *)gd, '\0', sizeof(*gd));
> +#else
> +       int *ptr = (int *)gd;
> +       int *end = (int *)(gd + 1);
> +
> +       while (ptr < end)
> +               *ptr++ = 0;
> +#endif
>
>  #ifdef CONFIG_SYS_MALLOC_F_LEN
>         top -= CONFIG_SYS_MALLOC_F_LEN;


This patch implies that all the SPLs should have memset().

Is it better to build lib/ unconditionally?
I posted a patch to do so.

Please consider to use it as a prerequisite
for cleaning up 01/10  and 02/10.



-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list