[U-Boot] [PATCH 1/2] common/board_f: Add back gd init
Scott Wood
scottwood at freescale.com
Wed Apr 30 19:57:09 CEST 2014
On Wed, 2014-04-30 at 10:33 -0700, York Sun wrote:
> 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.
Could you respond to the comments in the RFC patch? No point
duplicating them.
> 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.
Could you elaborate? You're setting it to the same value that
cpu_init_early_f() set it to (on mpc85xx -- not all PPC).
-Scott
More information about the U-Boot
mailing list