Configs: Fix up maxtick and maxtime
authorJoel Hestness <jthestness@gmail.com>
Thu, 18 Jul 2013 19:46:54 +0000 (14:46 -0500)
committerJoel Hestness <jthestness@gmail.com>
Thu, 18 Jul 2013 19:46:54 +0000 (14:46 -0500)
commit7aa67f42cb02be0e47d1395fa5377af4730471dc
tree97510e849a33fd9e64e7531aaeb5c6adb6bdc5a2
parentc20105c2ff2b8300fa18a5c3f1afb806d6ae9458
Configs: Fix up maxtick and maxtime

This patch contains three fixes to max tick options handling in Options.py and
Simulation.py:

 1) Since the global simulator frequency isn't bound until m5.instantiate()
is called, the maxtick resolution needs to happen after this call, since
changes to the global frequency will cause m5.simulate() to misinterpret the
maxtick value. Shuffling this also requires tweaking the checkpoint directory
handling to signal the checkpoint restore tick back to run().  Fixing this
completely and correctly will require storing the simulation frequency into
checkpoints, which is beyond the scope of this patch.

 2) The maxtick option in Options.py was defaulted to MaxTicks, so the old code
would always skip over the maxtime part of the conditionals at the beginning
of run(). Change the maxtick default to None, and set the maxtick local
variable in run() appropriately.

 3) To clarify whether max ticks settings are relative or absolute, split the
maxtick option into separate options, for relative and absolute. Ensure that
these two options and the maxtime option are handled appropriately to set the
maxtick variable in Simulation.py.
configs/common/Options.py
configs/common/Simulation.py