On 04/30/2014 11:24 AM, Scott Wood wrote: >> >> Before this change, we have >> >> #ifndef CONFIG_X86 >> gd_t data; >> >> gd = &data; >> #endif >> >> This is overriding the gd. > > Yes, as I said, "If PPC needs gd before board_init_f(), then add PPC (or > some other relevant symbol if it's not all PPC) to the #ifndef X86." > >> For PPC, gd is set in different places. Eg, cpu_init_early_f() for mpc85xx, >> cpu_init_f() for for mpc512x, mpc5xxx, mpc8260, mpc83xx, mpc86xx. They are >> all >> in different files. Since we have been using this assignment in >> arch/powerpc/lib/board.c for all PPC, it should be safe and clear to have >> correct assignment here. > > The generic board is an opportunity to clean up cruft. Non-mpc85xx can > be dealt with when they get converted. > > What 85xx currently does seems bad -- it initializes the gd, clears it, > may or may not use it, then clears it again. Figure out if the 85xx > code is using gd before board_init_f(). If it is, skip the clear in > board_init_f(), or at least clearly document what the pre-board_init_f() > usage is and that none of those values will last (but if that's the > case, why not use the stack for such temporary values?). If it's not > used, then get rid of the early gd setting and use gd on the stack like > the other arches do. >
Some serious cleaning is needed. Hold on this patch. I will see how fast I can go. York _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot