summaryrefslogtreecommitdiff
path: root/util/m5/m5op.s
diff options
context:
space:
mode:
authorNathan Binkert <binkertn@umich.edu>2003-11-01 13:53:23 -0500
committerNathan Binkert <binkertn@umich.edu>2003-11-01 13:53:23 -0500
commit9ce1edeb0cce612aea5766eaf754ae75bcf30efb (patch)
tree04738e2b6dc0275f887675b916578f8b41bef826 /util/m5/m5op.s
parent59eeb1bb52aeec8c3c406d25598ae729ceb4e6bb (diff)
parent6cc2783217f175e26040cf818d464c7abb4379a8 (diff)
downloadgem5-9ce1edeb0cce612aea5766eaf754ae75bcf30efb.tar.xz
Merge zizzer.eecs.umich.edu:/bk/m5
into zans.eecs.umich.edu:/z/binkertn/research/m5/latest --HG-- extra : convert_revision : 3536754864ead5d7c95a2a8a1b6edd2fb70f5a88
Diffstat (limited to 'util/m5/m5op.s')
-rw-r--r--util/m5/m5op.s66
1 files changed, 66 insertions, 0 deletions
diff --git a/util/m5/m5op.s b/util/m5/m5op.s
new file mode 100644
index 000000000..fb92bfb9a
--- /dev/null
+++ b/util/m5/m5op.s
@@ -0,0 +1,66 @@
+#include <machine/asm.h>
+#include <regdef.h>
+
+#define m5_op 0x01
+#define arm_func 0x00
+#define quiesce_func 0x01
+#define ivlb_func 0x10
+#define ivle_func 0x11
+#define m5exit_func 0x20
+#define initparam_func 0x30
+#define resetstats_func 0x40
+
+#define INST(op, ra, rb, func) \
+ .long (((op) << 26) | ((ra) << 21) | ((rb) << 16) | (func))
+
+#define ARM(reg) INST(m5_op, reg, 0, arm_func)
+#define QUIESCE() INST(m5_op, 0, 0, quiesce_func)
+#define IVLB(reg) INST(m5_op, reg, 0, ivlb_func)
+#define IVLE(reg) INST(m5_op, reg, 0, ivle_func)
+#define M5_EXIT() INST(m5_op, 0, 0, m5exit_func)
+#define INITPARAM(reg) INST(m5_op, reg, 0, initparam_func)
+#define RESETSTATS() INST(m5_op, 0, 0, resetstats_func)
+
+ .set noreorder
+
+ .align 4
+LEAF(arm)
+ ARM(16)
+ RET
+END(arm)
+
+ .align 4
+LEAF(quiesce)
+ QUIESCE()
+ RET
+END(quiesce)
+
+ .align 4
+LEAF(ivlb)
+ IVLB(16)
+ RET
+END(ivlb)
+
+ .align 4
+LEAF(ivle)
+ IVLE(16)
+ RET
+END(ivle)
+
+ .align 4
+LEAF(m5exit)
+ M5_EXIT()
+ RET
+END(m5exit)
+
+ .align 4
+LEAF(initparam)
+ INITPARAM(0)
+ RET
+END(initparam)
+
+ .align 4
+LEAF(resetstats)
+ RESETSTATS()
+ RET
+END(resetstats) \ No newline at end of file