diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2011-02-07 01:22:15 -0800 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2011-02-07 01:22:15 -0800 |
commit | f8fc0419c5b1f4e20fd6886ca44626a2ca264fae (patch) | |
tree | 942490dffcf24d36d15e8fe2d978e7ec01080cb3 | |
parent | 0c4b816d84541f832530d8a68aa51832d2a1b73f (diff) | |
download | gem5-f8fc0419c5b1f4e20fd6886ca44626a2ca264fae.tar.xz |
X86, Config: Move the setting of work count options to a separate function.
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.
-rw-r--r-- | configs/common/FSConfig.py | 36 | ||||
-rw-r--r-- | configs/example/fs.py | 3 | ||||
-rw-r--r-- | configs/example/ruby_fs.py | 3 |
3 files changed, 22 insertions, 20 deletions
diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py index e94818312..44ac104b5 100644 --- a/configs/common/FSConfig.py +++ b/configs/common/FSConfig.py @@ -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, diff --git a/configs/example/fs.py b/configs/example/fs.py index a097c4138..b392f1a91 100644 --- a/configs/example/fs.py +++ b/configs/example/fs.py @@ -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) diff --git a/configs/example/ruby_fs.py b/configs/example/ruby_fs.py index 6f35f02cd..adc8e6147 100644 --- a/configs/example/ruby_fs.py +++ b/configs/example/ruby_fs.py @@ -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) |