Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[sfrench/cifs-2.6.git] / arch / powerpc / boot / crt0.S
index 25ad7453531aaea8526dd8f950bdbd64e10d75ec..5a4215c4b0146aa063fe87c5bb503a398232f6d3 100644 (file)
@@ -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:
@@ -88,5 +92,4 @@ _zimage_start_lib:
        bl      platform_init
 
        /* Call start */
-       mr      r3,r1
        b       start