ruby: no piobus in se mode
Piobus was recently added to se scripts for ruby so that the interrupt controller can be connected to something (required since the interrupt controller sends address range messages). This patch removes the piobus and instead, the pio port of ruby port will now ignore the range change messages in se mode.
This commit is contained in:
parent
a20fbdfc23
commit
9b3418d163
3 changed files with 4 additions and 6 deletions
|
@ -232,9 +232,7 @@ if options.ruby:
|
|||
system.physmem = MemClass(range=AddrRange(options.mem_size),
|
||||
null = True)
|
||||
options.use_map = True
|
||||
|
||||
system.piobus = NoncoherentBus()
|
||||
Ruby.create_system(options, system, system.piobus)
|
||||
Ruby.create_system(options, system)
|
||||
assert(options.num_cpus == len(system.ruby._cpu_ruby_ports))
|
||||
|
||||
for i in xrange(np):
|
||||
|
|
|
@ -46,6 +46,7 @@
|
|||
#include "mem/protocol/AccessPermission.hh"
|
||||
#include "mem/ruby/slicc_interface/AbstractController.hh"
|
||||
#include "mem/ruby/system/RubyPort.hh"
|
||||
#include "sim/full_system.hh"
|
||||
#include "sim/system.hh"
|
||||
|
||||
RubyPort::RubyPort(const Params *p)
|
||||
|
@ -558,7 +559,7 @@ RubyPort::PioMasterPort::recvRangeChange()
|
|||
{
|
||||
RubyPort &r = static_cast<RubyPort &>(owner);
|
||||
r.gotAddrRanges--;
|
||||
if (r.gotAddrRanges == 0) {
|
||||
if (r.gotAddrRanges == 0 && FullSystem) {
|
||||
r.pioSlavePort.sendRangeChange();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,8 +79,7 @@ system.cpu.clk_domain = SrcClockDomain(clock = '2GHz',
|
|||
voltage_domain = system.voltage_domain)
|
||||
|
||||
system.mem_ranges = AddrRange('256MB')
|
||||
system.piobus = NoncoherentBus()
|
||||
Ruby.create_system(options, system, system.piobus)
|
||||
Ruby.create_system(options, system)
|
||||
|
||||
# Create a separate clock for Ruby
|
||||
system.ruby.clk_domain = SrcClockDomain(clock = options.ruby_clock,
|
||||
|
|
Loading…
Reference in a new issue