diff -r fc7d56547e33 -r 54a18bf193b4 configs/common/Options.py --- a/configs/common/Options.py Fri May 24 11:25:10 2013 +0100 +++ b/configs/common/Options.py Fri May 24 11:35:05 2013 +0100 @@ -78,6 +78,10 @@ parser.add_option("--simpoint-interval", type="int", default=10000000, help="SimPoint interval in num of instructions") parser.add_option("--clock", action="store", type="string", default='2GHz') + parser.add_option("--sys-clock", action="store", type="string", + default='1GHz', + help = """Top-level clock for blocks running at system + speed""") parser.add_option("--cpu-clock", action="store", type="string", default='2GHz', help="Clock for blocks running at CPU speed") diff -r fc7d56547e33 -r 54a18bf193b4 configs/example/fs.py --- a/configs/example/fs.py Fri May 24 11:25:10 2013 +0100 +++ b/configs/example/fs.py Fri May 24 11:35:05 2013 +0100 @@ -120,6 +120,8 @@ else: fatal("Incapable of building %s full system!", buildEnv['TARGET_ISA']) +test_sys.clock = options.sys_clock + if options.kernel is not None: test_sys.kernel = binary(options.kernel) @@ -172,6 +174,8 @@ drive_sys = makeArmSystem(drive_mem_mode, options.machine_type, DriveMemClass, bm[1]) + drive_sys.clock = options.sys_clock + drive_sys.cpu = DriveCPUClass(cpu_id=0) drive_sys.cpu.createThreads() drive_sys.cpu.createInterruptController() diff -r fc7d56547e33 -r 54a18bf193b4 configs/example/memtest.py --- a/configs/example/memtest.py Fri May 24 11:25:10 2013 +0100 +++ b/configs/example/memtest.py Fri May 24 11:35:05 2013 +0100 @@ -144,6 +144,7 @@ system = System(funcmem = SimpleMemory(in_addr_map = False), funcbus = NoncoherentBus(), physmem = SimpleMemory(latency = "100ns")) +system.clock = options.sys_clock def make_level(spec, prototypes, attach_obj, attach_port): fanout = spec[0] diff -r fc7d56547e33 -r 54a18bf193b4 configs/example/ruby_direct_test.py --- a/configs/example/ruby_direct_test.py Fri May 24 11:25:10 2013 +0100 +++ b/configs/example/ruby_direct_test.py Fri May 24 11:35:05 2013 +0100 @@ -93,7 +93,7 @@ # M5 memory size == Ruby memory size checks # system = System(physmem = SimpleMemory()) - +system.clock = options.sys_clock # # Create the ruby random tester # diff -r fc7d56547e33 -r 54a18bf193b4 configs/example/ruby_fs.py --- a/configs/example/ruby_fs.py Fri May 24 11:25:10 2013 +0100 +++ b/configs/example/ruby_fs.py Fri May 24 11:35:05 2013 +0100 @@ -105,6 +105,8 @@ else: fatal("incapable of building non-alpha or non-x86 full system!") +system.clock = options.sys_clock + if options.kernel is not None: system.kernel = binary(options.kernel) diff -r fc7d56547e33 -r 54a18bf193b4 configs/example/ruby_mem_test.py --- a/configs/example/ruby_mem_test.py Fri May 24 11:25:10 2013 +0100 +++ b/configs/example/ruby_mem_test.py Fri May 24 11:35:05 2013 +0100 @@ -108,6 +108,7 @@ funcmem = SimpleMemory(in_addr_map = False), funcbus = NoncoherentBus(), physmem = SimpleMemory()) +system.clock = options.sys_clock if options.num_dmas > 0: dmas = [ MemTest(atomic = False, diff -r fc7d56547e33 -r 54a18bf193b4 configs/example/ruby_network_test.py --- a/configs/example/ruby_network_test.py Fri May 24 11:25:10 2013 +0100 +++ b/configs/example/ruby_network_test.py Fri May 24 11:35:05 2013 +0100 @@ -105,6 +105,7 @@ # create the desired simulated system system = System(cpu = cpus, physmem = SimpleMemory()) +system.clock = options.sys_clock Ruby.create_system(options, system) diff -r fc7d56547e33 -r 54a18bf193b4 configs/example/ruby_random_test.py --- a/configs/example/ruby_random_test.py Fri May 24 11:25:10 2013 +0100 +++ b/configs/example/ruby_random_test.py Fri May 24 11:35:05 2013 +0100 @@ -98,6 +98,7 @@ # M5 memory size == Ruby memory size checks # system = System(tester = tester, physmem = SimpleMemory()) +system.clock = options.sys_clock Ruby.create_system(options, system) diff -r fc7d56547e33 -r 54a18bf193b4 configs/example/se.py --- a/configs/example/se.py Fri May 24 11:25:10 2013 +0100 +++ b/configs/example/se.py Fri May 24 11:35:05 2013 +0100 @@ -160,6 +160,7 @@ system = System(cpu = [CPUClass(cpu_id=i) for i in xrange(np)], physmem = MemClass(range=AddrRange("512MB")), membus = CoherentBus(), mem_mode = test_mem_mode) +system.clock = options.sys_clock # Sanity check if options.fastmem: diff -r fc7d56547e33 -r 54a18bf193b4 configs/splash2/cluster.py --- a/configs/splash2/cluster.py Fri May 24 11:25:10 2013 +0100 +++ b/configs/splash2/cluster.py Fri May 24 11:35:05 2013 +0100 @@ -214,6 +214,7 @@ system = System(cpu = all_cpus, l1_ = all_l1s, l1bus_ = all_l1buses, physmem = SimpleMemory(), membus = CoherentBus(clock = busFrequency)) +system.clock = '1GHz' system.toL2bus = CoherentBus(clock = busFrequency) system.l2 = L2(size = options.l2size, assoc = 8) diff -r fc7d56547e33 -r 54a18bf193b4 configs/splash2/run.py --- a/configs/splash2/run.py Fri May 24 11:25:10 2013 +0100 +++ b/configs/splash2/run.py Fri May 24 11:35:05 2013 +0100 @@ -199,6 +199,7 @@ # ---------------------- system = System(cpu = cpus, physmem = SimpleMemory(), membus = CoherentBus(clock = busFrequency)) +system.clock = '1GHz' system.toL2bus = CoherentBus(clock = busFrequency) system.l2 = L2(size = options.l2size, assoc = 8) diff -r fc7d56547e33 -r 54a18bf193b4 src/sim/System.py --- a/src/sim/System.py Fri May 24 11:25:10 2013 +0100 +++ b/src/sim/System.py Fri May 24 11:35:05 2013 +0100 @@ -43,12 +43,6 @@ cxx_header = "sim/system.hh" system_port = MasterPort("System port") - # Override the clock from the ClockedObject which looks at the - # parent clock by default. The 1 GHz default system clock serves - # as a start for the modules that rely on the parent to provide - # the clock. - clock = '1GHz' - @classmethod def export_method_cxx_predecls(cls, code): code('#include "sim/system.hh"') diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/base_config.py --- a/tests/configs/base_config.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/base_config.py Fri May 24 11:35:05 2013 +0100 @@ -131,6 +131,7 @@ Arguments: system -- System to initialize. """ + system.clock = '1GHz' system.cpu = self.create_cpus() if _have_kvm_support and \ diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/inorder-timing.py --- a/tests/configs/inorder-timing.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/inorder-timing.py Fri May 24 11:35:05 2013 +0100 @@ -42,6 +42,7 @@ physmem = DDR3_1600_x64(), membus = CoherentBus(), mem_mode = "timing") +system.clock = '1GHz' system.system_port = system.membus.slave system.physmem.port = system.membus.master # create the interrupt controller diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/memtest-ruby.py --- a/tests/configs/memtest-ruby.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/memtest-ruby.py Fri May 24 11:35:05 2013 +0100 @@ -81,6 +81,7 @@ funcmem = SimpleMemory(in_addr_map = False), physmem = SimpleMemory(null = True), funcbus = NoncoherentBus()) +system.clock = options.sys_clock Ruby.create_system(options, system) diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/memtest.py --- a/tests/configs/memtest.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/memtest.py Fri May 24 11:35:05 2013 +0100 @@ -40,6 +40,7 @@ funcbus = NoncoherentBus(), physmem = SimpleMemory(), membus = CoherentBus(width=16)) +system.clock = '1GHz' # l2cache & bus system.toL2Bus = CoherentBus(clock="2GHz", width=16) diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/o3-timing-checker.py --- a/tests/configs/o3-timing-checker.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/o3-timing-checker.py Fri May 24 11:35:05 2013 +0100 @@ -55,6 +55,7 @@ physmem = DDR3_1600_x64(), membus = CoherentBus(), mem_mode = "timing") +system.clock = '1GHz' system.system_port = system.membus.slave system.physmem.port = system.membus.master cpu.connectAllPorts(system.membus) diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/o3-timing-mp-ruby.py --- a/tests/configs/o3-timing-mp-ruby.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/o3-timing-mp-ruby.py Fri May 24 11:35:05 2013 +0100 @@ -40,6 +40,7 @@ # system simulated system = System(cpu = cpus, physmem = ruby_memory, membus = CoherentBus(), mem_mode = "timing") +system.clock = '1GHz' for cpu in cpus: # create the interrupt controller diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/o3-timing-mp.py --- a/tests/configs/o3-timing-mp.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/o3-timing-mp.py Fri May 24 11:35:05 2013 +0100 @@ -39,6 +39,7 @@ physmem = DDR3_1600_x64(), membus = CoherentBus(), mem_mode = "timing") +system.clock = '1GHz' # l2cache & bus system.toL2Bus = CoherentBus(clock = '2GHz') diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/o3-timing-ruby.py --- a/tests/configs/o3-timing-ruby.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/o3-timing-ruby.py Fri May 24 11:35:05 2013 +0100 @@ -42,6 +42,7 @@ physmem = ruby_memory, membus = CoherentBus(), mem_mode = "timing") +system.clock = '1GHz' system.physmem.port = system.membus.master # create the interrupt controller cpu.createInterruptController() diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/o3-timing.py --- a/tests/configs/o3-timing.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/o3-timing.py Fri May 24 11:35:05 2013 +0100 @@ -44,6 +44,7 @@ physmem = DDR3_1600_x64(), membus = CoherentBus(), mem_mode = "timing") +system.clock = '1GHz' system.system_port = system.membus.slave system.physmem.port = system.membus.master # create the interrupt controller diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/rubytest-ruby.py --- a/tests/configs/rubytest-ruby.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/rubytest-ruby.py Fri May 24 11:35:05 2013 +0100 @@ -78,6 +78,7 @@ wakeup_frequency = 10, num_cpus = options.num_cpus) system = System(tester = tester, physmem = SimpleMemory(null = True)) +system.clock = options.sys_clock Ruby.create_system(options, system) diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/simple-atomic-dummychecker.py --- a/tests/configs/simple-atomic-dummychecker.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/simple-atomic-dummychecker.py Fri May 24 11:35:05 2013 +0100 @@ -41,6 +41,7 @@ system = System(cpu = AtomicSimpleCPU(cpu_id=0), physmem = SimpleMemory(), membus = CoherentBus()) +system.clock = '1GHz' system.system_port = system.membus.slave system.physmem.port = system.membus.master system.cpu.addCheckerCpu() diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/simple-atomic-mp-ruby.py --- a/tests/configs/simple-atomic-mp-ruby.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/simple-atomic-mp-ruby.py Fri May 24 11:35:05 2013 +0100 @@ -39,6 +39,7 @@ # system simulated system = System(cpu = cpus, physmem = ruby_memory, membus = CoherentBus()) +system.clock = '1GHz' # add L1 caches for cpu in cpus: diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/simple-atomic-mp.py --- a/tests/configs/simple-atomic-mp.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/simple-atomic-mp.py Fri May 24 11:35:05 2013 +0100 @@ -38,7 +38,7 @@ system = System(cpu = cpus, physmem = SimpleMemory(range = AddrRange('1024MB')), membus = CoherentBus()) - +system.clock = '1GHz' # l2cache & bus system.toL2Bus = CoherentBus(clock = '2GHz') system.l2c = L2Cache(clock = '2GHz', size='4MB', assoc=8) diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/simple-atomic.py --- a/tests/configs/simple-atomic.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/simple-atomic.py Fri May 24 11:35:05 2013 +0100 @@ -32,6 +32,7 @@ system = System(cpu = AtomicSimpleCPU(cpu_id=0), physmem = SimpleMemory(), membus = CoherentBus()) +system.clock = '1GHz' system.system_port = system.membus.slave system.physmem.port = system.membus.master # create the interrupt controller diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/simple-timing-mp-ruby.py --- a/tests/configs/simple-timing-mp-ruby.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/simple-timing-mp-ruby.py Fri May 24 11:35:05 2013 +0100 @@ -72,6 +72,7 @@ # system simulated system = System(cpu = cpus, physmem = SimpleMemory()) +system.clock = options.sys_clock Ruby.create_system(options, system) diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/simple-timing-mp.py --- a/tests/configs/simple-timing-mp.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/simple-timing-mp.py Fri May 24 11:35:05 2013 +0100 @@ -36,6 +36,7 @@ # system simulated system = System(cpu = cpus, physmem = SimpleMemory(), membus = CoherentBus()) +system.clock = '1GHz' # l2cache & bus system.toL2Bus = CoherentBus(clock = '2GHz') diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/simple-timing-ruby.py --- a/tests/configs/simple-timing-ruby.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/simple-timing-ruby.py Fri May 24 11:35:05 2013 +0100 @@ -68,6 +68,7 @@ cpu = TimingSimpleCPU(cpu_id=0) system = System(cpu = cpu, physmem = SimpleMemory(null = True)) +system.clock = options.sys_clock Ruby.create_system(options, system) diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/simple-timing.py --- a/tests/configs/simple-timing.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/simple-timing.py Fri May 24 11:35:05 2013 +0100 @@ -39,6 +39,7 @@ physmem = SimpleMemory(), membus = CoherentBus(), mem_mode = "timing") +system.clock = '1GHz' system.system_port = system.membus.slave system.physmem.port = system.membus.master # create the interrupt controller diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/tgen-simple-dram.py --- a/tests/configs/tgen-simple-dram.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/tgen-simple-dram.py Fri May 24 11:35:05 2013 +0100 @@ -50,6 +50,7 @@ # system simulated system = System(cpu = cpu, physmem = DDR3_1600_x64(), membus = NoncoherentBus(width = 16)) +system.clock = '1GHz' # add a communication monitor system.monitor = CommMonitor() diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/tgen-simple-mem.py --- a/tests/configs/tgen-simple-mem.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/tgen-simple-mem.py Fri May 24 11:35:05 2013 +0100 @@ -50,6 +50,7 @@ # system simulated system = System(cpu = cpu, physmem = SimpleMemory(), membus = NoncoherentBus(width = 16)) +system.clock = '1GHz' # add a communication monitor, and also trace all the packets system.monitor = CommMonitor(trace_file = "monitor.ptrc.gz") diff -r fc7d56547e33 -r 54a18bf193b4 tests/configs/twosys-tsunami-simple-atomic.py --- a/tests/configs/twosys-tsunami-simple-atomic.py Fri May 24 11:25:10 2013 +0100 +++ b/tests/configs/twosys-tsunami-simple-atomic.py Fri May 24 11:35:05 2013 +0100 @@ -34,6 +34,7 @@ test_sys = makeLinuxAlphaSystem('atomic', SimpleMemory, SysConfig('netperf-stream-client.rcS')) +test_sys.clock = '1GHz' test_sys.cpu = AtomicSimpleCPU(cpu_id=0) # create the interrupt controller test_sys.cpu.createInterruptController() @@ -48,6 +49,7 @@ drive_sys = makeLinuxAlphaSystem('atomic', SimpleMemory, SysConfig('netperf-server.rcS')) +drive_sys.clock = '1GHz' drive_sys.cpu = AtomicSimpleCPU(cpu_id=0) # create the interrupt controller drive_sys.cpu.createInterruptController()