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
|
||||
|
||||
# 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")
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue