diff options
Diffstat (limited to 'src/mem/ruby/system')
-rw-r--r-- | src/mem/ruby/system/RubyPort.cc | 25 | ||||
-rw-r--r-- | src/mem/ruby/system/RubyPort.hh | 2 |
2 files changed, 6 insertions, 21 deletions
diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc index c829bf66e..c8580bb5c 100644 --- a/src/mem/ruby/system/RubyPort.cc +++ b/src/mem/ruby/system/RubyPort.cc @@ -196,7 +196,10 @@ RubyPort::M5Port::recvTimingReq(PacketPtr pkt) "Request for address 0x%#x is assumed to be a pio request\n", pkt->getAddr()); - return ruby_port->pio_port.sendNextCycle(pkt); + // send next cycle + ruby_port->pio_port.schedTimingReq(pkt, curTick() + + g_eventQueue_ptr->getClock()); + return true; } assert(Address(pkt->getAddr()).getOffset() + pkt->getSize() <= @@ -647,30 +650,14 @@ RubyPort::M5Port::hitCallback(PacketPtr pkt) // turn packet around to go back to requester if response expected if (needsResponse) { DPRINTF(RubyPort, "Sending packet back over port\n"); - sendNextCycle(pkt); + // send next cycle + schedTimingResp(pkt, curTick() + g_eventQueue_ptr->getClock()); } else { delete pkt; } DPRINTF(RubyPort, "Hit callback done!\n"); } -bool -RubyPort::M5Port::sendNextCycle(PacketPtr pkt, bool send_as_snoop) -{ - //minimum latency, must be > 0 - queue.schedSendTiming(pkt, curTick() + (1 * g_eventQueue_ptr->getClock()), - send_as_snoop); - return true; -} - -bool -RubyPort::PioPort::sendNextCycle(PacketPtr pkt) -{ - //minimum latency, must be > 0 - queue.schedSendTiming(pkt, curTick() + (1 * g_eventQueue_ptr->getClock())); - return true; -} - AddrRangeList RubyPort::M5Port::getAddrRanges() const { diff --git a/src/mem/ruby/system/RubyPort.hh b/src/mem/ruby/system/RubyPort.hh index 3b19632e2..e57522b5b 100644 --- a/src/mem/ruby/system/RubyPort.hh +++ b/src/mem/ruby/system/RubyPort.hh @@ -71,7 +71,6 @@ class RubyPort : public MemObject public: M5Port(const std::string &_name, RubyPort *_port, RubySystem*_system, bool _access_phys_mem); - bool sendNextCycle(PacketPtr pkt, bool send_as_snoop = false); void hitCallback(PacketPtr pkt); void evictionCallback(const Address& address); unsigned deviceBlockSize() const; @@ -106,7 +105,6 @@ class RubyPort : public MemObject public: PioPort(const std::string &_name, RubyPort *_port); - bool sendNextCycle(PacketPtr pkt); protected: virtual bool recvTimingResp(PacketPtr pkt); |