X86, Config: Move the setting of work count options to a separate function.
authorGabe Black <gblack@eecs.umich.edu>
Mon, 7 Feb 2011 09:22:15 +0000 (01:22 -0800)
committerGabe Black <gblack@eecs.umich.edu>
Mon, 7 Feb 2011 09:22:15 +0000 (01:22 -0800)
This way things that don't care about work count options and/or aren't called
by something that has those command line options set up doesn't have to build
a fake object to carry in inert values.

configs/common/FSConfig.py
configs/example/fs.py
configs/example/ruby_fs.py

index e94818312ee3c5372435292818ce953264bc68a8..44ac104b55191d6b0159e89e66a9142ed910aa1d 100644 (file)
@@ -405,8 +405,24 @@ def makeX86System(mem_mode, numCPUs = 1, mdesc = None, self = None, Ruby = False
     for i in range(3, 15):
         assignISAInt(i, i)
 
-def makeLinuxX86System(mem_mode, options, mdesc = None, Ruby = False):
-    numCPUs = options.num_cpus
+def setWorkCountOptions(system, options):
+    if options.work_item_id != None:
+        system.work_item_id = options.work_item_id
+    if options.work_begin_cpu_id_exit != None:
+        system.work_begin_cpu_id_exit = options.work_begin_cpu_id_exit
+    if options.work_end_exit_count != None:
+        system.work_end_exit_count = options.work_end_exit_count
+    if options.work_end_checkpoint_count != None:
+        system.work_end_ckpt_count = options.work_end_checkpoint_count
+    if options.work_begin_exit_count != None:
+        system.work_begin_exit_count = options.work_begin_exit_count
+    if options.work_begin_checkpoint_count != None:
+        system.work_begin_ckpt_count = options.work_begin_checkpoint_count
+    if options.work_cpus_checkpoint_count != None:
+        system.work_cpus_ckpt_count = options.work_cpus_checkpoint_count
+
+
+def makeLinuxX86System(mem_mode, numCPUs = 1, mdesc = None, Ruby = False):
     self = LinuxX86System()
 
     # Build up the x86 system and then specialize it for Linux
@@ -416,22 +432,6 @@ def makeLinuxX86System(mem_mode, options, mdesc = None, Ruby = False):
     # just to avoid corner cases.
     assert(self.physmem.range.second.getValue() >= 0x200000)
 
-    # set work count options
-    if options.work_item_id != None:
-        self.work_item_id = options.work_item_id
-    if options.work_begin_cpu_id_exit != None:
-        self.work_begin_cpu_id_exit = options.work_begin_cpu_id_exit
-    if options.work_end_exit_count != None:
-        self.work_end_exit_count = options.work_end_exit_count
-    if options.work_end_checkpoint_count != None:
-        self.work_end_ckpt_count = options.work_end_checkpoint_count
-    if options.work_begin_exit_count != None:
-        self.work_begin_exit_count = options.work_begin_exit_count
-    if options.work_begin_checkpoint_count != None:
-        self.work_begin_ckpt_count = options.work_begin_checkpoint_count
-    if options.work_cpus_checkpoint_count != None:
-        self.work_cpus_ckpt_count = options.work_cpus_checkpoint_count
-
     # Mark the first megabyte of memory as reserved
     self.e820_table.entries.append(X86E820Entry(
                 addr = 0,
index a097c41380a08c170461372636b6facb27f1bc8d..b392f1a919bcaf2db2c230509f512eb71c4ab674 100644 (file)
@@ -131,7 +131,8 @@ elif buildEnv['TARGET_ISA'] == "mips":
 elif buildEnv['TARGET_ISA'] == "sparc":
     test_sys = makeSparcSystem(test_mem_mode, bm[0])
 elif buildEnv['TARGET_ISA'] == "x86":
-    test_sys = makeLinuxX86System(test_mem_mode, options, bm[0])
+    test_sys = makeLinuxX86System(test_mem_mode, options.num_cpus, bm[0])
+    setWorkCountOptions(test_sys, options)
 elif buildEnv['TARGET_ISA'] == "arm":
     test_sys = makeLinuxArmSystem(test_mem_mode, bm[0],
             bare_metal=options.bare_metal, machine_type=options.machine_type)
index 6f35f02cd193a4a83149f9bb74b6f696e28adf1a..adc8e6147739df7e230683d61fbfe5fadc0fe6bb 100644 (file)
@@ -116,7 +116,8 @@ if buildEnv['TARGET_ISA'] == "alpha":
                                      system.piobus,
                                      system.dma_devices)
 elif buildEnv['TARGET_ISA'] == "x86":
-    system = makeLinuxX86System(test_mem_mode, options, bm[0], True)
+    system = makeLinuxX86System(test_mem_mode, options.num_cpus, bm[0], True)
+    setWorkCountOptions(system, options)
     system.ruby = Ruby.create_system(options,
                                      system,
                                      system.piobus)