gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
Packet::SenderState Struct Reference

A virtual base opaque structure used to hold state associated with the packet (e.g., an MSHR), specific to a MemObject that sees the packet. More...

#include <packet.hh>

Inheritance diagram for Packet::SenderState:
AbstractController::SenderState AddrMapper::AddrMapperSenderState CommMonitor::CommMonitorSenderState ComputeUnit::DataPort::SenderState ComputeUnit::DTLBPort::SenderState ComputeUnit::ITLBPort::SenderState ComputeUnit::LDSPort::SenderState ComputeUnit::SQCPort::SenderState DmaPort::DmaReqState GarnetSyntheticTraffic::GarnetSyntheticTrafficSenderState LSQUnit< Impl >::LSQSenderState MemCheckerMonitor::MemCheckerMonitorSenderState Minor::Fetch1::FetchRequest Minor::LSQ::LSQRequest Packet::PrintReqState QueueEntry RubyPort::SenderState RubyTester::SenderState TimingSimpleCPU::SplitFragmentSenderState TimingSimpleCPU::SplitMainSenderState X86ISA::GpuTLB::TranslationState X86ISA::Walker::WalkerSenderState

Public Member Functions

 SenderState ()
 
virtual ~SenderState ()
 

Public Attributes

SenderStatepredecessor
 

Detailed Description

A virtual base opaque structure used to hold state associated with the packet (e.g., an MSHR), specific to a MemObject that sees the packet.

A pointer to this state is returned in the packet's response so that the MemObject 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 MemObjects may add their SenderState throughout the memory system, the SenderStates create a stack, where a MemObject 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.

Definition at line 377 of file packet.hh.

Constructor & Destructor Documentation

Packet::SenderState::SenderState ( )
inline

Definition at line 380 of file packet.hh.

virtual Packet::SenderState::~SenderState ( )
inlinevirtual

Definition at line 381 of file packet.hh.

Member Data Documentation

SenderState* Packet::SenderState::predecessor

The documentation for this struct was generated from the following file:

Generated on Fri Jun 9 2017 13:04:16 for gem5 by doxygen 1.8.6