summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilton Miller <miltonm@bga.com>2007-03-28 08:21:02 (GMT)
committerPaul Mackerras <paulus@samba.org>2007-04-12 17:55:16 (GMT)
commitf4bdbfc41b3cad813745f64fb849c298770da517 (patch)
tree7c54e0c7aa06ba4d8811ee418daf354d10ac3706
parentd6f1d2a9a83f447af6c210c8268ce117772da77f (diff)
downloadlinux-fsl-qoriq-f4bdbfc41b3cad813745f64fb849c298770da517.tar.xz
[POWERPC] bootwrapper: missing relocation in crt0.S
crt0.S had provisions to provide run address relocaton to got2 and cache flush, but not on the bss clear or stack pointer load. Apply the same fixup for them. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--arch/powerpc/boot/crt0.S8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/powerpc/boot/crt0.S b/arch/powerpc/boot/crt0.S
index bd7770b..5a4215c 100644
--- a/arch/powerpc/boot/crt0.S
+++ b/arch/powerpc/boot/crt0.S
@@ -65,10 +65,12 @@ _zimage_start_lib:
/* Clear the BSS */
lis r9,__bss_start@ha
addi r9,r9,__bss_start@l
+ add r9,r0,r9
lis r8,_end@ha
addi r8,r8,_end@l
- li r0,0
-5: stw r0,0(r9)
+ add r8,r0,r8
+ li r10,0
+5: stw r10,0(r9)
addi r9,r9,4
cmplw cr0,r9,r8
blt 5b
@@ -79,7 +81,9 @@ _zimage_start_lib:
addi r8,r8,_platform_stack_top@l
cmpwi r8,0
beq 6f
+ add r8,r0,r8
lwz r1,0(r8)
+ add r1,r0,r1
li r0,0
stwu r0,-16(r1) /* establish a stack frame */
6: