summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2009-11-18 13:55:58 -0800
committerBrad Beckmann <Brad.Beckmann@amd.com>2009-11-18 13:55:58 -0800
commit70a261c0ae297749f9bb10e4c5fbcf3562f423bf (patch)
tree893be6b5f772a80f45b9788086786e5dd34a09ef
parentb5d2052fa0b7c62372e1b936f2654f700e831b68 (diff)
downloadgem5-70a261c0ae297749f9bb10e4c5fbcf3562f423bf.tar.xz
m5: Added option to take a checkpoint at the end of simulation
-rw-r--r--configs/common/Options.py3
-rw-r--r--configs/common/Simulation.py3
2 files changed, 6 insertions, 0 deletions
diff --git a/configs/common/Options.py b/configs/common/Options.py
index 2d4aedcae..abc26f1b5 100644
--- a/configs/common/Options.py
+++ b/configs/common/Options.py
@@ -53,6 +53,9 @@ parser.add_option("--checkpoint-dir", action="store", type="string",
help="Place all checkpoints in this absolute directory")
parser.add_option("-r", "--checkpoint-restore", action="store", type="int",
help="restore from checkpoint <N>")
+parser.add_option("--checkpoint-at-end", action="store_true",
+ help="take a checkpoint at end of run")
+
# CPU Switching - default switch model goes from a checkpoint
# to a timing simple CPU with caches to warm up, then to detailed CPU for
diff --git a/configs/common/Simulation.py b/configs/common/Simulation.py
index 112a951b6..1c9d4ff4e 100644
--- a/configs/common/Simulation.py
+++ b/configs/common/Simulation.py
@@ -374,3 +374,6 @@ def run(options, root, testsys, cpu_class):
exit_cause = exit_event.getCause()
print 'Exiting @ cycle %i because %s' % (m5.curTick(), exit_cause)
+ if options.checkpoint_at_end:
+ m5.checkpoint(root, joinpath(cptdir, "cpt.%d"))
+