[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