summaryrefslogtreecommitdiff
path: root/configs/common/Simulation.py
diff options
context:
space:
mode:
authorJoel Hestness <jthestness@gmail.com>2013-09-11 15:34:21 -0500
committerJoel Hestness <jthestness@gmail.com>2013-09-11 15:34:21 -0500
commit073b27c257da7118e3b17a0dc77d9da1ac863621 (patch)
tree2a4f0ca1edd443db0660dcdf6995959112b4288a /configs/common/Simulation.py
parentc1cf55c7388d01222825911fabca617177966ce9 (diff)
downloadgem5-073b27c257da7118e3b17a0dc77d9da1ac863621.tar.xz
config: Initialize and check cpt_starttick
The previous changeset (9816) that fixes the use of max ticks introduced the variable cpt_starttick, which is used for setting the relative max tick. Unfortunately, with checkpointing at an instruction count or with simpoints, the checkpoint tick is not stored conveniently, so to ensure that cpt_starttick is initialized, set it to 0. Also, if using --rel-max-tick, check the use of instruction counts or simpoints to warn the user that the max tick setting does not include the checkpoint ticks.
Diffstat (limited to 'configs/common/Simulation.py')
-rw-r--r--configs/common/Simulation.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/configs/common/Simulation.py b/configs/common/Simulation.py
index f88888dc4..c5d7aee40 100644
--- a/configs/common/Simulation.py
+++ b/configs/common/Simulation.py
@@ -126,6 +126,7 @@ def findCptDir(options, cptdir, testsys):
if not isdir(cptdir):
fatal("checkpoint dir %s does not exist!", cptdir)
+ cpt_starttick = 0
if options.at_instruction or options.simpoint:
inst = options.checkpoint_restore
if options.simpoint:
@@ -430,6 +431,11 @@ def run(options, root, testsys, cpu_class):
# NOTE: this may need to be updated if checkpoints ever store
# the ticks per simulated second
maxtick_from_rel += cpt_starttick
+ if options.at_instruction or options.simpoint:
+ warn("Relative max tick specified with --at-instruction or" \
+ " --simpoint\n These options don't specify the " \
+ "checkpoint start tick, so assuming\n you mean " \
+ "absolute max tick")
explicit_maxticks += 1
if options.maxtime:
maxtick_from_maxtime = m5.ticks.fromSeconds(options.maxtime)