summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2012-01-05 11:04:25 -0600
committerNilay Vaish <nilay@cs.wisc.edu>2012-01-05 11:04:25 -0600
commita88ec980a454b4979120c08d2891606f8a1f3769 (patch)
tree884e8e4cfb7313729e902297142894374f456b5d
parentdaa4c7526acf97bf53b1cdfc6a4d6a327f1966dd (diff)
downloadgem5-a88ec980a454b4979120c08d2891606f8a1f3769.tar.xz
Config: Add an option of type 'choice' for cpu type
This patch adds a new option for cpu type. This option is of type 'choice' which is similar to a C++ enum, except that it takes string values as possible choices. Following options are being removed -- detailed, timing, inorder. --HG-- extra : rebase_source : 58885e2e8a88b6af8e6ff884a5922059dbb1a6cb
-rw-r--r--configs/common/Options.py6
-rw-r--r--configs/common/Simulation.py6
-rw-r--r--configs/example/se.py6
3 files changed, 9 insertions, 9 deletions
diff --git a/configs/common/Options.py b/configs/common/Options.py
index e69f3a527..d5ea85090 100644
--- a/configs/common/Options.py
+++ b/configs/common/Options.py
@@ -27,9 +27,9 @@
# Authors: Lisa Hsu
# system options
-parser.add_option("-d", "--detailed", action="store_true")
-parser.add_option("-t", "--timing", action="store_true")
-parser.add_option("--inorder", action="store_true")
+parser.add_option("-c", "--cpu-type", type="choice", default="atomic",
+ choices = ["atomic", "timing", "detailed", "inorder"],
+ help = "type of cpu to run with")
parser.add_option("-n", "--num-cpus", type="int", default=1)
parser.add_option("--caches", action="store_true")
parser.add_option("--l2cache", action="store_true")
diff --git a/configs/common/Simulation.py b/configs/common/Simulation.py
index 7abf478da..1897fa8cb 100644
--- a/configs/common/Simulation.py
+++ b/configs/common/Simulation.py
@@ -40,14 +40,14 @@ addToPath('../common')
def setCPUClass(options):
atomic = False
- if options.timing:
+ if options.cpu_type == "timing":
class TmpClass(TimingSimpleCPU): pass
- elif options.detailed:
+ elif options.cpu_type == "detailed":
if not options.caches:
print "O3 CPU must be used with caches"
sys.exit(1)
class TmpClass(DerivO3CPU): pass
- elif options.inorder:
+ elif options.cpu_type == "inorder":
if not options.caches:
print "InOrder CPU must be used with caches"
sys.exit(1)
diff --git a/configs/example/se.py b/configs/example/se.py
index a34a03b29..56737d6d5 100644
--- a/configs/example/se.py
+++ b/configs/example/se.py
@@ -122,7 +122,7 @@ if options.errout != "":
workloads = options.cmd
numThreads = 1
-if options.detailed or options.inorder:
+if options.cpu_type == "detailed" or options.cpu_type == "inorder":
#check for SMT workload
workloads = options.cmd.split(';')
if len(workloads) > 1:
@@ -154,10 +154,10 @@ if options.detailed or options.inorder:
numThreads = len(workloads)
if options.ruby:
- if options.detailed:
+ if options.cpu_type == "detailed":
print >> sys.stderr, "Ruby only works with TimingSimpleCPU!!"
sys.exit(1)
- elif not options.timing:
+ elif not options.cpu_type == "timing":
print >> sys.stderr, "****WARN: using Timing CPU since it's needed by Ruby"
class CPUClass(TimingSimpleCPU): pass