addi    r2,r2,0x4000
 
        /* Relocate the TOC from a virt addr to a real addr */
-       sub     r2,r2,r3
+       add     r2,r2,r3
 
        /* Restore parameters */
        mr      r3,r31
        li      r3,0                    /* target addr */
 
        // XXX FIXME: Use phys returned by OF (r30)
-       sub     r4,r27,r26              /* source addr                   */
+       add     r4,r27,r26              /* source addr                   */
                                        /* current address of _start     */
                                        /*   i.e. where we are running   */
                                        /*      the source addr          */
        bctr
 
 4:     LOADADDR(r5,klimit)
-       sub     r5,r5,r26
+       add     r5,r5,r26
        ld      r5,0(r5)                /* get the value of klimit */
        sub     r5,r5,r27
        bl      .copy_and_flush         /* copy the rest */
        /* kernel but are still running in real mode. */
 
        LOADADDR(r3,init_thread_union)
-       sub     r3,r3,r26
+       add     r3,r3,r26
 
        /* set up a stack pointer (physical address) */
        addi    r1,r3,THREAD_SIZE
        LOADADDR(r2,__toc_start)
        addi    r2,r2,0x4000
        addi    r2,r2,0x4000
-       sub     r2,r2,r26
+       add     r2,r2,r26
 
        LOADADDR(r3,cpu_specs)
-       sub     r3,r3,r26
+       add     r3,r3,r26
        LOADADDR(r4,cur_cpu_spec)
-       sub     r4,r4,r26
+       add     r4,r4,r26
        mr      r5,r26
        bl      .identify_cpu
 
         * code
         */
        LOADADDR(r27, boot_cpuid)
-       sub     r27,r27,r26
+       add     r27,r27,r26
        lwz     r27,0(r27)
 
        LOADADDR(r24, paca)             /* Get base vaddr of paca array  */
        mulli   r13,r27,PACA_SIZE       /* Calculate vaddr of right paca */
        add     r13,r13,r24             /* for this processor.           */
-       sub     r13,r13,r26             /* convert to physical addr      */
+       add     r13,r13,r26             /* convert to physical addr      */
        mtspr   SPRN_SPRG3,r13          /* PPPBBB: Temp... -Peter */
        
        /* Do very early kernel initializations, including initial hash table,
        andi.   r3,r3,PLATFORM_LPAR
        bne     98f                     /* branch if result is !0  */
        LOADADDR(r6,_SDR1)              /* Only if NOT LPAR */
-       sub     r6,r6,r26
+       add     r6,r6,r26
        ld      r6,0(r6)                /* get the value of _SDR1 */
        mtspr   SPRN_SDR1,r6                    /* set the htab location  */
 98: