diff options
author | Nathan Binkert <binkertn@umich.edu> | 2003-11-01 13:53:23 -0500 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2003-11-01 13:53:23 -0500 |
commit | 9ce1edeb0cce612aea5766eaf754ae75bcf30efb (patch) | |
tree | 04738e2b6dc0275f887675b916578f8b41bef826 /util/m5/m5.c | |
parent | 59eeb1bb52aeec8c3c406d25598ae729ceb4e6bb (diff) | |
parent | 6cc2783217f175e26040cf818d464c7abb4379a8 (diff) | |
download | gem5-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.c | 62 |
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; +} |