All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Bießmann" <andreas.devel@googlemail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] armv7: Fix to mistake clean the memory space
Date: Thu, 05 Jul 2012 17:38:50 +0200	[thread overview]
Message-ID: <4FF5B50A.9010500@gmail.com> (raw)
In-Reply-To: <1341498915-19127-1-git-send-email-bocui107@gmail.com>

Dear Zhong Hongbo,

this is arm related and should therefore apply to all the different
arch/arm/cpu/*/start.S (as long as they have SPL support).

On 05.07.2012 16:35, Zhong Hongbo wrote:
> From: Zhong Hongbo <bocui107@gmail.com>
> 
> In currently, when __bss_start is equal to __bss_end__,
> The bss loop will clear all the things in memory space.

I ask myself why there is no bss at all. Have you just initialized data
in your spl code?

> 
> But just only when __bss_end__ greater than __bss_start__,
> we do the clear bss section operation.
> 
> Signed-off-by: Hongbo Zhong <bocui107@gmail.com>
> ---
>  arch/arm/cpu/armv7/start.S |    9 ++++++---
>  1 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
> index 22a3ced..2e583ee 100644
> --- a/arch/arm/cpu/armv7/start.S
> +++ b/arch/arm/cpu/armv7/start.S
> @@ -259,10 +259,13 @@ clear_bss:
>  #endif
>  	mov	r2, #0x00000000		/* clear			    */
>  
> -clbss_l:str	r2, [r0]		/* clear loop...		    */
> +clbss_l:
> +	cmp	r1, r0
> +	bls	clbss_end
> +	str	r2, [r0]		/* clear loop...		    */
>  	add	r0, r0, #4
> -	cmp	r0, r1
> -	bne	clbss_l
> +	b	clbss_l
> +clbss_end:

Looks sane, I maybe had checked before clbss_l, jumped over clear loop
if r0 and r1 equal (to emphasize the fact that this is a check for entry
correctness) and wouldn't change the loop at all. To be more precise we
could also check if end is after start.

>  
>  /*
>   * We are done. Do not return, instead branch to second part of board
> 

Best regards

Andreas Bie?mann

  reply	other threads:[~2012-07-05 15:38 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-05 14:35 [U-Boot] [PATCH] armv7: Fix to mistake clean the memory space Zhong Hongbo
2012-07-05 15:38 ` Andreas Bießmann [this message]
2012-07-05 15:52   ` Andreas Bießmann
2012-07-06 11:31     ` Zhong Hongbo
2012-07-06 11:30   ` Zhong Hongbo
2012-07-06  5:44 ` Albert ARIBAUD
2012-07-06 11:35   ` Zhong Hongbo
  -- strict thread matches above, loose matches on Subject: below --
2012-07-06 12:20 Zhong Hongbo
2012-07-06 13:23 ` Andreas Bießmann
2012-07-06 13:50   ` Zhong Hongbo
2012-07-06 13:57     ` Andreas Bießmann
2012-07-06 14:04       ` Zhong Hongbo
2012-07-06 15:26         ` Albert ARIBAUD
2012-07-06 15:29           ` Zhong Hongbo
     [not found]       ` <4FF704DB.4050305@gmail.com>
2012-07-07  7:29         ` Andreas Bießmann
2012-07-07  9:47           ` Zhong Hongbo

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=4FF5B50A.9010500@gmail.com \
    --to=andreas.devel@googlemail.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.