summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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] != '/')