[PATCH 1/1] arm: sunxi: increase SYS_MALLOC_F_LEN

André Przywara andre.przywara at arm.com
Mon Jun 8 11:07:49 CEST 2020


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.glpk at 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
> 



More information about the U-Boot mailing list