From a88ec980a454b4979120c08d2891606f8a1f3769 Mon Sep 17 00:00:00 2001 From: Nilay Vaish Date: Thu, 5 Jan 2012 11:04:25 -0600 Subject: 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 --- configs/common/Options.py | 6 +++--- configs/common/Simulation.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'configs/common') 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) -- cgit v1.2.3