se.py (13684:076506a21535) | se.py (13731:67cd980cb20f) |
---|---|
1# Copyright (c) 2012-2013 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 157 unchanged lines hidden (view full) --- 166(CPUClass, test_mem_mode, FutureClass) = Simulation.setCPUClass(options) 167CPUClass.numThreads = numThreads 168 169# Check -- do not allow SMT with multiple CPUs 170if options.smt and options.num_cpus > 1: 171 fatal("You cannot use SMT with multiple CPUs!") 172 173np = options.num_cpus | 1# Copyright (c) 2012-2013 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 157 unchanged lines hidden (view full) --- 166(CPUClass, test_mem_mode, FutureClass) = Simulation.setCPUClass(options) 167CPUClass.numThreads = numThreads 168 169# Check -- do not allow SMT with multiple CPUs 170if options.smt and options.num_cpus > 1: 171 fatal("You cannot use SMT with multiple CPUs!") 172 173np = options.num_cpus |
174system = System(cpu = [CPUClass(cpu_id=i) for i in xrange(np)], | 174system = System(cpu = [CPUClass(cpu_id=i) for i in range(np)], |
175 mem_mode = test_mem_mode, 176 mem_ranges = [AddrRange(options.mem_size)], 177 cache_line_size = options.cacheline_size) 178 179if numThreads > 1: 180 system.multi_thread = True 181 182# Create a top-level voltage domain --- 32 unchanged lines hidden (view full) --- 215 216# Sanity check 217if options.simpoint_profile: 218 if not CpuConfig.is_noncaching_cpu(CPUClass): 219 fatal("SimPoint/BPProbe should be done with an atomic cpu") 220 if np > 1: 221 fatal("SimPoint generation not supported with more than one CPUs") 222 | 175 mem_mode = test_mem_mode, 176 mem_ranges = [AddrRange(options.mem_size)], 177 cache_line_size = options.cacheline_size) 178 179if numThreads > 1: 180 system.multi_thread = True 181 182# Create a top-level voltage domain --- 32 unchanged lines hidden (view full) --- 215 216# Sanity check 217if options.simpoint_profile: 218 if not CpuConfig.is_noncaching_cpu(CPUClass): 219 fatal("SimPoint/BPProbe should be done with an atomic cpu") 220 if np > 1: 221 fatal("SimPoint generation not supported with more than one CPUs") 222 |
223for i in xrange(np): | 223for i in range(np): |
224 if options.smt: 225 system.cpu[i].workload = multiprocesses 226 elif len(multiprocesses) == 1: 227 system.cpu[i].workload = multiprocesses[0] 228 else: 229 system.cpu[i].workload = multiprocesses[i] 230 231 if options.simpoint_profile: --- 9 unchanged lines hidden (view full) --- 241 system.cpu[i].createThreads() 242 243if options.ruby: 244 Ruby.create_system(options, False, system) 245 assert(options.num_cpus == len(system.ruby._cpu_ports)) 246 247 system.ruby.clk_domain = SrcClockDomain(clock = options.ruby_clock, 248 voltage_domain = system.voltage_domain) | 224 if options.smt: 225 system.cpu[i].workload = multiprocesses 226 elif len(multiprocesses) == 1: 227 system.cpu[i].workload = multiprocesses[0] 228 else: 229 system.cpu[i].workload = multiprocesses[i] 230 231 if options.simpoint_profile: --- 9 unchanged lines hidden (view full) --- 241 system.cpu[i].createThreads() 242 243if options.ruby: 244 Ruby.create_system(options, False, system) 245 assert(options.num_cpus == len(system.ruby._cpu_ports)) 246 247 system.ruby.clk_domain = SrcClockDomain(clock = options.ruby_clock, 248 voltage_domain = system.voltage_domain) |
249 for i in xrange(np): | 249 for i in range(np): |
250 ruby_port = system.ruby._cpu_ports[i] 251 252 # Create the interrupt controller and connect its ports to Ruby 253 # Note that the interrupt controller is always present but only 254 # in x86 does it have message ports that need to be connected 255 system.cpu[i].createInterruptController() 256 257 # Connect the cpu's cache ports to Ruby --- 17 unchanged lines hidden --- | 250 ruby_port = system.ruby._cpu_ports[i] 251 252 # Create the interrupt controller and connect its ports to Ruby 253 # Note that the interrupt controller is always present but only 254 # in x86 does it have message ports that need to be connected 255 system.cpu[i].createInterruptController() 256 257 # Connect the cpu's cache ports to Ruby --- 17 unchanged lines hidden --- |