return _slavePort->recvAtomic(pkt);
}
+Tick
+MasterPort::sendAtomicBackdoor(PacketPtr pkt, MemBackdoorPtr &backdoor)
+{
+ assert(pkt->isRequest());
+ return _slavePort->recvAtomicBackdoor(pkt, backdoor);
+}
+
void
MasterPort::sendFunctional(PacketPtr pkt)
{
* Slave port
*/
SlavePort::SlavePort(const std::string& name, MemObject* _owner, PortID id)
- : BaseSlavePort(name, id), _masterPort(NULL), owner(*_owner)
+ : BaseSlavePort(name, id), _masterPort(NULL), defaultBackdoorWarned(false),
+ owner(*_owner)
{
}
_connected = true;
}
+Tick
+SlavePort::recvAtomicBackdoor(PacketPtr pkt, MemBackdoorPtr &backdoor)
+{
+ if (!defaultBackdoorWarned) {
+ warn("Port %s doesn't support requesting a back door.", name());
+ defaultBackdoorWarned = true;
+ }
+ return recvAtomic(pkt);
+}
+
Tick
SlavePort::sendAtomicSnoop(PacketPtr pkt)
{