From b616947052178f358bbb07d368ba3399fce9d495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pali=20Roh=C3=A1r?= Date: Fri, 8 Apr 2022 10:28:05 +0200 Subject: [PATCH] SPL: Do not enable SPL_SYS_MALLOC_SIMPLE without SPL_FRAMEWORK by default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On P2020 board is SPL malloc simple always failing with error and loops: SD boot... alloc space exhausted Bad trap at PC: f8f8b5f0, SR: 21200, vector=d00 NIP: 00000000 XER: 00000000 LR: 00000000 REGS: f8f8b5f0 TRAP: 20000000 DAR: 00000000 MSR: 00021200 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00 GPR00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 GPR08: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 GPR24: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Call backtrace: Exception in kernel pc f8f8b5f0 signal 0 Inspection showed that gd->malloc_limit is zero. And it is because generally SPL_FRAMEWORK initialize SPL's gd->malloc_limit. But when SPL_FRAMEWORK is not enabled then in most cases nobody initialize gd->malloc_limit and so SPL malloc simple does not work. So disable SPL_SYS_MALLOC_SIMPLE by default when SPL_FRAMEWORK is not enabled. SPL_SYS_MALLOC_SIMPLE can be disabled only by setting SPL_SYS_MALLOC_F_LEN to zero. So do it. This change fixes SPL error "alloc space exhausted" on P2020 board. Signed-off-by: Pali Rohár --- Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/Kconfig b/Kconfig index 429e5d3dbb..bdae59e06f 100644 --- a/Kconfig +++ b/Kconfig @@ -283,6 +283,7 @@ config SYS_MALLOC_LEN config SPL_SYS_MALLOC_F_LEN hex "Size of malloc() pool in SPL" depends on SYS_MALLOC_F && SPL + default 0 if !SPL_FRAMEWORK default 0x2800 if RCAR_GEN3 default SYS_MALLOC_F_LEN help