Merge saidi@zizzer.eecs.umich.edu:/bk/linux
[gem5.git] / sim / main.cc
index d0cf230398d62bbaef5ee5d6b1de91e7fb0c35f4..f0d10a67cda5583a41fb418c027e436f83b57394 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003 The Regents of The University of Michigan
+ * Copyright (c) 2000-2004 The Regents of The University of Michigan
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -53,7 +53,9 @@
 #include "sim/sim_exit.hh"
 #include "sim/sim_init.hh"
 #include "sim/sim_object.hh"
-#include "sim/sim_stats.hh"
+#include "sim/stat_control.hh"
+#include "sim/stats.hh"
+#include "sim/universe.hh"
 
 using namespace std;
 
@@ -234,7 +236,7 @@ main(int argc, char **argv)
     sayHello(cerr);
 
     // Initialize statistics database
-    initBaseStats();
+    Stats::InitSimStats();
 
     vector<char *> cppArgs;
 
@@ -355,12 +357,12 @@ main(int argc, char **argv)
 
     // Print hello message to stats file if it's actually a file.  If
     // it's not (i.e. it's cout or cerr) then we already did it above.
-    if (statStreamIsFile)
-        sayHello(*statStream);
+    if (outputStream != &cout && outputStream != &cerr)
+        sayHello(*outputStream);
 
     // Echo command line and all parameter settings to stats file as well.
-    echoCommandLine(argc, argv, *statStream);
-    ParamContext::showAllContexts(*statStream);
+    echoCommandLine(argc, argv, *outputStream);
+    ParamContext::showAllContexts(builderStream());
 
     // Now process the configuration hierarchy and create the SimObjects.
     ConfigHierarchy configHierarchy(simConfigDB);
@@ -388,10 +390,10 @@ main(int argc, char **argv)
 #endif
 
     // Check to make sure that the stats package is properly initialized
-    Statistics::check();
+    Stats::check();
 
     // Reset to put the stats in a consistent state.
-    Statistics::reset();
+    Stats::reset();
 
     // Nothing to simulate if we don't have at least one CPU somewhere.
     if (BaseCPU::numSimulatedCPUs() == 0) {
@@ -400,6 +402,7 @@ main(int argc, char **argv)
     }
 
     SimInit();
+    warn("Entering event queue.  Starting simulation...\n");
 
     while (!mainEventQueue.empty()) {
         assert(curTick <= mainEventQueue.nextTick() &&
@@ -415,14 +418,14 @@ main(int argc, char **argv)
             if (async_dump) {
                 async_dump = false;
 
-                using namespace Statistics;
+                using namespace Stats;
                 SetupEvent(Dump, curTick);
             }
 
             if (async_dumpreset) {
                 async_dumpreset = false;
 
-                using namespace Statistics;
+                using namespace Stats;
                 SetupEvent(Dump | Reset, curTick);
             }