gem5
v20.1.0.0
|
A virtual base opaque structure used to hold state associated with the packet (e.g., an MSHR), specific to a SimObject that sees the packet. More...
#include <packet.hh>
Public Member Functions | |
SenderState () | |
virtual | ~SenderState () |
Public Attributes | |
SenderState * | predecessor |
A virtual base opaque structure used to hold state associated with the packet (e.g., an MSHR), specific to a SimObject that sees the packet.
A pointer to this state is returned in the packet's response so that the SimObject in question can quickly look up the state needed to process it. A specific subclass would be derived from this to carry state specific to a particular sending device.
As multiple SimObjects may add their SenderState throughout the memory system, the SenderStates create a stack, where a SimObject can add a new Senderstate, as long as the predecessing SenderState is restored when the response comes back. For this reason, the predecessor should always be populated with the current SenderState of a packet before modifying the senderState field in the request packet.
|
inlinevirtual |
SenderState* Packet::SenderState::predecessor |
Definition at line 433 of file packet.hh.
Referenced by LdsState::countBankConflicts(), Packet::findNextSenderState(), Packet::popSenderState(), Packet::pushSenderState(), MemCheckerMonitor::recvTimingResp(), AddrMapper::recvTimingResp(), and CommMonitor::recvTimingResp().