m5.c revision 275
1#include <c_asm.h> 2 3#include <libgen.h> 4#include <stdio.h> 5#include <stdlib.h> 6#include <string.h> 7 8#include "m5op.h" 9 10char *progname; 11 12void 13usage() 14{ 15 char *name = basename(progname); 16 printf("usage: %s ivlb <interval>\n" 17 " %s ivle <interval>\n" 18 " %s initparam\n" 19 " %s sw99param\n" 20 " %s resetstats\n" 21 " %s exit\n", name, name, name, name, name, name); 22 exit(1); 23} 24 25int 26main(int argc, char *argv[]) 27{ 28 int start; 29 int interval; 30 unsigned long long param; 31 32 progname = argv[0]; 33 if (argc < 2) 34 usage(); 35 36 if (strncmp(argv[1], "ivlb", 5) == 0) { 37 if (argc != 3) usage(); 38 ivlb((unsigned long)atoi(argv[2])); 39 } else if (strncmp(argv[1], "ivle", 5) == 0) { 40 if (argc != 3) usage(); 41 ivle((unsigned long)atoi(argv[2])); 42 } else if (strncmp(argv[1], "exit", 5) == 0) { 43 if (argc != 2) usage(); 44 m5exit(); 45 } else if (strncmp(argv[1], "initparam", 10) == 0) { 46 if (argc != 2) usage(); 47 printf("%d", initparam()); 48 } else if (strncmp(argv[1], "sw99param", 10) == 0) { 49 if (argc != 2) usage(); 50 51 param = initparam(); 52 // run-time, rampup-time, rampdown-time, warmup-time, connections 53 printf("%d %d %d %d %d", (param >> 48) & 0xfff, 54 (param >> 36) & 0xfff, (param >> 24) & 0xfff, 55 (param >> 12) & 0xfff, (param >> 0) & 0xfff); 56 } else if (strncmp(argv[1], "resetstats", 11) == 0) { 57 if (argc != 2) usage(); 58 resetstats(); 59 } 60 61 return 0; 62} 63