[U-Boot] [PATCH] arm: rmobile: bugfix: wrong register saving in lowlevel_init

Tetsuyuki Kobayashi koba at kmckk.co.jp
Fri Oct 5 06:39:22 CEST 2012


lowlevel_init() of rmobile badly assumed that ip register holds return address.
The commit "63ee53a7 armv7 cpu_init_crit: Simplify code" breaks this assumption.
This patch removes this bad assumption and simplify code.

Signed-off-by: Tetsuyuki Kobayashi <koba at kmckk.co.jp>
---
Hello, Albert
Hello, Tom
Thank you for merging my patches.

I checked current u-boot-master and found kzm9g board fails to boot because bug.
This bugfix patch solves it.
I think 2012.10 release should have this bugfix.

Iwamatsu-san, could you double check this patch?


 arch/arm/cpu/armv7/rmobile/lowlevel_init.S |   12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/arch/arm/cpu/armv7/rmobile/lowlevel_init.S b/arch/arm/cpu/armv7/rmobile/lowlevel_init.S
index 1bd391e..4fdca06 100644
--- a/arch/arm/cpu/armv7/rmobile/lowlevel_init.S
+++ b/arch/arm/cpu/armv7/rmobile/lowlevel_init.S
@@ -76,17 +76,7 @@ loop0:
 	bne  loop0
 
 	ldr sp, MERAM_STACK
-
-	str ip, [sp]    /* stash old link register */
-	mov ip, lr      /* save link reg across call */
-
-	bl  s_init
-
-	ldr ip, [sp]    /* restore save ip */
-	mov lr, ip      /* restore link reg */
-
-	/* back to arch calling code */
-	mov pc, lr
+	b s_init
 
 	.pool
 	.align 4
-- 
1.7.9.5



More information about the U-Boot mailing list