summaryrefslogtreecommitdiff
path: root/configs/common/Simulation.py
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2012-01-11 13:50:18 -0600
committerNilay Vaish <nilay@cs.wisc.edu>2012-01-11 13:50:18 -0600
commit03229f25759898ea2f82ef3e4fe761c452a49701 (patch)
treec6225315ca2964bced98b476a60cb1d16fd61cc9 /configs/common/Simulation.py
parentbf59a9298f6154cb85ebebabd4f45738caf29b35 (diff)
downloadgem5-03229f25759898ea2f82ef3e4fe761c452a49701.tar.xz
Config: Add support for restoring using a timing CPU
Currently there is an assumption that restoration from a checkpoint will happen by first restoring to an atomic CPU and then switching to a timing CPU. This patch adds support for directly restoring to a timing CPU. It adds a new option '--restore-with-cpu' which is used to specify the type of CPU to which the checkpoint should be restored to. It defaults to 'atomic' which was the case before.
Diffstat (limited to 'configs/common/Simulation.py')
-rw-r--r--configs/common/Simulation.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/configs/common/Simulation.py b/configs/common/Simulation.py
index 1897fa8cb..434fe8369 100644
--- a/configs/common/Simulation.py
+++ b/configs/common/Simulation.py
@@ -60,7 +60,15 @@ def setCPUClass(options):
test_mem_mode = 'atomic'
if not atomic:
- if options.checkpoint_restore != None or options.fast_forward:
+ if options.checkpoint_restore != None:
+ if options.restore_with_cpu != options.cpu_type:
+ CPUClass = TmpClass
+ class TmpClass(AtomicSimpleCPU): pass
+ else:
+ if options.restore_with_cpu != "atomic":
+ test_mem_mode = 'timing'
+
+ elif options.fast_forward:
CPUClass = TmpClass
class TmpClass(AtomicSimpleCPU): pass
else: