On 08/06/2020 09:02, Maxime Ripard wrote: > Hi, > > On Sat, Jun 06, 2020 at 09:58:13AM +0000, Heinrich Schuchardt 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 and >> SPL_SYS_MALLOC_F_LEN on ARCH_SUNXI are raised to 0x2000.
Heinrich, many thanks for the debugging and the nice solution! >> >> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> > > Where is this SYS_MALLOC_F_LEN allocated from (in particular for the > SPL). Is it from the SRAM? This is the value for U-Boot proper only, so it's taken from DRAM. There is CONFIG_SPL_SYS_MALLOC_F_LEN for the SPL, which we don't touch. So the SPL is safe. Cheers, Andre > > If so, on older SoCs, we probably don't have 8k to spare. > > Maxime >