Configuration: Fix example script to only create one L2 if --l2cache and -nX are...
[gem5.git] / util / m5 / m5.c
index c9d7d5a4719755e5ce59540be1ba41105a3bb3ac..b103796a853f11fe1f50f8d0f13d9aafb8ff334c 100644 (file)
@@ -32,6 +32,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <unistd.h>
 
 #include "m5op.h"
 
@@ -40,15 +41,14 @@ char *progname;
 void
 usage()
 {
-    printf("usage: m5 ivlb <interval>\n"
-           "       m5 ivle <interval>\n"
-           "       m5 initparam\n"
+    printf("usage: m5 initparam\n"
            "       m5 sw99param\n"
            "       m5 exit [delay]\n"
            "       m5 resetstats [delay [period]]\n"
            "       m5 dumpstats [delay [period]]\n"
            "       m5 dumpresetstats [delay [period]]\n"
            "       m5 checkpoint [delay [period]]\n"
+           "       m5 readfile\n"
            "\n"
            "All times in nanoseconds!\n");
     exit(1);
@@ -70,24 +70,6 @@ main(int argc, char *argv[])
 
     command = argv[1];
 
-    if (COMPARE("ivlb")) {
-        if (argc != 3)
-            usage();
-
-        arg1 = strtoul(argv[2], NULL, 0);
-        m5_ivlb(arg1);
-        return 0;
-    }
-
-    if (COMPARE("ivle")) {
-        if (argc != 3)
-            usage();
-
-        arg1 = strtoul(argv[2], NULL, 0);
-        m5_ivle(arg1);
-        return 0;
-    }
-
     if (COMPARE("initparam")) {
         if (argc != 2)
             usage();
@@ -167,6 +149,22 @@ main(int argc, char *argv[])
         }
     }
 
+    if (COMPARE("readfile")) {
+            char buf[256*1024];
+            int offset = 0;
+            int len;
+
+            if (argc != 2)
+                    usage();
+
+            while ((len = m5_readfile(buf, sizeof(buf), offset)) > 0) {
+                    write(STDOUT_FILENO, buf, len);
+                    offset += len;
+            }
+
+            return 0;
+    }
+
     if (COMPARE("checkpoint")) {
         switch (argc) {
           case 4:
@@ -184,5 +182,9 @@ main(int argc, char *argv[])
         return 0;
     }
 
+    if (COMPARE("loadsymbol")) {
+        m5_loadsymbol(arg1);
+        return 0;
+    }
     usage();
 }