109c109
< def findCptDir(options, maxtick, cptdir, testsys):
---
> def findCptDir(options, cptdir, testsys):
120,122d119
<
< It also sets the value of the maximum tick value till which the simulation
< will run.
158c155
< maxtick = maxtick - int(cpts[cpt_num - 1])
---
> cpt_starttick = int(cpts[cpt_num - 1])
161c158
< return maxtick, checkpoint_dir
---
> return cpt_starttick, checkpoint_dir
263,271d259
< if options.maxtick:
< maxtick = options.maxtick
< elif options.maxtime:
< simtime = m5.ticks.seconds(simtime)
< print "simulating for: ", simtime
< maxtick = simtime
< else:
< maxtick = m5.MaxTick
<
424,425c412,413
< if options.checkpoint_restore != None:
< maxtick, checkpoint_dir = findCptDir(options, maxtick, cptdir, testsys)
---
> if options.checkpoint_restore:
> cpt_starttick, checkpoint_dir = findCptDir(options, cptdir, testsys)
427a416,445
> # Handle the max tick settings now that tick frequency was resolved
> # during system instantiation
> # NOTE: the maxtick variable here is in absolute ticks, so it must
> # include any simulated ticks before a checkpoint
> explicit_maxticks = 0
> maxtick_from_abs = m5.MaxTick
> maxtick_from_rel = m5.MaxTick
> maxtick_from_maxtime = m5.MaxTick
> if options.abs_max_tick:
> maxtick_from_abs = options.abs_max_tick
> explicit_maxticks += 1
> if options.rel_max_tick:
> maxtick_from_rel = options.rel_max_tick
> if options.checkpoint_restore:
> # NOTE: this may need to be updated if checkpoints ever store
> # the ticks per simulated second
> maxtick_from_rel += cpt_starttick
> explicit_maxticks += 1
> if options.maxtime:
> maxtick_from_maxtime = m5.ticks.fromSeconds(options.maxtime)
> explicit_maxticks += 1
> if explicit_maxticks > 1:
> warn("Specified multiple of --abs-max-tick, --rel-max-tick, --maxtime."\
> " Using least")
> maxtick = min([maxtick_from_abs, maxtick_from_rel, maxtick_from_maxtime])
>
> if options.checkpoint_restore != None and maxtick < cpt_starttick:
> fatal("Bad maxtick (%d) specified: " \
> "Checkpoint starts starts from tick: %d", maxtick, cpt_starttick)
>