[PATCH] m68k: use longword-based jumps
Angelo Dureghello
angelo.dureghello at timesys.com
Fri Feb 24 01:47:34 CET 2023
From: Angelo Durgehello <angelo at kernel-space.org>
Increasing of binary size requires longword-based jumps.
Signed-off-by: Angelo Durgehello <angelo.dureghello at timesys.com>
---
arch/m68k/cpu/mcf530x/start.S | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/arch/m68k/cpu/mcf530x/start.S b/arch/m68k/cpu/mcf530x/start.S
index dbe2b54e41..cef8d79aad 100644
--- a/arch/m68k/cpu/mcf530x/start.S
+++ b/arch/m68k/cpu/mcf530x/start.S
@@ -132,7 +132,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
@@ -140,14 +141,17 @@ _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) */
- bsr cpu_init_f
+ move.l #cpu_init_f, %a1
+ jsr (%a1)
/* run low-level board init code (from flash) */
clr.l %sp at -
- bsr board_init_f
+ move.l #board_init_f, %a1
+ jsr (%a1)
/* board_init_f() does not return */
@@ -239,7 +243,8 @@ _fault:
_exc_handler:
SAVE_ALL
movel %sp,%sp at -
- bsr exc_handler
+ move.l #exc_handler, %a1
+ jsr (%a1)
addql #4,%sp
RESTORE_ALL
@@ -247,7 +252,8 @@ _exc_handler:
_int_handler:
SAVE_ALL
movel %sp,%sp at -
- bsr int_handler
+ move.l #int_handler, %a1
+ jsr (%a1)
addql #4,%sp
RESTORE_ALL
--
2.39.1
More information about the U-Boot
mailing list