diff -r 1c93580f459b -r 09e9c7c3113d configs/common/Simulation.py --- a/configs/common/Simulation.py Fri Jan 13 06:23:54 2012 -0600 +++ b/configs/common/Simulation.py Fri Jan 13 06:55:34 2012 -0600 @@ -43,7 +43,7 @@ if options.cpu_type == "timing": class TmpClass(TimingSimpleCPU): pass elif options.cpu_type == "detailed": - if not options.caches: + if not options.caches and not options.ruby: print "O3 CPU must be used with caches" sys.exit(1) class TmpClass(DerivO3CPU): pass diff -r 1c93580f459b -r 09e9c7c3113d configs/example/ruby_fs.py --- a/configs/example/ruby_fs.py Fri Jan 13 06:23:54 2012 -0600 +++ b/configs/example/ruby_fs.py Fri Jan 13 06:55:34 2012 -0600 @@ -82,6 +82,7 @@ execfile(os.path.join(config_root, "common", "Options.py")) (options, args) = parser.parse_args() +options.ruby = True if args: print "Error: script doesn't take any positional arguments" @@ -105,9 +106,13 @@ # fast forward with the atomic cpu and instead set the FutureClass to None. # Therefore the cpus resolve to the correct names and unserialize correctly. # -class CPUClass(TimingSimpleCPU): pass -test_mem_mode = 'timing' -FutureClass = None + +# system under test can be any CPU +if not (options.cpu_type == "detailed" or + options.cpu_type == "timing"): + print >> sys.stderr, "Ruby works with TimingSimpleCPU or O3CPU!!" + sys.exit(1) +(CPUClass, test_mem_mode, FutureClass) = Simulation.setCPUClass(options) CPUClass.clock = options.clock diff -r 1c93580f459b -r 09e9c7c3113d configs/example/se.py --- a/configs/example/se.py Fri Jan 13 06:23:54 2012 -0600 +++ b/configs/example/se.py Fri Jan 13 06:55:34 2012 -0600 @@ -154,17 +154,11 @@ numThreads = len(workloads) if options.ruby: - if options.cpu_type == "detailed": - print >> sys.stderr, "Ruby only works with TimingSimpleCPU!!" + if not (options.cpu_type == "detailed" or + options.cpu_type == "timing"): + print >> sys.stderr, "Ruby works with TimingSimpleCPU or O3CPU!!" sys.exit(1) - elif not options.cpu_type == "timing": - print >> sys.stderr, "****WARN: using Timing CPU since it's needed by Ruby" - - class CPUClass(TimingSimpleCPU): pass - test_mem_mode = 'timing' - FutureClass = None -else: - (CPUClass, test_mem_mode, FutureClass) = Simulation.setCPUClass(options) +(CPUClass, test_mem_mode, FutureClass) = Simulation.setCPUClass(options) CPUClass.clock = '2GHz' CPUClass.numThreads = numThreads;