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.schucha...@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

Reply via email to