92,101c92,102
< l1_cntrl = L1Cache_Controller(version = i,
< L1Icache = l1i_cache,
< L1Dcache = l1d_cache,
< L2cache = l2_cache,
< no_mig_atomic = not \
< options.allow_atomic_migration,
< send_evictions = send_evicts(options),
< transitions_per_cycle = options.ports,
< clk_domain=system.cpu[i].clk_domain,
< ruby_system = ruby_system)
---
> # the ruby random tester reuses num_cpus to specify the
> # number of cpu ports connected to the tester object, which
> # is stored in system.cpu. because there is only ever one
> # tester object, num_cpus is not necessarily equal to the
> # size of system.cpu; therefore if len(system.cpu) == 1
> # we use system.cpu[0] to set the clk_domain, thereby ensuring
> # we don't index off the end of the cpu list.
> if len(system.cpu) == 1:
> clk_domain = system.cpu[0].clk_domain
> else:
> clk_domain = system.cpu[i].clk_domain
103,107c104,111
< cpu_seq = RubySequencer(version = i,
< icache = l1i_cache,
< dcache = l1d_cache,
< clk_domain=system.cpu[i].clk_domain,
< ruby_system = ruby_system)
---
> l1_cntrl = L1Cache_Controller(version=i, L1Icache=l1i_cache,
> L1Dcache=l1d_cache, L2cache=l2_cache,
> no_mig_atomic=not \
> options.allow_atomic_migration,
> send_evictions=send_evicts(options),
> transitions_per_cycle=options.ports,
> clk_domain=clk_domain,
> ruby_system=ruby_system)
108a113,116
> cpu_seq = RubySequencer(version=i, icache=l1i_cache,
> dcache=l1d_cache,clk_domain=clk_domain,
> ruby_system=ruby_system)
>