rk: revert to v3.10
[firefly-linux-kernel-4.4.55.git] / arch / avr32 / boot / u-boot / head.S
index 2ffc298f061b3e7704e89dd634ece905ff13dcf4..4488fa27fe948c2e73018e962628c7883327bf07 100644 (file)
@@ -8,8 +8,6 @@
  * published by the Free Software Foundation.
  */
 #include <asm/setup.h>
-#include <asm/thread_info.h>
-#include <asm/sysreg.h>
 
        /*
         * The kernel is loaded where we want it to be and all caches
        .section .init.text,"ax"
        .global _start
 _start:
+       /* Check if the boot loader actually provided a tag table */
+       lddpc   r0, magic_number
+       cp.w    r12, r0
+       brne    no_tag_table
+
        /* Initialize .bss */
        lddpc   r2, bss_start_addr
        lddpc   r3, end_addr
@@ -31,25 +34,6 @@ _start:
        cp      r2, r3
        brlo    1b
 
-       /* Initialize status register */
-       lddpc   r0, init_sr
-       mtsr    SYSREG_SR, r0
-
-       /* Set initial stack pointer */
-       lddpc   sp, stack_addr
-       sub     sp, -THREAD_SIZE
-
-#ifdef CONFIG_FRAME_POINTER
-       /* Mark last stack frame */
-       mov     lr, 0
-       mov     r7, 0
-#endif
-
-       /* Check if the boot loader actually provided a tag table */
-       lddpc   r0, magic_number
-       cp.w    r12, r0
-       brne    no_tag_table
-
        /*
         * Save the tag table address for later use. This must be done
         * _after_ .bss has been initialized...
@@ -69,15 +53,8 @@ bss_start_addr:
        .long   __bss_start
 end_addr:
        .long   _end
-init_sr:
-       .long   0x007f0000      /* Supervisor mode, everything masked */
-stack_addr:
-       .long   init_thread_union
-panic_addr:
-       .long   panic
 
 no_tag_table:
        sub     r12, pc, (. - 2f)
-       /* branch to panic() which can be far away with that construct */
-       lddpc   pc, panic_addr
+       bral    panic
 2:     .asciz  "Boot loader didn't provide correct magic number\n"