[U-Boot] [Patch v2 1/2] common/board_f: Preserve global data for mpc85xx and mpc86xx
Scott Wood
scottwood at freescale.com
Thu May 1 00:57:58 CEST 2014
On Wed, 2014-04-30 at 15:56 -0700, York Sun wrote:
> On 04/30/2014 03:51 PM, Scott Wood wrote:
> > On Wed, 2014-04-30 at 15:48 -0700, York Sun wrote:
> >> 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 <yorksun at freescale.com>
> >>>> ---
> >>>> 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.
> >
> > None of those other PPC targets currently use the generic board. They
> > will be tested when they are converted.
> >
>
> Are you suggesting to copy the list, instead of only putting those tested?
I'm saying to use CONFIG_SYS_EARLY_GD for both things.
> It may save other maintainer some effort of debugging. But I can't be
> sure they will all work.
What good reason could there be for wanting to skip clearing of a gd
that was just allocated on the stack?
-Scott
More information about the U-Boot
mailing list