
On 08.06.20 13:50, Jagan Teki wrote:
On Mon, Jun 8, 2020 at 6:59 AM Heinrich Schuchardt xypron.glpk@gmx.de wrote:
The current default of 0x400 for SYS_MALLOC_F_LEN is too small if any additional drivers marked as DM_FLAG_PRE_RELOC are loaded before relocation.
CONFIG_RSA=y which is needed for UEFI secure boot or for FIT image verification loads the driver mod_exp_sw which has DM_FLAG_PRE_RELOC.
CONFIG_LOG=Y is another setting requiring additional early malloc area, cf. log_init().
When running pine64-lts_defconfig with CONFIG_RSA=y and debug UART enabled we see as output in main U-Boot
alloc_simple() alloc space exhausted
With this patch the default values of SYS_MALLOC_F_LEN is raised to 0x2000. The default for SPL_SYS_MALLOC_F_LEN on ARCH_SUNXI is explicitely set to 0x400 to avoid an increased usage of SRAM on elder SoCs.
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
Reviewed-by: Jagan Teki jagan@amarulasolutions.com
Thanks for reviewing.
All sunxi boards have at least 32 KiB SRAM and only this 32 KiB used by U-Boot for SPL on all sunxi boards. A BananaPi with A20 CPU boots fine with SPL_SYS_MALLOC_F_LEN=0x2000. So it seems that also version 1 of the patch was on the safe side.
Best regards
Heinrich