Hi Simon, On Wed, Nov 11, 2015 at 6:26 PM, Simon Glass <s...@chromium.org> wrote:
> Thanks for digging into this. But this should be set up in board_init_f_mem(): > > #if defined(CONFIG_SYS_MALLOC_F) && \ > (!defined(CONFIG_SPL_BUILD) || !defined(CONFIG_SYS_SPL_MALLOC_START)) > top -= CONFIG_SYS_MALLOC_F_LEN; > gd->malloc_base = top; > #endif > > Is it possible that the #ifdef logic is wrong for your board? Good point. Looks like this is the problem indeed. I have manually removed the #ifdef logic just for testing: --- a/common/init/board_init.c +++ b/common/init/board_init.c @@ -50,11 +50,8 @@ ulong board_init_f_mem(ulong top) #endif arch_setup_gd(gd_ptr); -#if defined(CONFIG_SYS_MALLOC_F) && \ - (!defined(CONFIG_SPL_BUILD) || !defined(CONFIG_SYS_SPL_MALLOC_START)) top -= CONFIG_SYS_MALLOC_F_LEN; gd->malloc_base = top; -#endif return top; } ,and then malloc() works fine in SPL. Doing a make mx6sabresd_spl_defconfig I get: CONFIG_SYS_MALLOC_F=y For SPL_BUILD I get in menuconfig: Symbol: SPL_BUILD [=SPL_BUILD] Type : unknown and CONFIG_SYS_SPL_MALLOC_START does not exist. Regards, Fabio Estevam _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot