summaryrefslogtreecommitdiff
path: root/src/mem/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby')
-rw-r--r--src/mem/ruby/system/RubyPort.cc25
-rw-r--r--src/mem/ruby/system/RubyPort.hh2
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);