[U-Boot] [PATCH 1/2] common/board_f: Add back gd init

York Sun yorksun at freescale.com
Tue Apr 29 00:51:13 CEST 2014


For powerpc SoCs, the initial gd is in INIT_RAM, in most cases, resideing
in locked D-cache. At the time the function baord_inti_f() runs, no other
RAM is available as a stack. This technique has been used in
arch/powerpc/lib/board.c and should be added to generic board for powerpc.

Signed-off-by: York Sun <yorksun at freescale.com>
---
 common/board_f.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/common/board_f.c b/common/board_f.c
index cbdf06f..3a00b92 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -970,7 +970,10 @@ static init_fnc_t init_sequence_f[] = {
 
 void board_init_f(ulong boot_flags)
 {
-#ifndef CONFIG_X86
+#ifdef CONFIG_PPC
+	gd = (gd_t *)(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET);
+	__asm__ __volatile__("" : : : "memory");
+#elif !defined(CONFIG_X86)
 	gd_t data;
 
 	gd = &data;
-- 
1.7.9.5



More information about the U-Boot mailing list