diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2012-01-05 11:04:25 -0600 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2012-01-05 11:04:25 -0600 |
commit | a88ec980a454b4979120c08d2891606f8a1f3769 (patch) | |
tree | 884e8e4cfb7313729e902297142894374f456b5d | |
parent | daa4c7526acf97bf53b1cdfc6a4d6a327f1966dd (diff) | |
download | gem5-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.py | 6 | ||||
-rw-r--r-- | configs/common/Simulation.py | 6 | ||||
-rw-r--r-- | configs/example/se.py | 6 |
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 |