summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Binkert <binkertn@umich.edu>2005-02-09 17:33:28 -0500
committerNathan Binkert <binkertn@umich.edu>2005-02-09 17:33:28 -0500
commitb46baf107fb88c7b0e80664a9f9951aeaa6ba249 (patch)
tree741d5b127f34c9040358d6dc478c45988aedae89
parent061f40df08f6992bf314eb6f23315ef415e58882 (diff)
downloadgem5-b46baf107fb88c7b0e80664a9f9951aeaa6ba249.tar.xz
enable the Trace, Statistics, and Serialize param contexts.
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
-rw-r--r--objects/Root.mpy7
-rw-r--r--sim/param.cc5
-rw-r--r--sim/serialize.cc6
3 files changed, 13 insertions, 5 deletions
diff --git a/objects/Root.mpy b/objects/Root.mpy
index b21396e36..dd485ac73 100644
--- a/objects/Root.mpy
+++ b/objects/Root.mpy
@@ -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()
diff --git a/sim/param.cc b/sim/param.cc
index d16578a2d..ff023ce85 100644
--- a/sim/param.cc
+++ b/sim/param.cc
@@ -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());
diff --git a/sim/serialize.cc b/sim/serialize.cc
index 3a073f68d..d5f217e55 100644
--- a/sim/serialize.cc
+++ b/sim/serialize.cc
@@ -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] != '/')