From: Gabe Black Date: Sat, 14 Mar 2020 06:24:39 +0000 (-0700) Subject: util: Remove the subfunc arg from M5OP_FOREACH. X-Git-Tag: v20.0.0.0~227 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1030dfd56eb3669cd84638d470697918155caa00;p=gem5.git util: Remove the subfunc arg from M5OP_FOREACH. Now that the annotation pseudo ops are removed, the subfunction is always zero. It is no longer decoded within gem5 either. The format of the pseudo op func/subfunc mechanism is unchanged for compatibility, but the subfunc field will always be zero now. Change-Id: I2167571577b6557d06aa26d8aecaca78797f5f59 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27205 Tested-by: kokoro Reviewed-by: Daniel Carvalho Maintainer: Bobby R. Bruce --- diff --git a/include/gem5/asm/generic/m5ops.h b/include/gem5/asm/generic/m5ops.h index 8b1f04ae4..e887b72fe 100644 --- a/include/gem5/asm/generic/m5ops.h +++ b/include/gem5/asm/generic/m5ops.h @@ -101,29 +101,29 @@ #define M5OP_FOREACH \ - M5OP(m5_arm, M5OP_ARM, 0); \ - M5OP(m5_quiesce, M5OP_QUIESCE, 0); \ - M5OP(m5_quiesce_ns, M5OP_QUIESCE_NS, 0); \ - M5OP(m5_quiesce_cycle, M5OP_QUIESCE_CYCLE, 0); \ - M5OP(m5_quiesce_time, M5OP_QUIESCE_TIME, 0); \ - M5OP(m5_rpns, M5OP_RPNS, 0); \ - M5OP(m5_wake_cpu, M5OP_WAKE_CPU, 0); \ - M5OP(m5_exit, M5OP_EXIT, 0); \ - M5OP(m5_fail, M5OP_FAIL, 0); \ - M5OP(m5_init_param, M5OP_INIT_PARAM, 0); \ - M5OP(m5_load_symbol, M5OP_LOAD_SYMBOL, 0); \ - M5OP(m5_reset_stats, M5OP_RESET_STATS, 0); \ - M5OP(m5_dump_stats, M5OP_DUMP_STATS, 0); \ - M5OP(m5_dump_reset_stats, M5OP_DUMP_RESET_STATS, 0); \ - M5OP(m5_checkpoint, M5OP_CHECKPOINT, 0); \ - M5OP(m5_read_file, M5OP_READ_FILE, 0); \ - M5OP(m5_write_file, M5OP_WRITE_FILE, 0); \ - M5OP(m5_debug_break, M5OP_DEBUG_BREAK, 0); \ - M5OP(m5_switch_cpu, M5OP_SWITCH_CPU, 0); \ - M5OP(m5_add_symbol, M5OP_ADD_SYMBOL, 0); \ - M5OP(m5_panic, M5OP_PANIC, 0); \ - M5OP(m5_work_begin, M5OP_WORK_BEGIN, 0); \ - M5OP(m5_work_end, M5OP_WORK_END, 0); \ - M5OP(m5_dist_toggle_sync, M5OP_DIST_TOGGLE_SYNC, 0); + M5OP(m5_arm, M5OP_ARM); \ + M5OP(m5_quiesce, M5OP_QUIESCE); \ + M5OP(m5_quiesce_ns, M5OP_QUIESCE_NS); \ + M5OP(m5_quiesce_cycle, M5OP_QUIESCE_CYCLE); \ + M5OP(m5_quiesce_time, M5OP_QUIESCE_TIME); \ + M5OP(m5_rpns, M5OP_RPNS); \ + M5OP(m5_wake_cpu, M5OP_WAKE_CPU); \ + M5OP(m5_exit, M5OP_EXIT); \ + M5OP(m5_fail, M5OP_FAIL); \ + M5OP(m5_init_param, M5OP_INIT_PARAM); \ + M5OP(m5_load_symbol, M5OP_LOAD_SYMBOL); \ + M5OP(m5_reset_stats, M5OP_RESET_STATS); \ + M5OP(m5_dump_stats, M5OP_DUMP_STATS); \ + M5OP(m5_dump_reset_stats, M5OP_DUMP_RESET_STATS); \ + M5OP(m5_checkpoint, M5OP_CHECKPOINT); \ + M5OP(m5_read_file, M5OP_READ_FILE); \ + M5OP(m5_write_file, M5OP_WRITE_FILE); \ + M5OP(m5_debug_break, M5OP_DEBUG_BREAK); \ + M5OP(m5_switch_cpu, M5OP_SWITCH_CPU); \ + M5OP(m5_add_symbol, M5OP_ADD_SYMBOL); \ + M5OP(m5_panic, M5OP_PANIC); \ + M5OP(m5_work_begin, M5OP_WORK_BEGIN); \ + M5OP(m5_work_end, M5OP_WORK_END); \ + M5OP(m5_dist_toggle_sync, M5OP_DIST_TOGGLE_SYNC); #endif // __GEM5_ASM_GENERIC_M5OPS_H__ diff --git a/util/m5/m5op_arm.S b/util/m5/m5op_arm.S index c0487c01c..b4f7fb3cc 100644 --- a/util/m5/m5op_arm.S +++ b/util/m5/m5op_arm.S @@ -46,19 +46,19 @@ .text -.macro m5op_func name, func, subfunc +.macro m5op_func name, func .align 2 .globl \name \name: #ifdef __thumb__ .short 0xEE00 | \func - .short 0x0110 | (\subfunc << 12) + .short 0x0110 #else - .long 0xEE000110 | (\func << 16) | (\subfunc << 12) + .long 0xEE000110 | (\func << 16) #endif mov pc,lr .endm .text -#define M5OP(name, func, subfunc) m5op_func name, func, subfunc +#define M5OP(name, func) m5op_func name, func M5OP_FOREACH diff --git a/util/m5/m5op_arm_A64.S b/util/m5/m5op_arm_A64.S index 09d31d3f0..011da0af6 100644 --- a/util/m5/m5op_arm_A64.S +++ b/util/m5/m5op_arm_A64.S @@ -41,23 +41,23 @@ #include #ifdef M5OP_ADDR -.macro m5op_func, name, func, subfunc +.macro m5op_func, name, func .globl \name \name: ldr x9, m5_mem - movz x10, #((\func << 8) | \subfunc) + movz x10, #(\func << 8) ldr x0, [ x9, x10 ] ret .endm #else -.macro m5op_func, name, func, subfunc +.macro m5op_func, name, func .globl \name \name: - .long 0xff000110 | (\func << 16) | (\subfunc << 12) + .long 0xff000110 | (\func << 16) ret .endm #endif .text -#define M5OP(name, func, subfunc) m5op_func name, func, subfunc +#define M5OP(name, func) m5op_func name, func M5OP_FOREACH