On 04/30/2014 03:45 PM, Scott Wood wrote: > On Wed, 2014-04-30 at 14:31 -0700, York Sun wrote: >> For powerpc SoCs (including mpc85xx, mpc86xx), global data is used for >> initializing LAWs, before calling function baord_inti_f(). This data >> should not be cleared later. >> >> Signed-off-by: York Sun <[email protected]> >> --- >> Change log >> v2: Instead of adding back gd init for all PPC, preserve gd for mpc85xx and >> mpc86xx. >> >> Note, need other maintainers to fix 83xx, 5xxx, 512x as I don't have boards >> to verify. >> >> common/board_f.c | 6 +++++- >> 1 file changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/common/board_f.c b/common/board_f.c >> index cbdf06f..eebb377 100644 >> --- a/common/board_f.c >> +++ b/common/board_f.c >> @@ -970,7 +970,11 @@ static init_fnc_t init_sequence_f[] = { >> >> void board_init_f(ulong boot_flags) >> { >> -#ifndef CONFIG_X86 >> + /* >> + * For MPC85xx, global data is initialized in cpu_init_early_f() and >> + * used for init_law(). gd should not be cleared in this function. >> + */ >> +#if !defined(CONFIG_X86) && !defined(CONFIG_MPC85xx) && >> !defined(CONFIG_MPC86xx) >> gd_t data; >> >> gd = &data; > > It would be better to introduce a CONFIG_SYS_EARLY_GD (or similar) > rather than growing a list here.
That's do-able. > > Is there any reason why the set of targets for which zero_global_data() > is skipped is different from the set of targets where the gd > instantiation and assignment is skipped? I would think the list should be identical. But without proper testing, I am reluctant to copy the list. As you have suggested, start from 85xx first. Non-mpc85xx can be dealt with when they get converted. York _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

