parser.add_option("--ruby", action="store_true")
# Run duration options
- parser.add_option("-m", "--abs-max-tick", type="int", default=None,
+ parser.add_option("-m", "--abs-max-tick", type="int", default=m5.MaxTick,
metavar="TICKS", help="Run to absolute simulated tick " \
"specified including ticks from a restored checkpoint")
parser.add_option("--rel-max-tick", type="int", default=None,
# actually used by the rubytester, but is included to support the
# M5 memory size == Ruby memory size checks
#
-system = System(physmem = SimpleMemory())
+system = System(physmem = SimpleMemory(),
+ mem_ranges = [AddrRange(options.mem_size)])
# Create a top-level voltage domain and clock domain
m5.instantiate()
# simulate until program terminates
-exit_event = m5.simulate(options.maxtick)
+exit_event = m5.simulate(options.abs_max_tick)
print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
funcmem = SimpleMemory(in_addr_map = False),
funcbus = NoncoherentBus(),
physmem = SimpleMemory(),
- clk_domain = SrcClockDomain(clock = options.sys_clock))
+ clk_domain = SrcClockDomain(clock = options.sys_clock),
+ mem_ranges = [AddrRange(options.mem_size)])
if options.num_dmas > 0:
dmas = [ MemTest(atomic = False,
dma_ports.append(dma.test)
Ruby.create_system(options, system, dma_ports = dma_ports)
+# Create a top-level voltage domain and clock domain
+system.voltage_domain = VoltageDomain(voltage = options.sys_voltage)
+system.clk_domain = SrcClockDomain(clock = options.sys_clock,
+ voltage_domain = system.voltage_domain)
# Create a seperate clock domain for Ruby
-system.ruby.clk_domain = SrcClockDomain(clock = options.ruby_clock)
+system.ruby.clk_domain = SrcClockDomain(clock = options.ruby_clock,
+ voltage_domain = system.voltage_domain)
#
# The tester is most effective when randomization is turned on and
m5.instantiate()
# simulate until program terminates
-exit_event = m5.simulate(options.maxtick)
+exit_event = m5.simulate(options.abs_max_tick)
print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
for i in xrange(options.num_cpus) ]
# create the desired simulated system
-system = System(cpu = cpus,
- physmem = SimpleMemory())
+system = System(cpu = cpus, physmem = SimpleMemory(),
+ mem_ranges = [AddrRange(options.mem_size)])
# Create a top-level voltage domain and clock domain
m5.instantiate()
# simulate until program terminates
-exit_event = m5.simulate(options.maxtick)
+exit_event = m5.simulate(options.abs_max_tick)
print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
# actually used by the rubytester, but is included to support the
# M5 memory size == Ruby memory size checks
#
-system = System(tester = tester, physmem = SimpleMemory())
+system = System(tester = tester, physmem = SimpleMemory(),
+ mem_ranges = [AddrRange(options.mem_size)])
# Create a top-level voltage domain and clock domain
system.voltage_domain = VoltageDomain(voltage = options.sys_voltage)
m5.instantiate()
# simulate until program terminates
-exit_event = m5.simulate(options.maxtick)
+exit_event = m5.simulate(options.abs_max_tick)
print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()