diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2012-03-02 09:16:50 -0500 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2012-03-02 09:16:50 -0500 |
commit | adc419a13a698414a0623ce286cafebcdf2f272e (patch) | |
tree | c23df45d74fc761927fe7adc20a2b32ef55855fa /src | |
parent | b129d7ce00a2cb6f0bbdcee90f0202cda8449117 (diff) | |
download | gem5-adc419a13a698414a0623ce286cafebcdf2f272e.tar.xz |
Ruby: Rename RubyPort::sendTiming to avoid overriding base class
This patch renames the sendTiming member function in the RubyPort to
avoid inadvertently hiding Port::sendTiming (discovered through some
rather painful debugging). The RubyPort does, in fact, rely on the
functionality of the queued port and the implementation merely
schedules a send the next cycle. The new name for the member function
is sendNextCycle to better reflect this behaviour.
In the unlikely event that we ever shift to using C++11 the member
functions in Port should have a "final" identifier to prevent any
overriding in derived classes.
Diffstat (limited to 'src')
-rw-r--r-- | src/mem/ruby/system/RubyPort.cc | 10 | ||||
-rw-r--r-- | src/mem/ruby/system/RubyPort.hh | 4 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc index c55b4a2c2..aff129b50 100644 --- a/src/mem/ruby/system/RubyPort.cc +++ b/src/mem/ruby/system/RubyPort.cc @@ -188,7 +188,7 @@ RubyPort::M5Port::recvTiming(PacketPtr pkt) "Request for address 0x%#x is assumed to be a pio request\n", pkt->getAddr()); - return ruby_port->pio_port.sendTiming(pkt); + return ruby_port->pio_port.sendNextCycle(pkt); } assert(Address(pkt->getAddr()).getOffset() + pkt->getSize() <= @@ -637,7 +637,7 @@ 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"); - sendTiming(pkt); + sendNextCycle(pkt); } else { delete pkt; } @@ -645,7 +645,7 @@ RubyPort::M5Port::hitCallback(PacketPtr pkt) } bool -RubyPort::M5Port::sendTiming(PacketPtr pkt) +RubyPort::M5Port::sendNextCycle(PacketPtr pkt) { //minimum latency, must be > 0 schedSendTiming(pkt, curTick() + (1 * g_eventQueue_ptr->getClock())); @@ -653,7 +653,7 @@ RubyPort::M5Port::sendTiming(PacketPtr pkt) } bool -RubyPort::PioPort::sendTiming(PacketPtr pkt) +RubyPort::PioPort::sendNextCycle(PacketPtr pkt) { //minimum latency, must be > 0 schedSendTiming(pkt, curTick() + (1 * g_eventQueue_ptr->getClock())); @@ -690,6 +690,6 @@ RubyPort::ruby_eviction_callback(const Address& address) Request req(address.getAddress(), 0, 0, Request::funcMasterId); for (CpuPortIter it = cpu_ports.begin(); it != cpu_ports.end(); it++) { Packet *pkt = new Packet(&req, MemCmd::InvalidationReq, -1); - (*it)->sendTiming(pkt); + (*it)->sendNextCycle(pkt); } } diff --git a/src/mem/ruby/system/RubyPort.hh b/src/mem/ruby/system/RubyPort.hh index 0d84ec216..4aa132131 100644 --- a/src/mem/ruby/system/RubyPort.hh +++ b/src/mem/ruby/system/RubyPort.hh @@ -57,7 +57,7 @@ class RubyPort : public MemObject public: M5Port(const std::string &_name, RubyPort *_port, RubySystem*_system, bool _access_phys_mem); - bool sendTiming(PacketPtr pkt); + bool sendNextCycle(PacketPtr pkt); void hitCallback(PacketPtr pkt); void evictionCallback(const Address& address); unsigned deviceBlockSize() const; @@ -88,7 +88,7 @@ class RubyPort : public MemObject public: PioPort(const std::string &_name, RubyPort *_port); - bool sendTiming(PacketPtr pkt); + bool sendNextCycle(PacketPtr pkt); protected: virtual bool recvTiming(PacketPtr pkt); |