m5op_alpha.S revision 275
1#include <machine/asm.h> 2#include <regdef.h> 3 4#define m5_op 0x01 5#define arm_func 0x00 6#define quiesce_func 0x01 7#define ivlb_func 0x10 8#define ivle_func 0x11 9#define m5exit_func 0x20 10#define initparam_func 0x30 11#define resetstats_func 0x40 12 13#define INST(op, ra, rb, func) \ 14 .long (((op) << 26) | ((ra) << 21) | ((rb) << 16) | (func)) 15 16#define ARM(reg) INST(m5_op, reg, 0, arm_func) 17#define QUIESCE() INST(m5_op, 0, 0, quiesce_func) 18#define IVLB(reg) INST(m5_op, reg, 0, ivlb_func) 19#define IVLE(reg) INST(m5_op, reg, 0, ivle_func) 20#define M5_EXIT() INST(m5_op, 0, 0, m5exit_func) 21#define INITPARAM(reg) INST(m5_op, reg, 0, initparam_func) 22#define RESETSTATS() INST(m5_op, 0, 0, resetstats_func) 23 24 .set noreorder 25 26 .align 4 27LEAF(arm) 28 ARM(16) 29 RET 30END(arm) 31 32 .align 4 33LEAF(quiesce) 34 QUIESCE() 35 RET 36END(quiesce) 37 38 .align 4 39LEAF(ivlb) 40 IVLB(16) 41 RET 42END(ivlb) 43 44 .align 4 45LEAF(ivle) 46 IVLE(16) 47 RET 48END(ivle) 49 50 .align 4 51LEAF(m5exit) 52 M5_EXIT() 53 RET 54END(m5exit) 55 56 .align 4 57LEAF(initparam) 58 INITPARAM(0) 59 RET 60END(initparam) 61 62 .align 4 63LEAF(resetstats) 64 RESETSTATS() 65 RET 66END(resetstats)