enable the Trace, Statistics, and Serialize param contexts.
authorNathan Binkert <binkertn@umich.edu>
Wed, 9 Feb 2005 22:33:28 +0000 (17:33 -0500)
committerNathan Binkert <binkertn@umich.edu>
Wed, 9 Feb 2005 22:33:28 +0000 (17:33 -0500)
objects/Root.mpy:
    Fake the param context stuff for now.
sim/param.cc:
    Make empty vector enums work
sim/serialize.cc:
    serialize_dir is always valid

--HG--
extra : convert_revision : c46373f0f4c70e6a2f01a81c0fa6bacab72d4c4f

objects/Root.mpy
sim/param.cc
sim/serialize.cc

index b21396e36007b5099c027baef57c7a73de145823..dd485ac73b86ef5a4a772da962c94a8c4b387646 100644 (file)
@@ -1,4 +1,8 @@
 from HierParams import HierParams
+from Serialize import Serialize
+from Statistics import Statistics
+from Trace import Trace
+
 simobj Root(SimObject):
     type = 'Root'
     frequency = Param.Tick(200000000, "tick frequency")
@@ -9,3 +13,6 @@ simobj Root(SimObject):
     full_system = Param.Bool("Full system simulation?")
     hier = HierParams(do_data = False, do_events = True)
     checkpoint = Param.String('', "Checkpoint file")
+    stats = Statistics()
+    trace = Trace()
+    serialize = Serialize()
index d16578a2d35ba8780c8bf225faec64db831108fd..ff023ce85f03985ccacf584ff922d490f4b554c4 100644 (file)
@@ -441,6 +441,11 @@ EnumVectorParam<Map>::parse(const string &s)
 {
     vector<string> tokens;
 
+    if (s.empty()) {
+        wasSet = true;
+        return;
+    }
+
     tokenize(tokens, s, ' ');
 
     value.resize(tokens.size());
index 3a073f68d2be8ff9f1ba9e16357a8d3c247e0d8b..d5f217e551cb6c24ba56204268d55f9e8e431a9e 100644 (file)
@@ -333,11 +333,7 @@ SerializeParamContext::~SerializeParamContext()
 void
 SerializeParamContext::checkParams()
 {
-    if (serialize_dir.isValid()) {
-        checkpointDirBase = serialize_dir;
-    } else {
-        checkpointDirBase = outputDirectory + "cpt.%012d";
-    }
+    checkpointDirBase = outputDirectory + (string)serialize_dir;
 
     // guarantee that directory ends with a '/'
     if (checkpointDirBase[checkpointDirBase.size() - 1] != '/')