Correctly tracks r29 as global data pointer now.
Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
 }
 #endif
 
-void
-after_reloc(ulong dest_addr)
-{
-       DECLARE_GLOBAL_DATA_PTR;
-
-       /* now, jump to the main U-Boot board init code */
-       board_init_r ((gd_t *)gd, dest_addr);
-
-       /* NOTREACHED */
-}
-
 
 
 
 
 #ifndef CONFIG_OF_FLAT_TREE
 
-#if defined(CFG_INIT_RAM_LOCK) && !defined(CONFIG_E500)
+#if defined(CFG_INIT_RAM_LOCK) && (!defined(CONFIG_E500) || !defined(CONFIG_MPC86xx))
        unlock_ram_in_cache();
 #endif
 
        ft_setup(of_flat_tree, OF_FLAT_TREE_MAX_SIZE, kbd, initrd_start, initrd_end);
        /* ft_dump_blob(of_flat_tree); */
 
-#if defined(CFG_INIT_RAM_LOCK) && !defined(CONFIG_E500)
+#if defined(CFG_INIT_RAM_LOCK) && (!defined(CONFIG_E500)||!defined(CONFIG_MPC86xx))
        unlock_ram_in_cache();
 #endif
        /*
 
        cmplw   0, r3, r4
        bne     5b
 6:
-       mr      r3, r10         /* Destination Address          */
-       bl      after_reloc
+       mr      r3, r9          /* Init Date pointer            */
+       mr      r4, r10         /* Destination Address          */
+       bl      board_init_r
 
        /* not reached - end relocate_code */
 /*-----------------------------------------------------------------------*/
 
        icache_enable ();       /* it's time to enable the instruction cache */
 #endif
 
-#if defined(CFG_INIT_RAM_LOCK) && defined(CONFIG_E500)
+#if defined(CFG_INIT_RAM_LOCK) && (defined(CONFIG_E500) || defined(CONFIG_MPC86xx))
        unlock_ram_in_cache();  /* it's time to unlock D-cache in e500 */
 #endif