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

Heinrich Schuchardt xypron.glpk at gmx.de
Mon Jun 8 12:59:49 CEST 2020


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 at gmx.de>
---
v2
	keep default for SPL_SYS_MALLOC_F_LEN at 0x400
---
 Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Kconfig b/Kconfig
index 0e7ccc0b07..67b594cd74 100644
--- a/Kconfig
+++ b/Kconfig
@@ -146,7 +146,7 @@ config SYS_MALLOC_F_LEN
 	default 0x2000 if (ARCH_IMX8 || ARCH_IMX8M || ARCH_MX7 || \
 			   ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5 || \
 			   ARCH_LS1012A || ARCH_LS1021A || ARCH_LS1043A || \
-			   ARCH_LS1046A)
+			   ARCH_LS1046A || ARCH_SUNXI)
 	default 0x400
 	help
 	  Before relocation, memory is very limited on many platforms. Still,
@@ -166,6 +166,7 @@ config SPL_SYS_MALLOC_F_LEN
 	hex "Size of malloc() pool in SPL before relocation"
 	depends on SYS_MALLOC_F && SPL
 	default 0x2800 if RCAR_GEN3
+	default 0x400 if ARCH_SUNXI
 	default SYS_MALLOC_F_LEN
 	help
 	  Before relocation, memory is very limited on many platforms. Still,
--
2.26.2



More information about the U-Boot mailing list