[PATCH v2 1/1] riscv: alloc space exhausted

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Tue Apr 5 16:47:15 CEST 2022


When trying to run qemu-riscv64_smode_defconfig with 32 harts booting
fails. The debug UART shows a message

    alloc space exhausted

32 is the current maximum number of harts for machine virt in QEMU 7.0.

Raise the default for SYS_MALLOC_F_LEN to 16 KiB.

Move the setting to /Kconfig where we define SYS_MALLOC_F_LEN for
other architectures too.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
v2:
	move the setting to /Kconfig
---
 Kconfig            | 2 +-
 arch/riscv/Kconfig | 3 ---
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/Kconfig b/Kconfig
index 112745440b..678317e4d3 100644
--- a/Kconfig
+++ b/Kconfig
@@ -248,7 +248,7 @@ config SYS_MALLOC_F_LEN
 	hex "Size of malloc() pool before relocation"
 	depends on SYS_MALLOC_F
 	default 0x1000 if AM33XX
-	default 0x4000 if SANDBOX
+	default 0x4000 if SANDBOX || RISCV
 	default 0x2000 if (ARCH_IMX8 || ARCH_IMX8M || ARCH_MX7 || \
 			   ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5 || \
 			   ARCH_LS1012A || ARCH_LS1021A || ARCH_LS1043A || \
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index ba29e70acf..78e964db12 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -195,9 +195,6 @@ config ANDES_PLIC
 	  The Andes PLIC block holds memory-mapped claim and pending registers
 	  associated with software interrupt.
 
-config SYS_MALLOC_F_LEN
-	default 0x1000
-
 config SMP
 	bool "Symmetric Multi-Processing"
 	depends on SBI_V01 || !RISCV_SMODE
-- 
2.34.1



More information about the U-Boot mailing list