From: Jeroen Hofstee <jeroen@myspectrum.nl>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 2/9] arm: Set up global data before board_init_f()
Date: Tue, 08 Jul 2014 19:13:13 +0200 [thread overview]
Message-ID: <53BC26A9.3090909@myspectrum.nl> (raw)
In-Reply-To: <1404775168-17884-3-git-send-email-sjg@chromium.org>
Hello Simon,
On 08-07-14 01:19, Simon Glass wrote:
> At present arm defines CONFIG_SYS_GENERIC_GLOBAL_DATA, meaning that
> the global_data pointer is set up in board_init_f(). However it is
> actually set up before this, it just isn't zeroed.
>
> If we zero the global data before calling board_init_f() then we
> don't need to define CONFIG_SYS_GENERIC_GLOBAL_DATA.
>
> Make this change to simplify the init process.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
> Changes in v2: None
>
> arch/arm/include/asm/config.h | 2 --
> arch/arm/lib/crt0.S | 7 +++++++
> 2 files changed, 7 insertions(+), 2 deletions(-)
First of all, good idea.. I missed v1 apparently.
> diff --git a/arch/arm/include/asm/config.h b/arch/arm/include/asm/config.h
> index 2a20a77..abf79e5 100644
> --- a/arch/arm/include/asm/config.h
> +++ b/arch/arm/include/asm/config.h
> @@ -7,8 +7,6 @@
> #ifndef _ASM_CONFIG_H_
> #define _ASM_CONFIG_H_
>
> -#define CONFIG_SYS_GENERIC_GLOBAL_DATA
> -
This bricks aarch64 I guess.
> #define CONFIG_LMB
> #define CONFIG_SYS_BOOT_RAMDISK_HIGH
>
> diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
> index dfc2de9..bbf3e41 100644
> --- a/arch/arm/lib/crt0.S
> +++ b/arch/arm/lib/crt0.S
> @@ -67,9 +67,16 @@ ENTRY(_main)
> ldr sp, =(CONFIG_SYS_INIT_SP_ADDR)
> #endif
> bic sp, sp, #7 /* 8-byte alignment for ABI compliance */
> + mov r2, sp
> sub sp, sp, #GD_SIZE /* allocate one GD above SP */
> bic sp, sp, #7 /* 8-byte alignment for ABI compliance */
> mov r9, sp /* GD is above SP */
> + mov r1, r9
> + mov r0, #0
> +clr_gd: cmp r1, r2 /* while not at end of BSS */
> + strlo r0, [r1] /* clear 32-bit BSS word */
> + addlo r1, r1, #4 /* move to next */
The comment should be updated, it is not BSS which is cleared.
> + blo clr_gd
> mov r0, #0
> bl board_init_f
>
The mov r0, #0 for the argument could be removed, but at
least deserves a comment if you do so.
Regards,
Jeroen
next prev parent reply other threads:[~2014-07-08 17:13 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-07 23:19 [U-Boot] [PATCH v2 0/9] Add a pre-relocation malloc() implementation Simon Glass
2014-07-07 23:19 ` [U-Boot] [PATCH v2 1/9] Remove form-feeds from dlmalloc.c Simon Glass
2014-07-07 23:19 ` [U-Boot] [PATCH v2 2/9] arm: Set up global data before board_init_f() Simon Glass
2014-07-08 17:13 ` Jeroen Hofstee [this message]
2014-07-08 18:41 ` Simon Glass
2014-07-08 20:00 ` Jeroen Hofstee
2014-07-11 4:16 ` Simon Glass
2014-07-07 23:19 ` [U-Boot] [PATCH v2 3/9] sandbox: " Simon Glass
2014-07-07 23:19 ` [U-Boot] [PATCH v2 4/9] Add a simple malloc() implementation for pre-relocation Simon Glass
2014-07-15 3:08 ` Graeme Russ
2014-07-07 23:19 ` [U-Boot] [PATCH v2 5/9] arm: Support pre-relocation malloc() Simon Glass
2014-07-07 23:19 ` [U-Boot] [PATCH v2 6/9] exynos: Enable " Simon Glass
2014-07-07 23:19 ` [U-Boot] [PATCH v2 7/9] sandbox: Support " Simon Glass
2014-07-07 23:19 ` [U-Boot] [PATCH v2 8/9] sandbox: config: Enable " Simon Glass
2014-07-07 23:19 ` [U-Boot] [PATCH v2 9/9] sandbox: Always enable malloc debug Simon Glass
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=53BC26A9.3090909@myspectrum.nl \
--to=jeroen@myspectrum.nl \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox