sim: fold checkpoint restore code into instantiate()

The separate restoreCheckpoint() call is gone; just pass
the checkpoint dir as an optional arg to instantiate().
This change is a precursor to some more extensive
reworking of the startup code.
This commit is contained in:
Steve Reinhardt
2010-08-17 05:17:06 -07:00
parent cfaddd5fd3
commit 2519d116c9
2 changed files with 9 additions and 17 deletions

View File

@@ -46,7 +46,7 @@ MaxTick = 2**63 - 1
# The final hook to generate .ini files. Called from the user script
# once the config is built.
def instantiate():
def instantiate(ckpt_dir=None):
root = objects.Root.getInstance()
if not root:
@@ -86,6 +86,11 @@ def instantiate():
# We're done registering statistics. Enable the stats package now.
stats.enable()
# Restore checkpoint (if any)
if ckpt_dir:
internal.core.unserializeAll(ckpt_dir)
need_resume.append(root)
# Reset to put the stats in a consistent state.
stats.reset()
@@ -160,13 +165,6 @@ def checkpoint(dir):
internal.core.serializeAll(dir)
resume(root)
def restoreCheckpoint(dir):
root = objects.Root.getInstance()
print "Restoring from checkpoint"
internal.core.unserializeAll(dir)
need_resume.append(root)
stats.reset()
def changeToAtomic(system):
if not isinstance(system, (objects.Root, objects.System)):
raise TypeError, "Parameter of type '%s'. Must be type %s or %s." % \