public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: "Andreas Bießmann" <andreas.devel@googlemail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH RFC 1/3] arm920t: do not set register useless
Date: Tue, 30 Nov 2010 08:06:38 +0100	[thread overview]
Message-ID: <1291100800-61850-2-git-send-email-andreas.devel@googlemail.com> (raw)
In-Reply-To: <1291100800-61850-1-git-send-email-andreas.devel@googlemail.com>

in case we are still at relocation target address before relocation we
do not need to load the registers needed for relocation. We should
instead skip the whole relocation part and jump over to clear_bss.

Also prepare to not use target address twice. When we use a scratch
register here r6 is unchanged and can be used later on.

Signed-off-by: Andreas Bie?mann <andreas.devel@googlemail.com>
---
 arch/arm/cpu/arm920t/start.S |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S
index 01edb9b..71de373 100644
--- a/arch/arm/cpu/arm920t/start.S
+++ b/arch/arm/cpu/arm920t/start.S
@@ -208,15 +208,16 @@ stack_setup:
 	mov	sp, r4
 
 	adr	r0, _start
+	cmp	r0, r6
+	beq	clear_bss		/* skip relocation */
+	mov	r1, r6
 	ldr	r2, _TEXT_BASE
 	ldr	r3, _bss_start_ofs
 	add	r2, r0, r3		/* r2 <- source end address	    */
-	cmp	r0, r6
-	beq	clear_bss
 
 copy_loop:
 	ldmia	r0!, {r9-r10}		/* copy from source address [r0]    */
-	stmia	r6!, {r9-r10}		/* copy to   target address [r1]    */
+	stmia	r1!, {r9-r10}		/* copy to   target address [r1]    */
 	cmp	r0, r2			/* until source end address [r2]    */
 	blo	copy_loop
 
-- 
1.7.3.2

  reply	other threads:[~2010-11-30  7:06 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-29 19:58 [U-Boot] Try to fix Board eb_cpux9k2 Jens Scharsig
2010-11-30  7:06 ` [U-Boot] [PATCH RFC 0/3] chenages to arm relocation Andreas Bießmann
2010-11-30  7:06   ` Andreas Bießmann [this message]
2010-11-30  8:07     ` [U-Boot] [PATCH RFC 1/3] arm920t: do not set register useless Albert ARIBAUD
2010-11-30  8:28       ` Andreas Bießmann
2010-11-30  9:25         ` Albert ARIBAUD
2010-11-30  7:06   ` [U-Boot] [PATCH RFC 2/3] arm920t: do not use r8 for relocation Andreas Bießmann
2010-11-30  8:22     ` Albert ARIBAUD
2010-11-30  8:35       ` Andreas Bießmann
2010-11-30  8:58         ` Albert ARIBAUD
2010-11-30  7:06   ` [U-Boot] [PATCH RFC 3/3] arm920t: do not relocate NULL pointer Andreas Bießmann
2010-11-30  8:32     ` Albert ARIBAUD
2010-11-30  8:47       ` Joakim Tjernlund
2010-11-30  8:50         ` Andreas Bießmann
2010-11-30  9:02         ` Albert ARIBAUD
2010-11-30  9:41           ` Joakim Tjernlund
2010-11-30 11:48             ` Andreas Bießmann
2010-11-30 11:56               ` Joakim Tjernlund
2010-11-30  8:37 ` [U-Boot] Try to fix Board eb_cpux9k2 Albert ARIBAUD
2010-12-02 20:27   ` Jens Scharsig
2010-12-02 20:49     ` Albert ARIBAUD
2010-12-01  6:44 ` Albert ARIBAUD

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=1291100800-61850-2-git-send-email-andreas.devel@googlemail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox