avr32: fix out-of-range jump in large kernels
[firefly-linux-kernel-4.4.55.git] / arch / avr32 / boot / u-boot / head.S
index d36d865308df83cf76b2fcfe58bd95fec8799e95..2ffc298f061b3e7704e89dd634ece905ff13dcf4 100644 (file)
@@ -73,8 +73,11 @@ 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)
-       bral    panic
+       /* branch to panic() which can be far away with that construct */
+       lddpc   pc, panic_addr
 2:     .asciz  "Boot loader didn't provide correct magic number\n"