[U-Boot] [PATCH 2/5] x86: fsp: Reserve different malloc size before relocation
Bin Meng
bmeng.cn at gmail.com
Mon Jul 27 09:33:40 CEST 2015
Currently Intel queensbay fsp initializes a CAR size with only 4KiB,
which is not enough when dm pci is enabled before relocation. Change
arch/x86/start.s to reserve a small size before fsp_init() is called
and some bigger size after fsp_init() which can be configured via
the exisiting CONFIG_MALLOC_F_LEN.
Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
---
arch/x86/Kconfig | 5 +++++
arch/x86/cpu/start.S | 10 +++++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index e8968a7..afd4a84 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -227,6 +227,11 @@ config FSP_TEMP_RAM_ADDR
Stack top address which is used in FspInit after DRAM is ready and
CAR is disabled.
+config SYS_MALLOC_F_LEN_PRE_FSP
+ hex
+ depends on HAVE_FSP
+ default 0x800
+
config SMP
bool "Enable Symmetric Multiprocessing"
default n
diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S
index 00e585e..cc6fbe9 100644
--- a/arch/x86/cpu/start.S
+++ b/arch/x86/cpu/start.S
@@ -137,7 +137,15 @@ skip_hob:
movl %esp, %ecx
#if defined(CONFIG_SYS_MALLOC_F_LEN)
- subl $CONFIG_SYS_MALLOC_F_LEN, %esp
+#ifdef CONFIG_HAVE_FSP
+ test %esi, %esi
+ jnz 1f
+ subl $CONFIG_SYS_MALLOC_F_LEN_PRE_FSP, %esp
+ jmp 2f
+#endif
+1:
+ subl $CONFIG_SYS_MALLOC_F_LEN, %esp
+2:
movl %eax, %edx
addl $GD_MALLOC_BASE, %edx
movl %esp, (%edx)
--
1.8.2.1
More information about the U-Boot
mailing list