summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorurwithsughosh@gmail.com <urwithsughosh@gmail.com>2007-09-24 13:36:01 -0400
committerAndrew Fleming-AFLEMING <afleming@freescale.com>2007-10-19 13:13:27 -0500
commit1e701e701304b3c3a3768ca83dd2ab7b9e88c77d (patch)
treeb9b045764ded7560371075d74fea34d6db611b3f
parent5c7ea64bb74a850a2b2303f853a8270695ad8602 (diff)
downloadu-boot-imx-1e701e701304b3c3a3768ca83dd2ab7b9e88c77d.zip
u-boot-imx-1e701e701304b3c3a3768ca83dd2ab7b9e88c77d.tar.gz
u-boot-imx-1e701e701304b3c3a3768ca83dd2ab7b9e88c77d.tar.bz2
MSR overwrite fix
Hello, This patch fixes the MSR overwrite in the start.S when moving out of the last 4K page. Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com>
-rw-r--r--cpu/mpc85xx/start.S11
1 files changed, 3 insertions, 8 deletions
diff --git a/cpu/mpc85xx/start.S b/cpu/mpc85xx/start.S
index e5cabca..ada6ea5 100644
--- a/cpu/mpc85xx/start.S
+++ b/cpu/mpc85xx/start.S
@@ -218,6 +218,8 @@ _start_e500:
bdnz 0b
/* Clear and set up some registers. */
+ li r0,0
+ mtmsr r0
li r0,0x0000
lis r1,0xffff
mtspr DEC,r0 /* prevent dec exceptions */
@@ -277,7 +279,6 @@ _start_e500:
/* Jump out the last 4K page and continue to 'normal' start */
#ifdef CFG_RAMBOOT
- bl 3f
b _start_cont
#else
/* Calculate absolute address in FLASH and jump there */
@@ -286,15 +287,9 @@ _start_e500:
ori r3,r3,CFG_MONITOR_BASE@l
addi r3,r3,_start_cont - _start + _START_OFFSET
mtlr r3
+ blr
#endif
-3: li r0,0
- mtspr SRR1,r0 /* Keep things disabled for now */
- mflr r1
- mtspr SRR0,r1
- rfi
- isync
-
.text
.globl _start
_start: