
Hi Albert, sorry for late response.
(2012/10/06 1:23), Albert ARIBAUD wrote:
Hi Tetsuyuki,
On Fri, 5 Oct 2012 13:39:22 +0900, Tetsuyuki Kobayashi koba@kmckk.co.jp wrote:
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@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
Is this load of sp still needed?
Yes. At this point sp is not yet initialized and s_init() uses stack area.
- 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