Config: Enable O3 CPU and Ruby in FS mode
authorNilay Vaish <nilay@cs.wisc.edu>
Sun, 29 Jan 2012 01:33:37 +0000 (19:33 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Sun, 29 Jan 2012 01:33:37 +0000 (19:33 -0600)
configs/example/ruby_fs.py

index e6ac5f8c865e3121a4b0b569ce4662a36f95dd27..a7d0a26cd14fb5347d8d40e64b88f8ec72436ae9 100644 (file)
@@ -82,6 +82,7 @@ Ruby.define_options(parser)
 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"
@@ -97,17 +98,11 @@ if options.benchmark:
 else:
     bm = [SysConfig()]
 
-#
-# currently ruby fs only works in simple timing mode because ruby does not
-# support atomic accesses by devices.  Also ruby_fs currently assumes
-# that is running a checkpoints that were created by ALPHA_FS under atomic
-# mode.  Since switch cpus are not defined in these checkpoints, we don't
-# 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
+# Check for timing mode because ruby does not support atomic accesses
+if not (options.cpu_type == "detailed" or options.cpu_type == "timing"):
+    print >> sys.stderr, "Ruby requires TimingSimpleCPU or O3CPU!!"
+    sys.exit(1)
+(CPUClass, test_mem_mode, FutureClass) = Simulation.setCPUClass(options)
 
 CPUClass.clock = options.clock