summaryrefslogtreecommitdiff
path: root/src/mem/ruby/system/RubyPort.cc
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2014-03-20 08:03:09 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2014-03-20 08:03:09 -0500
commit9b3418d163ea2225a9d652b923333b04733a1e0b (patch)
treec9b00f5674522320c315eaa472475e3b75ec048f /src/mem/ruby/system/RubyPort.cc
parenta20fbdfc23f8c7cbbe2c0b884d28db99442feba9 (diff)
downloadgem5-9b3418d163ea2225a9d652b923333b04733a1e0b.tar.xz
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.
Diffstat (limited to 'src/mem/ruby/system/RubyPort.cc')
-rw-r--r--src/mem/ruby/system/RubyPort.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc
index ec1266a90..110b6924d 100644
--- a/src/mem/ruby/system/RubyPort.cc
+++ b/src/mem/ruby/system/RubyPort.cc
@@ -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();
}
}