diff options
Diffstat (limited to 'src/mem/ruby/system')
-rw-r--r-- | src/mem/ruby/system/RubyPort.cc | 11 | ||||
-rw-r--r-- | src/mem/ruby/system/RubyPort.hh | 8 |
2 files changed, 8 insertions, 11 deletions
diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc index ef9f59645..53b6e8e6d 100644 --- a/src/mem/ruby/system/RubyPort.cc +++ b/src/mem/ruby/system/RubyPort.cc @@ -141,14 +141,12 @@ RubyPort::M5Port::recvAtomic(PacketPtr pkt) bool -RubyPort::PioPort::recvTiming(PacketPtr pkt) +RubyPort::PioPort::recvTimingResp(PacketPtr pkt) { // In FS mode, ruby memory will receive pio responses from devices // and it must forward these responses back to the particular CPU. DPRINTF(RubyPort, "Pio response for address %#x\n", pkt->getAddr()); - assert(pkt->isResponse()); - // First we must retrieve the request port from the sender State RubyPort::SenderState *senderState = safe_cast<RubyPort::SenderState *>(pkt->senderState); @@ -159,24 +157,23 @@ RubyPort::PioPort::recvTiming(PacketPtr pkt) pkt->senderState = senderState->saved; delete senderState; - port->sendTiming(pkt); + port->sendTimingResp(pkt); return true; } bool -RubyPort::M5Port::recvTiming(PacketPtr pkt) +RubyPort::M5Port::recvTimingReq(PacketPtr pkt) { DPRINTF(RubyPort, "Timing access caught for address %#x\n", pkt->getAddr()); - //dsm: based on SimpleTimingPort::recvTiming(pkt); + //dsm: based on SimpleTimingPort::recvTimingReq(pkt); // The received packets should only be M5 requests, which should never // get nacked. There used to be code to hanldle nacks here, but // I'm pretty sure it didn't work correctly with the drain code, // so that would need to be fixed if we ever added it back. - assert(pkt->isRequest()); if (pkt->memInhibitAsserted()) { warn("memInhibitAsserted???"); diff --git a/src/mem/ruby/system/RubyPort.hh b/src/mem/ruby/system/RubyPort.hh index f41c98f55..8833efb6e 100644 --- a/src/mem/ruby/system/RubyPort.hh +++ b/src/mem/ruby/system/RubyPort.hh @@ -62,7 +62,7 @@ class RubyPort : public MemObject { private: - PacketQueue queue; + SlavePacketQueue queue; RubyPort *ruby_port; RubySystem* ruby_system; bool _onRetryList; @@ -83,7 +83,7 @@ class RubyPort : public MemObject { _onRetryList = newVal; } protected: - virtual bool recvTiming(PacketPtr pkt); + virtual bool recvTimingReq(PacketPtr pkt); virtual Tick recvAtomic(PacketPtr pkt); virtual void recvFunctional(PacketPtr pkt); virtual AddrRangeList getAddrRanges(); @@ -100,7 +100,7 @@ class RubyPort : public MemObject { private: - PacketQueue queue; + MasterPacketQueue queue; RubyPort *ruby_port; @@ -109,7 +109,7 @@ class RubyPort : public MemObject bool sendNextCycle(PacketPtr pkt); protected: - virtual bool recvTiming(PacketPtr pkt); + virtual bool recvTimingResp(PacketPtr pkt); }; friend class PioPort; |