summaryrefslogtreecommitdiff
path: root/util/m5/m5.c
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/m5.c
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/m5.c')
-rw-r--r--util/m5/m5.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/util/m5/m5.c b/util/m5/m5.c
new file mode 100644
index 000000000..4bd515c5d
--- /dev/null
+++ b/util/m5/m5.c
@@ -0,0 +1,62 @@
+#include <c_asm.h>
+
+#include <libgen.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "m5op.h"
+
+char *progname;
+
+void
+usage()
+{
+ char *name = basename(progname);
+ printf("usage: %s ivlb <interval>\n"
+ " %s ivle <interval>\n"
+ " %s initparam\n"
+ " %s sw99param\n"
+ " %s resetstats\n"
+ " %s exit\n", name, name, name, name, name, name);
+ exit(1);
+}
+
+int
+main(int argc, char *argv[])
+{
+ int start;
+ int interval;
+ unsigned long long param;
+
+ progname = argv[0];
+ if (argc < 2)
+ usage();
+
+ if (strncmp(argv[1], "ivlb", 5) == 0) {
+ if (argc != 3) usage();
+ ivlb((unsigned long)atoi(argv[2]));
+ } else if (strncmp(argv[1], "ivle", 5) == 0) {
+ if (argc != 3) usage();
+ ivle((unsigned long)atoi(argv[2]));
+ } else if (strncmp(argv[1], "exit", 5) == 0) {
+ if (argc != 2) usage();
+ m5exit();
+ } else if (strncmp(argv[1], "initparam", 10) == 0) {
+ if (argc != 2) usage();
+ printf("%d", initparam());
+ } else if (strncmp(argv[1], "sw99param", 10) == 0) {
+ if (argc != 2) usage();
+
+ param = initparam();
+ // run-time, rampup-time, rampdown-time, warmup-time, connections
+ printf("%d %d %d %d %d", (param >> 48) & 0xfff,
+ (param >> 36) & 0xfff, (param >> 24) & 0xfff,
+ (param >> 12) & 0xfff, (param >> 0) & 0xfff);
+ } else if (strncmp(argv[1], "resetstats", 11) == 0) {
+ if (argc != 2) usage();
+ resetstats();
+ }
+
+ return 0;
+}