]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/boot/crt0.S
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfashe...
[linux-2.6-omap-h63xx.git] / arch / powerpc / boot / crt0.S
index bd7770b60730396e44c73e28e082c3c0b42a1007..f1c4dfc635be20380d6a718d420cb83b6e4a6068 100644 (file)
@@ -13,6 +13,7 @@
 
        .text
        /* a procedure descriptor used when booting this as a COFF file */
+       .globl  _zimage_start_opd
 _zimage_start_opd:
        .long   _zimage_start, 0, 0, 0
 
@@ -65,10 +66,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 +82,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: