From 27047499d4a5e539699655068d7e200424fd8821 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 24 Mar 2020 22:29:34 -0700 Subject: [PATCH] util,sparc: Use M5OP_FOREACH to define the m5op entry points for sparc. Change-Id: I9b125c843425ef4a7a59061d5897dd8e83e06abb Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27207 Tested-by: kokoro Reviewed-by: Jason Lowe-Power Reviewed-by: Daniel Carvalho Maintainer: Bobby R. Bruce --- util/m5/m5op_sparc.S | 131 +++++-------------------------------------- 1 file changed, 14 insertions(+), 117 deletions(-) diff --git a/util/m5/m5op_sparc.S b/util/m5/m5op_sparc.S index fe70e0a8a..9ed9a99cc 100644 --- a/util/m5/m5op_sparc.S +++ b/util/m5/m5op_sparc.S @@ -31,120 +31,17 @@ #include -#define INST(func, rs1, rs2, rd) \ - .long (m5_op) << 30 | (rd) << 25 | (m5_op3) << 19 | (func) << 7 | \ - (rs1) << 14 | (rs2) << 0; - - -#define LEAF(func) \ - .section ".text"; \ - .align 4; \ - .global func; \ - .type func, #function; \ -func: - -#define END(func) \ - .size func, (.-func) - -#define DEBUGBREAK INST(M5OP_DEBUG_BREAK, 0, 0, 0) -#define M5EXIT INST(M5OP_EXIT, 0, 0, 0) -#define PANIC INST(M5OP_PANIC, 0, 0, 0) -#define READFILE INST(M5OP_READ_FILE, 0, 0, 0) - -LEAF(m5_exit) - retl - M5EXIT -END(m5_exit) - -LEAF(m5_panic) - retl - PANIC -END(m5_panic) - -LEAF(m5_read_file) - retl - READFILE -END(m5_read_file) - -LEAF(m5_debug_break) - retl - DEBUGBREAK -END(m5_debug_break) - -/* !!!!!! All code below here just panics !!!!!! */ -LEAF(m5_arm) - retl - PANIC -END(m5_arm) - -LEAF(m5_quiesce) - retl - PANIC -END(m5_quiesce) - -LEAF(m5_quiesce_ns) - retl - PANIC -END(m5_quiesce_ns) - -LEAF(m5_quiesce_cycle) - retl - PANIC -END(m5_quiesce_cycle) - -LEAF(m5_quiesce_time) - retl - PANIC -END(m5_quiesce_time) - -LEAF(m5_init_param) - retl - PANIC -END(m5_init_param) - -LEAF(m5_load_symbol) - retl - PANIC -END(m5_load_symbol) - -LEAF(m5_reset_stats) - retl - PANIC -END(m5_reset_stats) - -LEAF(m5_dump_stats) - retl - PANIC -END(m5_dump_stats) - -LEAF(m5_dump_reset_stats) - retl - PANIC -END(m5_dump_reset_stats) - -LEAF(m5_checkpoint) - retl - PANIC -END(m5_checkpoint) - -LEAF(m5_switch_cpu) - retl - PANIC -END(m5_switch_cpu) - -LEAF(m5_add_symbol) - retl - PANIC -END(m5_add_symbol) - -LEAF(m5_anbegin) - retl - PANIC -END(m5_anbegin) - -LEAF(m5_anwait) - retl - PANIC -END(m5_anwait) - - +.macro m5op_func name, func + .section ".text"; + .align 4; + .global \name; + .type \name, #function; +\name: + retl + .long (m5_op) << 30 | (m5_op3) << 19 | (\func) << 7; + .size \name, (.-\name) +.endm + +#define M5OP(name, func) m5op_func name, func + M5OP_FOREACH +#undef M5OP -- 2.30.2