[U-Boot] [Patch v3 1/2] common/board_f: Preserve early global data

York Sun yorksun at freescale.com
Thu May 1 23:16:39 CEST 2014


On 05/01/2014 08:54 AM, Simon Glass wrote:
> Hi York,
> 
> On 30 April 2014 18:01, York Sun <yorksun at freescale.com> wrote:
>> Some platforms (including mpc85xx, mpc86xx) use global data before calling
>> function baord_inti_f(). This data should not be cleared later. Any arch
>> which needs to preserve global data should define CONFIG_SYS_EARLY_GD.
>>
>> Signed-off-by: York Sun <yorksun at freescale.com>
>> CC: Scott Wood <scottwood at freescale.com>
>> CC: Simon Glass <sjg at chromium.org>
>> ---
>> Change log
>>
>>  v3: Introduce CONFIG_SYS_EARLY_GD instead of using a list
>>  v2: Instead of adding back gd init for all PPC, preserve gd for mpc85xx and mpc86xx.
>>
>>  README                            |    3 +++
>>  arch/powerpc/include/asm/config.h |    2 ++
>>  arch/x86/include/asm/config.h     |    1 +
>>  common/board_f.c                  |   10 +++++-----
>>  4 files changed, 11 insertions(+), 5 deletions(-)
>>
>> diff --git a/README b/README
>> index 12758dc..1a51b11 100644
>> --- a/README
>> +++ b/README
>> @@ -440,6 +440,9 @@ The following options need to be configured:
>>                 supported, core will start to execute uboot when wakes up.
>>
>>  - Generic CPU options:
>> +               CONFIG_SYS_EARLY_GD
>> +               Defines global data is used before board_init_f().
>> +
> 
> This looks like a good solution, but I believe that 'early' is in fact
> where we are headed. So perhaps you should create an inverted option
> and define it for archs that don't support it?

I don't disagree for the long term. But since we just start to convert to
generic board, fewer archs need this than those don't. I suggest we try this and
when most archs convert to generic board, we can invert it if needed.

> 
> For what you have, I think CONFIG_SYS_EARLY_GLOBAL_DATA might be more
> descriptive. Also I think you should describe the purpose more
> precisely here - it's not just the use that you need to discuss.
> 
> - The CPU init code must set it up and zero it
> - Then board_init_f() doesn't zero it
> 

Will add these.

York


More information about the U-Boot mailing list