summaryrefslogtreecommitdiff
path: root/src/python/m5
diff options
context:
space:
mode:
Diffstat (limited to 'src/python/m5')
-rw-r--r--src/python/m5/SimObject.py2
-rw-r--r--src/python/m5/simulate.py14
2 files changed, 12 insertions, 4 deletions
diff --git a/src/python/m5/SimObject.py b/src/python/m5/SimObject.py
index 3b84d6000..8e14b63d2 100644
--- a/src/python/m5/SimObject.py
+++ b/src/python/m5/SimObject.py
@@ -623,7 +623,7 @@ class SimObject(object):
def path(self):
if not self._parent:
- return 'root'
+ return '(orphan)'
ppath = self._parent.path()
if ppath == 'root':
return self._name
diff --git a/src/python/m5/simulate.py b/src/python/m5/simulate.py
index e43f90173..2db5c6952 100644
--- a/src/python/m5/simulate.py
+++ b/src/python/m5/simulate.py
@@ -39,13 +39,19 @@ from main import options
import SimObject
import ticks
import objects
+from util import fatal
# define a MaxTick parameter
MaxTick = 2**63 - 1
# The final hook to generate .ini files. Called from the user script
# once the config is built.
-def instantiate(root):
+def instantiate():
+ root = objects.Root.getInstance()
+
+ if not root:
+ fatal("Need to instantiate Root() before calling instantiate()")
+
# we need to fix the global frequency
ticks.fixGlobalFrequency()
@@ -136,7 +142,8 @@ def drain(root):
def resume(root):
root.resume()
-def checkpoint(root, dir):
+def checkpoint(dir):
+ root = objects.Root.getInstance()
if not isinstance(root, objects.Root):
raise TypeError, "Checkpoint must be called on a root object."
doDrain(root)
@@ -144,7 +151,8 @@ def checkpoint(root, dir):
internal.core.serializeAll(dir)
resume(root)
-def restoreCheckpoint(root, dir):
+def restoreCheckpoint(dir):
+ root = objects.Root.getInstance()
print "Restoring from checkpoint"
internal.core.unserializeAll(dir)
need_resume.append(root)