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
This commit is contained in:
parent
daa4c7526a
commit
a88ec980a4
3 changed files with 9 additions and 9 deletions
|
@ -27,9 +27,9 @@
|
||||||
# Authors: Lisa Hsu
|
# Authors: Lisa Hsu
|
||||||
|
|
||||||
# system options
|
# system options
|
||||||
parser.add_option("-d", "--detailed", action="store_true")
|
parser.add_option("-c", "--cpu-type", type="choice", default="atomic",
|
||||||
parser.add_option("-t", "--timing", action="store_true")
|
choices = ["atomic", "timing", "detailed", "inorder"],
|
||||||
parser.add_option("--inorder", action="store_true")
|
help = "type of cpu to run with")
|
||||||
parser.add_option("-n", "--num-cpus", type="int", default=1)
|
parser.add_option("-n", "--num-cpus", type="int", default=1)
|
||||||
parser.add_option("--caches", action="store_true")
|
parser.add_option("--caches", action="store_true")
|
||||||
parser.add_option("--l2cache", action="store_true")
|
parser.add_option("--l2cache", action="store_true")
|
||||||
|
|
|
@ -40,14 +40,14 @@ addToPath('../common')
|
||||||
def setCPUClass(options):
|
def setCPUClass(options):
|
||||||
|
|
||||||
atomic = False
|
atomic = False
|
||||||
if options.timing:
|
if options.cpu_type == "timing":
|
||||||
class TmpClass(TimingSimpleCPU): pass
|
class TmpClass(TimingSimpleCPU): pass
|
||||||
elif options.detailed:
|
elif options.cpu_type == "detailed":
|
||||||
if not options.caches:
|
if not options.caches:
|
||||||
print "O3 CPU must be used with caches"
|
print "O3 CPU must be used with caches"
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
class TmpClass(DerivO3CPU): pass
|
class TmpClass(DerivO3CPU): pass
|
||||||
elif options.inorder:
|
elif options.cpu_type == "inorder":
|
||||||
if not options.caches:
|
if not options.caches:
|
||||||
print "InOrder CPU must be used with caches"
|
print "InOrder CPU must be used with caches"
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
|
@ -122,7 +122,7 @@ if options.errout != "":
|
||||||
workloads = options.cmd
|
workloads = options.cmd
|
||||||
numThreads = 1
|
numThreads = 1
|
||||||
|
|
||||||
if options.detailed or options.inorder:
|
if options.cpu_type == "detailed" or options.cpu_type == "inorder":
|
||||||
#check for SMT workload
|
#check for SMT workload
|
||||||
workloads = options.cmd.split(';')
|
workloads = options.cmd.split(';')
|
||||||
if len(workloads) > 1:
|
if len(workloads) > 1:
|
||||||
|
@ -154,10 +154,10 @@ if options.detailed or options.inorder:
|
||||||
numThreads = len(workloads)
|
numThreads = len(workloads)
|
||||||
|
|
||||||
if options.ruby:
|
if options.ruby:
|
||||||
if options.detailed:
|
if options.cpu_type == "detailed":
|
||||||
print >> sys.stderr, "Ruby only works with TimingSimpleCPU!!"
|
print >> sys.stderr, "Ruby only works with TimingSimpleCPU!!"
|
||||||
sys.exit(1)
|
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"
|
print >> sys.stderr, "****WARN: using Timing CPU since it's needed by Ruby"
|
||||||
|
|
||||||
class CPUClass(TimingSimpleCPU): pass
|
class CPUClass(TimingSimpleCPU): pass
|
||||||
|
|
Loading…
Reference in a new issue