
Hi Masahiro,
On 20 April 2015 at 22:30, Masahiro Yamada yamada.masahiro@socionext.com wrote:
2015-04-21 12:47 GMT+09:00 Simon Glass sjg@chromium.org:
Hi Masahiro,
On 20 April 2015 at 21:42, Masahiro Yamada yamada.masahiro@socionext.com wrote:
Hi Simon,
2015-04-16 10:14 GMT+09:00 Simon Glass sjg@chromium.org:
Unfortunately memset() is not always available, so provide a substitute when needed.
Signed-off-by: Simon Glass sjg@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.
That would be better I think - how did you manage it? I cannot see the patch you are referring to.
It is under moderation because of too many recipients. (I think you have already received it because you were listed in CC.)
Please wait until it is approved.
Although what about if SPL is very close to the maximum size and adding memset() makes it too large? I suppose in that case we would get a build error and notice the problem?
Buildman-test passed, but I am not sure about run-test.
For those boards that define CONFIG_SPL_MAX_SIZE, CONFIG_SPL_MAX_FOOTPRINT etc., we should notice the problem at the build time. (and it did not occur.)
I'd like to encourage the board maintainers to do run-test just in case. (and also to support such CONFIG options for boards with the limited memory footprint)
OK, I tried it out for code size and it looked fine. I will see if I can test it on some boards, but I imagine it would be fine.
Regards, Simon