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 <york...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot