diff options
| author | Łukasz Dałek <luk0104@gmail.com> | 2013-01-12 11:39:27 +0000 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2013-01-14 16:22:00 -0700 | 
| commit | df3ad6c81d3c0095879359778a7532160a4a0a30 (patch) | |
| tree | 04de02bc4ce2d005c52830a62b7e4bddadb98b9c | |
| parent | 981481958f98f17089bd3d776f71599756d9b9bd (diff) | |
| download | olio-uboot-2014.01-df3ad6c81d3c0095879359778a7532160a4a0a30.tar.xz olio-uboot-2014.01-df3ad6c81d3c0095879359778a7532160a4a0a30.zip | |
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>
| -rw-r--r-- | arch/arm/cpu/pxa/start.S | 2 | 
1 files changed, 2 insertions, 0 deletions
| diff --git a/arch/arm/cpu/pxa/start.S b/arch/arm/cpu/pxa/start.S index 72af86970..e71803eb2 100644 --- a/arch/arm/cpu/pxa/start.S +++ b/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 |