]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/powerpc/cpu/mpc8260/start.S
PowerPC: Don't destroy fixup table while doing fixups
[karo-tx-uboot.git] / arch / powerpc / cpu / mpc8260 / start.S
index a43504276b0c3086733ad4eaaed78de6fe6e6019..255a15eae42fcb088787cfb42ef1e4968cf0f867 100644 (file)
@@ -25,6 +25,7 @@
 /*
  *  U-Boot - Startup Code for MPC8260 PowerPC based Embedded Boards
  */
+#include <asm-offsets.h>
 #include <config.h>
 #include <mpc8260.h>
 #include <timestamp.h>
@@ -38,6 +39,7 @@
 
 #include <asm/cache.h>
 #include <asm/mmu.h>
+#include <asm/u-boot.h>
 
 #ifndef  CONFIG_IDENT_STRING
 #define  CONFIG_IDENT_STRING ""
@@ -161,18 +163,6 @@ _hrcw_table:
 
        .globl  _start
 _start:
-       li      r21, BOOTFLAG_COLD      /* Normal Power-On: Boot from FLASH*/
-       nop
-       b       boot_cold
-
-       . = EXC_OFF_SYS_RESET + 0x10
-
-       .globl  _start_warm
-_start_warm:
-       li      r21, BOOTFLAG_WARM      /* Software reboot              */
-       b       boot_warm
-
-boot_cold:
 #if defined(CONFIG_MPC8260ADS) && defined(CONFIG_SYS_DEFAULT_IMMR)
        lis     r3, CONFIG_SYS_DEFAULT_IMMR@h
        nop
@@ -185,7 +175,7 @@ boot_cold:
        stw     r4, 0(r3)
        nop
 #endif /* CONFIG_MPC8260ADS && CONFIG_SYS_DEFAULT_IMMR */
-boot_warm:
+
        mfmsr   r5                      /* save msr contents            */
 
 #if defined(CONFIG_COGENT)
@@ -254,10 +244,10 @@ in_flash:
        bl      init_debug      /* set up debugging stuff               */
 #endif
 
-       mr      r3, r21
-       /* r3: BOOTFLAG */
        bl      board_init_f    /* run 1st part of board init code (in Flash)*/
 
+       /* NOTREACHED - board_init_f() does not return */
+
 /*
  * Vector Table
  */
@@ -915,10 +905,12 @@ in_ram:
        beq     4f
 3:     lwzu    r4,4(r3)
        lwzux   r0,r4,r11
+       cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
+       beq-    5f
        stw     r0,0(r4)
-       bdnz    3b
+5:     bdnz    3b
 4:
 clear_bss:
        /*