mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-26 14:40:41 +00:00
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>
This commit is contained in:
parent
5c7ea64bb7
commit
1e701e7013
1 changed files with 3 additions and 8 deletions
|
@ -218,6 +218,8 @@ _start_e500:
|
||||||
bdnz 0b
|
bdnz 0b
|
||||||
|
|
||||||
/* Clear and set up some registers. */
|
/* Clear and set up some registers. */
|
||||||
|
li r0,0
|
||||||
|
mtmsr r0
|
||||||
li r0,0x0000
|
li r0,0x0000
|
||||||
lis r1,0xffff
|
lis r1,0xffff
|
||||||
mtspr DEC,r0 /* prevent dec exceptions */
|
mtspr DEC,r0 /* prevent dec exceptions */
|
||||||
|
@ -277,7 +279,6 @@ _start_e500:
|
||||||
|
|
||||||
/* Jump out the last 4K page and continue to 'normal' start */
|
/* Jump out the last 4K page and continue to 'normal' start */
|
||||||
#ifdef CFG_RAMBOOT
|
#ifdef CFG_RAMBOOT
|
||||||
bl 3f
|
|
||||||
b _start_cont
|
b _start_cont
|
||||||
#else
|
#else
|
||||||
/* Calculate absolute address in FLASH and jump there */
|
/* Calculate absolute address in FLASH and jump there */
|
||||||
|
@ -286,15 +287,9 @@ _start_e500:
|
||||||
ori r3,r3,CFG_MONITOR_BASE@l
|
ori r3,r3,CFG_MONITOR_BASE@l
|
||||||
addi r3,r3,_start_cont - _start + _START_OFFSET
|
addi r3,r3,_start_cont - _start + _START_OFFSET
|
||||||
mtlr r3
|
mtlr r3
|
||||||
|
blr
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
3: li r0,0
|
|
||||||
mtspr SRR1,r0 /* Keep things disabled for now */
|
|
||||||
mflr r1
|
|
||||||
mtspr SRR0,r1
|
|
||||||
rfi
|
|
||||||
isync
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.globl _start
|
.globl _start
|
||||||
_start:
|
_start:
|
||||||
|
|
Loading…
Reference in a new issue