m68k: enabling long jumps on mcf54x5 SoCs
authorAngelo Dureghello <angelo@sysam.it>
Wed, 13 Mar 2019 20:46:44 +0000 (21:46 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 24 May 2019 12:11:57 +0000 (08:11 -0400)
Growing of binary size asks for long assembly jumps.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Angelo Dureghello <angelo@sysam.it>
arch/m68k/cpu/mcf547x_8x/start.S

index 7cb5db7ff056b0cf962df1ede017d0e1aed60aec..4dd57bf39c48977063161c5b178f393670479fc2 100644 (file)
@@ -131,7 +131,8 @@ _start:
         * then (and always) gd struct space will be reserved
         */
        move.l  %sp, -(%sp)
-       bsr     board_init_f_alloc_reserve
+       move.l  #board_init_f_alloc_reserve, %a1
+       jsr     (%a1)
 
        /* update stack and frame-pointers */
        move.l  %d0, %sp
@@ -139,7 +140,8 @@ _start:
 
        /* initialize reserved area */
        move.l  %d0, -(%sp)
-       bsr     board_init_f_init_reserve
+       move.l  #board_init_f_init_reserve, %a1
+       jsr     (%a1)
 
        /* run low-level CPU init code (from flash) */
        jbsr    cpu_init_f