From 3477d60d5c2f20644e301378ca2923766d765f8e Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Mon, 22 Apr 2013 13:20:33 -0400 Subject: config: Add a mem-type config option to se/fs scripts This patch enables selection of the memory controller class through a mem-type command-line option. Behind the scenes, this option is treated much like the cpu-type, and a similar framework is used to resolve the valid options, and translate the short-hand description to a valid class. The regression scripts are updated with a hardcoded memory class for the moment. The best solution going forward is probably to get the memory out of the makeSystem functions, but Ruby complicates things as it does not connect the memory controller to the membus. --HG-- rename : configs/common/CpuConfig.py => configs/common/MemConfig.py --- tests/configs/alpha_generic.py | 2 +- tests/configs/arm_generic.py | 1 + tests/configs/pc-simple-timing-ruby.py | 2 +- tests/configs/twosys-tsunami-simple-atomic.py | 4 ++-- tests/configs/x86_generic.py | 1 + 5 files changed, 6 insertions(+), 4 deletions(-) (limited to 'tests/configs') diff --git a/tests/configs/alpha_generic.py b/tests/configs/alpha_generic.py index a4ebba54d..5060eae39 100644 --- a/tests/configs/alpha_generic.py +++ b/tests/configs/alpha_generic.py @@ -59,7 +59,7 @@ class LinuxAlphaSystemBuilder(object): pass def create_system(self): - system = FSConfig.makeLinuxAlphaSystem(self.mem_mode) + system = FSConfig.makeLinuxAlphaSystem(self.mem_mode, SimpleDDR3) self.init_system(system) return system diff --git a/tests/configs/arm_generic.py b/tests/configs/arm_generic.py index 1b0e8ee8b..e6c56041b 100644 --- a/tests/configs/arm_generic.py +++ b/tests/configs/arm_generic.py @@ -61,6 +61,7 @@ class LinuxArmSystemBuilder(object): def create_system(self): system = FSConfig.makeArmSystem(self.mem_mode, self.machine_type, + SimpleDDR3, None, False) # We typically want the simulator to panic if the kernel diff --git a/tests/configs/pc-simple-timing-ruby.py b/tests/configs/pc-simple-timing-ruby.py index 23a0bb3d0..6413133c2 100644 --- a/tests/configs/pc-simple-timing-ruby.py +++ b/tests/configs/pc-simple-timing-ruby.py @@ -55,7 +55,7 @@ options.num_cpus = 2 #the system mdesc = SysConfig(disk = 'linux-x86.img') -system = FSConfig.makeLinuxX86System('timing', options.num_cpus, +system = FSConfig.makeLinuxX86System('timing', SimpleDDR3, options.num_cpus, mdesc=mdesc, Ruby=True) system.kernel = FSConfig.binary('x86_64-vmlinux-2.6.22.9.smp') system.cpu = [TimingSimpleCPU(cpu_id=i) for i in xrange(options.num_cpus)] diff --git a/tests/configs/twosys-tsunami-simple-atomic.py b/tests/configs/twosys-tsunami-simple-atomic.py index dbfcaaafe..89d497008 100644 --- a/tests/configs/twosys-tsunami-simple-atomic.py +++ b/tests/configs/twosys-tsunami-simple-atomic.py @@ -32,7 +32,7 @@ m5.util.addToPath('../configs/common') from FSConfig import * from Benchmarks import * -test_sys = makeLinuxAlphaSystem('atomic', +test_sys = makeLinuxAlphaSystem('atomic', SimpleDDR3, SysConfig('netperf-stream-client.rcS')) test_sys.cpu = AtomicSimpleCPU(cpu_id=0) # create the interrupt controller @@ -46,7 +46,7 @@ test_sys.iobridge = Bridge(delay='50ns', ranges = test_sys.mem_ranges) test_sys.iobridge.slave = test_sys.iobus.master test_sys.iobridge.master = test_sys.membus.slave -drive_sys = makeLinuxAlphaSystem('atomic', +drive_sys = makeLinuxAlphaSystem('atomic', SimpleDDR3, SysConfig('netperf-server.rcS')) drive_sys.cpu = AtomicSimpleCPU(cpu_id=0) # create the interrupt controller diff --git a/tests/configs/x86_generic.py b/tests/configs/x86_generic.py index b9f8f7122..e9e7bff63 100644 --- a/tests/configs/x86_generic.py +++ b/tests/configs/x86_generic.py @@ -58,6 +58,7 @@ class LinuxX86SystemBuilder(object): def create_system(self): mdesc = SysConfig(disk = 'linux-x86.img') system = FSConfig.makeLinuxX86System(self.mem_mode, + SimpleDDR3, numCPUs=self.num_cpus, mdesc=mdesc) system.kernel = FSConfig.binary('x86_64-vmlinux-2.6.22.9') -- cgit v1.2.3