56 if (!
respQueue.trySatisfyFunctional(pkt)) {
69 panic(
"SimpleTimingPort should never see packets with the "
70 "cacheResponding flag set\n");
bool needsResponse() const
bool cacheResponding() const
RespPacketQueue & respQueue
Packet queue used to store outgoing responses.
QueuedResponsePort(const std::string &name, RespPacketQueue &resp_queue, PortID id=InvalidPortID)
Create a QueuedPort with a given name, owner, and a supplied implementation of a packet queue.
void schedTimingResp(PacketPtr pkt, Tick when)
Schedule the sending of a timing response.
Abstract superclass for simulation objects.
SimpleTimingPort(const std::string &name, SimObject *owner)
Create a new SimpleTimingPort that relies on a packet queue to hold responses, and implements recvTim...
void recvFunctional(PacketPtr pkt)
Implemented using recvAtomic().
std::unique_ptr< Packet > pendingDelete
Upstream caches need this packet until true is returned, so hold it for deletion until a subsequent c...
virtual Tick recvAtomic(PacketPtr pkt)=0
Receive an atomic request packet from the peer.
bool recvTimingReq(PacketPtr pkt)
Implemented using recvAtomic().
RespPacketQueue queueImpl
The packet queue used to store outgoing responses.
#define panic(...)
This implements a cprintf based panic() function.
Copyright (c) 2024 Arm Limited All rights reserved.
Tick curTick()
The universal simulation clock.
uint64_t Tick
Tick count type.
Declaration of SimpleTimingPort.