public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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

  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