Checkpoint: Fix broken checkpointing functionality
This patch fixes the checkpointing by ensuring that the directory is passer to the scriptCheckpoints function, and that the num_checkpoints is not used before it is initialised.
This commit is contained in:
parent
0160d51483
commit
4ebefc145a
1 changed files with 3 additions and 3 deletions
|
@ -153,7 +153,7 @@ def findCptDir(options, maxtick, cptdir, testsys):
|
||||||
|
|
||||||
return maxtick, checkpoint_dir
|
return maxtick, checkpoint_dir
|
||||||
|
|
||||||
def scriptCheckpoints(options):
|
def scriptCheckpoints(options, cptdir):
|
||||||
if options.at_instruction or options.simpoint:
|
if options.at_instruction or options.simpoint:
|
||||||
checkpoint_inst = int(options.take_checkpoints)
|
checkpoint_inst = int(options.take_checkpoints)
|
||||||
|
|
||||||
|
@ -180,6 +180,7 @@ def scriptCheckpoints(options):
|
||||||
when, period = options.take_checkpoints.split(",", 1)
|
when, period = options.take_checkpoints.split(",", 1)
|
||||||
when = int(when)
|
when = int(when)
|
||||||
period = int(period)
|
period = int(period)
|
||||||
|
num_checkpoints = 0
|
||||||
|
|
||||||
exit_event = m5.simulate(when)
|
exit_event = m5.simulate(when)
|
||||||
exit_cause = exit_event.getCause()
|
exit_cause = exit_event.getCause()
|
||||||
|
@ -192,7 +193,6 @@ def scriptCheckpoints(options):
|
||||||
num_checkpoints += 1
|
num_checkpoints += 1
|
||||||
|
|
||||||
sim_ticks = when
|
sim_ticks = when
|
||||||
num_checkpoints = 0
|
|
||||||
max_checkpoints = options.max_checkpoints
|
max_checkpoints = options.max_checkpoints
|
||||||
|
|
||||||
while num_checkpoints < max_checkpoints and \
|
while num_checkpoints < max_checkpoints and \
|
||||||
|
@ -488,7 +488,7 @@ def run(options, root, testsys, cpu_class):
|
||||||
# subsequent periods of <period>. Checkpoint instructions
|
# subsequent periods of <period>. Checkpoint instructions
|
||||||
# received from the benchmark running are ignored and skipped in
|
# received from the benchmark running are ignored and skipped in
|
||||||
# favor of command line checkpoint instructions.
|
# favor of command line checkpoint instructions.
|
||||||
exit_cause = scriptCheckpoints(options)
|
exit_cause = scriptCheckpoints(options, cptdir)
|
||||||
else:
|
else:
|
||||||
if options.fast_forward:
|
if options.fast_forward:
|
||||||
m5.stats.reset()
|
m5.stats.reset()
|
||||||
|
|
Loading…
Reference in a new issue