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