[U-Boot] [PATCH 1/2] common/board_f: Add back gd init
York Sun
yorksun at freescale.com
Wed Apr 30 19:33:19 CEST 2014
On 04/28/2014 03:51 PM, York Sun wrote:
> 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;
>
Scott,
Please review this patch. You mentioned in my RFC patch review that "gd is
already initialized at the beginning of board_init_f()". I think that's not the
case. This change is still needed to get gd correct value.
York
More information about the U-Boot
mailing list