70 panic(
"SimpleTimingPort should never see packets with the "
71 "cacheResponding flag set\n");
bool recvTimingReq(PacketPtr pkt)
Implemented using recvAtomic().
SimpleTimingPort(const std::string &name, MemObject *owner)
Create a new SimpleTimingPort that relies on a packet queue to hold responses, and implements recvTim...
A queued port is a port that has an infinite queue for outgoing packets and thus decouples the module...
Declaration of SimpleTimingPort.
Tick curTick()
The current simulated tick.
void recvFunctional(PacketPtr pkt)
Implemented using recvAtomic().
uint64_t Tick
Tick count type.
bool needsResponse() const
std::unique_ptr< Packet > pendingDelete
Upstream caches need this packet until true is returned, so hold it for deletion until a subsequent c...
bool checkFunctional(PacketPtr pkt)
Check the list of buffered packets against the supplied functional request.
bool cacheResponding() const
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
virtual Tick recvAtomic(PacketPtr pkt)=0
Receive an atomic request packet from the master port.
RespPacketQueue & respQueue
Packet queue used to store outgoing responses.
The MemObject class extends the ClockedObject with accessor functions to get its master and slave por...
void schedTimingResp(PacketPtr pkt, Tick when, bool force_order=false)
Schedule the sending of a timing response.