Преглед на файлове

pxa: Save lr register in relocate_code function

When u-boot is compiled for PXA25x processor, pxa/start.S is calling
cpu_init_crit by BL instruction. BL is overwriting lr register so
relocate_code is going into infinite loop. This patch preservs lr
register in r12 before calling cpu_init_crit and after function returns
restores it.

Signed-off-by: Lukasz Dalek <luk0104@gmail.com>
Acked-by: Marek Vasut <marex@denx.de>
Łukasz Dałek преди 12 години
родител
ревизия
df3ad6c81d
променени са 1 файла, в които са добавени 2 реда и са изтрити 0 реда
  1. 2 0
      arch/arm/cpu/pxa/start.S

+ 2 - 0
arch/arm/cpu/pxa/start.S

@@ -183,7 +183,9 @@ relocate_code:
 
 /* Disable the Dcache RAM lock for stack now */
 #ifdef	CONFIG_CPU_PXA25X
+	mov	r12, lr
 	bl	cpu_init_crit
+	mov	lr, r12
 #endif
 
 	adr	r0, _start