From: York Sun <yorksun@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [Patch v3 1/2] common/board_f: Preserve early global data
Date: Thu, 1 May 2014 14:29:32 -0700 [thread overview]
Message-ID: <5362BCBC.8080802@freescale.com> (raw)
In-Reply-To: <1398979305.15726.26.camel@snotra.buserror.net>
On 05/01/2014 02:21 PM, Scott Wood wrote:
> On Thu, 2014-05-01 at 14:16 -0700, York Sun wrote:
>> On 05/01/2014 08:54 AM, Simon Glass wrote:
>>> Hi York,
>>>
>>> On 30 April 2014 18:01, York Sun <yorksun@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@freescale.com>
>>>> CC: Scott Wood <scottwood@freescale.com>
>>>> CC: Simon Glass <sjg@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.
>
> Why wait to do it right? Which arches actually don't need this, given
> that Simon said he thinks ARM needs it as well?
>
Adding something I can't test?
Even Simon said he thinks ARM needs it, it is not what current code has. If I
revert this logic,
#ifdef CONFIG_SYS_GLOBAL_DATA_STACK
gd_dt data;
gd = &data;
zero_global_data();
#endif
I need to add #define CONFIG_SYS_GLOBAL_DATA_STACK to the board/arch who needs
it. I have no idea which needs in the 70+ boards with CONFIG_DISPLAY_BOARDINFO
defined.
York
next prev parent reply other threads:[~2014-05-01 21:29 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-01 1:01 [U-Boot] [Patch v3 1/2] common/board_f: Preserve early global data York Sun
2014-05-01 1:01 ` [U-Boot] [Patch v3 2/2] common/board_f: Fix size variable York Sun
2014-05-01 15:54 ` [U-Boot] [Patch v3 1/2] common/board_f: Preserve early global data Simon Glass
2014-05-01 21:16 ` York Sun
2014-05-01 21:21 ` Scott Wood
2014-05-01 21:29 ` York Sun [this message]
2014-05-01 21:41 ` Scott Wood
2014-05-01 21:51 ` Simon Glass
2014-05-01 22:13 ` York Sun
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5362BCBC.8080802@freescale.com \
--to=yorksun@freescale.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.