gem5 v24.1.0.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
gem5::ruby::CHIGenericController Class Referenceabstract

#include <CHIGenericController.hh>

Inheritance diagram for gem5::ruby::CHIGenericController:
gem5::ruby::AbstractController gem5::ClockedObject gem5::ruby::Consumer gem5::SimObject gem5::Clocked gem5::EventManager gem5::Serializable gem5::Drainable gem5::statistics::Group gem5::Named gem5::tlm::chi::CacheController

Public Types

enum  CHIChannel { CHI_REQ = 0 , CHI_SNP = 1 , CHI_RSP = 2 , CHI_DAT = 3 }
 
using CHIRequestMsg = CHI::CHIRequestMsg
 
using CHIResponseMsg = CHI::CHIResponseMsg
 
using CHIDataMsg = CHI::CHIDataMsg
 
using CHIRequestMsgPtr = std::shared_ptr< CHIRequestMsg >
 
using CHIResponseMsgPtr = std::shared_ptr< CHIResponseMsg >
 
using CHIDataMsgPtr = std::shared_ptr< CHIDataMsg >
 
- Public Types inherited from gem5::ClockedObject
using Params = ClockedObjectParams
 Parameters of ClockedObject.
 
- Public Types inherited from gem5::SimObject
typedef SimObjectParams Params
 

Public Member Functions

 PARAMS (CHIGenericController)
 
 CHIGenericController (const Params &p)
 
void init () override
 init() is called after all C++ SimObjects have been created and all ports are connected.
 
MessageBuffergetMandatoryQueue () const override
 
MessageBuffergetMemReqQueue () const override
 
MessageBuffergetMemRespQueue () const override
 
void initNetQueues () override
 Initialize the message buffers.
 
void print (std::ostream &out) const override
 
void wakeup () override
 
void resetStats () override
 Callback to reset stats.
 
void regStats () override
 Callback to set stat parameters.
 
void collateStats () override
 Function for collating statistics from all the controllers of this particular type.
 
void recordCacheTrace (int cntrl, CacheRecorder *tr) override
 
SequencergetCPUSequencer () const override
 
DMASequencergetDMASequencer () const override
 
GPUCoalescergetGPUCoalescer () const override
 
void addSequencer (RubyPort *seq)
 
bool functionalReadBuffers (PacketPtr &) override
 These functions are used by ruby system to read/write the data blocks that exist with in the controller.
 
bool functionalReadBuffers (PacketPtr &, WriteMask &) override
 Functional read that reads only blocks not present in the mask.
 
int functionalWriteBuffers (PacketPtr &) override
 The return value indicates the number of messages written with the data from the packet.
 
AccessPermission getAccessPermission (const Addr &param_addr) override
 
void functionalRead (const Addr &param_addr, Packet *param_pkt, WriteMask &param_mask) override
 
int functionalWrite (const Addr &param_addr, Packet *param_pkt) override
 
bool sendRequestMsg (CHIRequestMsgPtr msg)
 
bool sendSnoopMsg (CHIRequestMsgPtr msg)
 
bool sendResponseMsg (CHIResponseMsgPtr msg)
 
bool sendDataMsg (CHIDataMsgPtr msg)
 
- Public Member Functions inherited from gem5::ruby::AbstractController
 PARAMS (RubyController)
 
 AbstractController (const Params &p)
 
NodeID getVersion () const
 
MachineType getType () const
 
void initNetworkPtr (Network *net_ptr)
 
void blockOnQueue (Addr, MessageBuffer *)
 
bool isBlocked (Addr) const
 
void unblock (Addr)
 
bool isBlocked (Addr)
 
void memRespQueueDequeued ()
 
void dequeueMemRespQueue ()
 
virtual Cycles mandatoryQueueLatency (const RubyRequestType &param_type)
 
virtual void functionalRead (const Addr &addr, PacketPtr)
 
virtual int functionalReadPriority ()
 Returns the priority used by functional reads when deciding from which controller to read a Maybe_Stale data block.
 
virtual void functionalRead (const Addr &addr, PacketPtr pkt, WriteMask &mask)
 
void functionalMemoryRead (PacketPtr)
 
virtual int functionalWrite (const Addr &addr, PacketPtr)=0
 
int functionalMemoryWrite (PacketPtr)
 
virtual void enqueuePrefetch (const Addr &, const RubyRequestType &)
 Function for enqueuing a prefetch request.
 
virtual void notifyCoalesced (const Addr &addr, const RubyRequestType &type, const RequestPtr &req, const DataBlock &data_blk, const bool &was_miss)
 Notifies controller of a request coalesced at the sequencer.
 
PortgetPort (const std::string &if_name, PortID idx=InvalidPortID)
 A function used to return the port associated with this bus object.
 
bool recvTimingResp (PacketPtr pkt)
 
Tick recvAtomic (PacketPtr pkt)
 
const AddrRangeListgetAddrRanges () const
 
MachineID getMachineID () const
 
RequestorID getRequestorId () const
 
statistics::HistogramgetDelayHist ()
 
statistics::HistogramgetDelayVCHist (uint32_t index)
 
bool respondsTo (Addr addr)
 
MachineID mapAddressToMachine (Addr addr, MachineType mtype) const
 Map an address to the correct MachineID.
 
MachineID mapAddressToDownstreamMachine (Addr addr, MachineType mtype=MachineType_NUM) const
 Maps an address to the correct dowstream MachineID (i.e.
 
const NetDestallDownstreamDest () const
 List of downstream destinations (towards memory)
 
const NetDestallUpstreamDest () const
 List of upstream destinations (towards the CPU)
 
Addr getOffset (Addr addr) const
 
Addr makeLineAddress (Addr addr) const
 
std::string printAddress (Addr addr) const
 
- Public Member Functions inherited from gem5::ClockedObject
 ClockedObject (const ClockedObjectParams &p)
 
void serialize (CheckpointOut &cp) const override
 Serialize an object.
 
void unserialize (CheckpointIn &cp) override
 Unserialize an object.
 
- Public Member Functions inherited from gem5::SimObject
const Paramsparams () const
 
 SimObject (const Params &p)
 
virtual ~SimObject ()
 
virtual void loadState (CheckpointIn &cp)
 loadState() is called on each SimObject when restoring from a checkpoint.
 
virtual void initState ()
 initState() is called on each SimObject when not restoring from a checkpoint.
 
virtual void regProbePoints ()
 Register probe points for this object.
 
virtual void regProbeListeners ()
 Register probe listeners for this object.
 
ProbeManagergetProbeManager ()
 Get the probe manager for this object.
 
virtual void startup ()
 startup() is the final initialization call before simulation.
 
DrainState drain () override
 Provide a default implementation of the drain interface for objects that don't need draining.
 
virtual void memWriteback ()
 Write back dirty buffers to memory using functional writes.
 
virtual void memInvalidate ()
 Invalidate the contents of memory buffers.
 
void serialize (CheckpointOut &cp) const override
 Serialize an object.
 
void unserialize (CheckpointIn &cp) override
 Unserialize an object.
 
- Public Member Functions inherited from gem5::EventManager
EventQueueeventQueue () const
 
void schedule (Event &event, Tick when)
 
void deschedule (Event &event)
 
void reschedule (Event &event, Tick when, bool always=false)
 
void schedule (Event *event, Tick when)
 
void deschedule (Event *event)
 
void reschedule (Event *event, Tick when, bool always=false)
 
void wakeupEventQueue (Tick when=(Tick) -1)
 This function is not needed by the usual gem5 event loop but may be necessary in derived EventQueues which host gem5 on other schedulers.
 
void setCurTick (Tick newVal)
 
 EventManager (EventManager &em)
 Event manger manages events in the event queue.
 
 EventManager (EventManager *em)
 
 EventManager (EventQueue *eq)
 
- Public Member Functions inherited from gem5::Serializable
 Serializable ()
 
virtual ~Serializable ()
 
void serializeSection (CheckpointOut &cp, const char *name) const
 Serialize an object into a new section.
 
void serializeSection (CheckpointOut &cp, const std::string &name) const
 
void unserializeSection (CheckpointIn &cp, const char *name)
 Unserialize an a child object.
 
void unserializeSection (CheckpointIn &cp, const std::string &name)
 
- Public Member Functions inherited from gem5::Drainable
DrainState drainState () const
 Return the current drain state of an object.
 
virtual void notifyFork ()
 Notify a child process of a fork.
 
- Public Member Functions inherited from gem5::statistics::Group
 Group (Group *parent, const char *name=nullptr)
 Construct a new statistics group.
 
virtual ~Group ()
 
virtual void preDumpStats ()
 Callback before stats are dumped.
 
void addStat (statistics::Info *info)
 Register a stat with this group.
 
const std::map< std::string, Group * > & getStatGroups () const
 Get all child groups associated with this object.
 
const std::vector< Info * > & getStats () const
 Get all stats associated with this object.
 
void addStatGroup (const char *name, Group *block)
 Add a stat block as a child of this block.
 
const InforesolveStat (std::string name) const
 Resolve a stat by its name within this group.
 
void mergeStatGroup (Group *block)
 Merge the contents (stats & children) of a block to this block.
 
 Group (const Group &)=delete
 
Groupoperator= (const Group &)=delete
 
- Public Member Functions inherited from gem5::Named
 Named (const std::string &name_)
 
virtual ~Named ()=default
 
virtual std::string name () const
 
- Public Member Functions inherited from gem5::Clocked
void updateClockPeriod ()
 Update the tick to the current tick.
 
Tick clockEdge (Cycles cycles=Cycles(0)) const
 Determine the tick when a cycle begins, by default the current one, but the argument also enables the caller to determine a future cycle.
 
Cycles curCycle () const
 Determine the current cycle, corresponding to a tick aligned to a clock edge.
 
Tick nextCycle () const
 Based on the clock of the object, determine the start tick of the first cycle that is at least one cycle in the future.
 
uint64_t frequency () const
 
Tick clockPeriod () const
 
double voltage () const
 
Cycles ticksToCycles (Tick t) const
 
Tick cyclesToTicks (Cycles c) const
 
- Public Member Functions inherited from gem5::ruby::Consumer
 Consumer (ClockedObject *em, Event::Priority ev_prio=Event::Default_Pri)
 
virtual ~Consumer ()
 
virtual void storeEventInfo (int info)
 
bool alreadyScheduled (Tick time)
 
ClockedObjectgetObject ()
 
void scheduleEventAbsolute (Tick timeAbs)
 
void scheduleEvent (Cycles timeDelta)
 

Public Attributes

const int cacheLineSize
 
const int cacheLineBits
 
const int dataChannelSize
 
const int dataMsgsPerLine
 
- Public Attributes inherited from gem5::ruby::AbstractController
gem5::ruby::AbstractController::ControllerStats stats
 
- Public Attributes inherited from gem5::ClockedObject
PowerStatepowerState
 

Protected Member Functions

virtual bool recvRequestMsg (const CHIRequestMsg *msg)=0
 
virtual bool recvSnoopMsg (const CHIRequestMsg *msg)=0
 
virtual bool recvResponseMsg (const CHIResponseMsg *msg)=0
 
virtual bool recvDataMsg (const CHIDataMsg *msg)=0
 
- Protected Member Functions inherited from gem5::ruby::AbstractController
void profileRequest (const std::string &request)
 Profiles original cache requests including PUTs.
 
void profileMsgDelay (uint32_t virtualNetwork, Cycles delay)
 Profiles the delay associated with messages.
 
template<typename EventType , typename StateType >
void incomingTransactionStart (Addr addr, EventType type, StateType initialState, bool retried, bool isAddressed=true)
 Profiles an event that initiates a protocol transactions for a specific line (e.g.
 
template<typename StateType >
void incomingTransactionEnd (Addr addr, StateType finalState, bool isAddressed=true)
 Profiles an event that ends a transaction.
 
template<typename EventType >
void outgoingTransactionStart (Addr addr, EventType type, bool isAddressed=true)
 Profiles an event that initiates a transaction in a peer controller (e.g.
 
void outgoingTransactionEnd (Addr addr, bool retried, bool isAddressed=true)
 Profiles the end of an outgoing transaction.
 
void stallBuffer (MessageBuffer *buf, Addr addr)
 
void wakeUpBuffer (MessageBuffer *buf, Addr addr)
 
void wakeUpBuffers (Addr addr)
 
void wakeUpAllBuffers (Addr addr)
 
void wakeUpAllBuffers ()
 
bool serviceMemoryQueue ()
 
virtual bool inCache (const Addr &addr, const bool &is_secure)
 Functions needed by CacheAccessor.
 
virtual bool hasBeenPrefetched (const Addr &addr, const bool &is_secure)
 
virtual bool hasBeenPrefetched (const Addr &addr, const bool &is_secure, const RequestorID &requestor)
 
virtual bool inMissQueue (const Addr &addr, const bool &is_secure)
 
virtual bool coalesce ()
 
NetDest broadcast (MachineType type)
 
int machineCount (MachineType machType)
 
- Protected Member Functions inherited from gem5::Drainable
 Drainable ()
 
virtual ~Drainable ()
 
virtual void drainResume ()
 Resume execution after a successful drain.
 
void signalDrainDone () const
 Signal that an object is drained.
 
- Protected Member Functions inherited from gem5::Clocked
 Clocked (ClockDomain &clk_domain)
 Create a clocked object and set the clock domain based on the parameters.
 
 Clocked (Clocked &)=delete
 
Clockedoperator= (Clocked &)=delete
 
virtual ~Clocked ()
 Virtual destructor due to inheritance.
 
void resetClock () const
 Reset the object's clock using the current global tick value.
 
virtual void clockPeriodUpdated ()
 A hook subclasses can implement so they can do any extra work that's needed when the clock rate is changed.
 

Protected Attributes

MessageBuffer *const reqOut
 
MessageBuffer *const snpOut
 
MessageBuffer *const rspOut
 
MessageBuffer *const datOut
 
MessageBuffer *const reqIn
 
MessageBuffer *const snpIn
 
MessageBuffer *const rspIn
 
MessageBuffer *const datIn
 
std::vector< RubyPort * > sequencers
 
- Protected Attributes inherited from gem5::ruby::AbstractController
std::unordered_map< Addr, TransMapPairm_inTransAddressed
 
std::unordered_map< Addr, TransMapPairm_outTransAddressed
 
std::unordered_map< Addr, TransMapPairm_inTransUnaddressed
 
std::unordered_map< Addr, TransMapPairm_outTransUnaddressed
 
const NodeID m_version
 
MachineID m_machineID
 
const NodeID m_clusterID
 
const RequestorID m_id
 
Networkm_net_ptr
 
bool m_is_blocking
 
std::map< Addr, MessageBuffer * > m_block_map
 
WaitingBufType m_waiting_buffers
 
unsigned int m_in_ports
 
unsigned int m_cur_in_port
 
const int m_number_of_TBEs
 
const int m_transitions_per_cycle
 
const unsigned int m_buffer_size
 
Cycles m_recycle_latency
 
const Cycles m_mandatory_queue_latency
 
bool m_waiting_mem_retry
 
bool m_mem_ctrl_waiting_retry
 
MemoryPort memoryPort
 
RubySystemm_ruby_system = nullptr
 
- Protected Attributes inherited from gem5::SimObject
const SimObjectParams & _params
 Cached copy of the object parameters.
 
- Protected Attributes inherited from gem5::EventManager
EventQueueeventq
 A pointer to this object's event queue.
 

Private Member Functions

template<typename MsgType >
bool receiveAllRdyMessages (MessageBuffer *buffer, const std::function< bool(const MsgType *)> &callback)
 
template<typename MessageType >
bool sendMessage (MessageType &msg, MessageBuffer *buffer)
 

Additional Inherited Members

- Static Public Member Functions inherited from gem5::SimObject
static void serializeAll (const std::string &cpt_dir)
 Create a checkpoint by serializing all SimObjects in the system.
 
static SimObjectfind (const char *name)
 Find the SimObject with the given name and return a pointer to it.
 
static void setSimObjectResolver (SimObjectResolver *resolver)
 There is a single object name resolver, and it is only set when simulation is restoring from checkpoints.
 
static SimObjectResolvergetSimObjectResolver ()
 There is a single object name resolver, and it is only set when simulation is restoring from checkpoints.
 
- Static Public Member Functions inherited from gem5::Serializable
static const std::string & currentSection ()
 Gets the fully-qualified name of the active section.
 
static void generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream)
 Generate a checkpoint file so that the serialization can be routed to it.
 
- Protected Types inherited from gem5::ruby::AbstractController
typedef std::vector< MessageBuffer * > MsgVecType
 
typedef std::set< MessageBuffer * > MsgBufType
 
typedef std::map< Addr, MsgVecType * > WaitingBufType
 

Detailed Description

Definition at line 64 of file CHIGenericController.hh.

Member Typedef Documentation

◆ CHIDataMsg

Definition at line 130 of file CHIGenericController.hh.

◆ CHIDataMsgPtr

Definition at line 133 of file CHIGenericController.hh.

◆ CHIRequestMsg

Definition at line 128 of file CHIGenericController.hh.

◆ CHIRequestMsgPtr

Definition at line 131 of file CHIGenericController.hh.

◆ CHIResponseMsg

Definition at line 129 of file CHIGenericController.hh.

◆ CHIResponseMsgPtr

Definition at line 132 of file CHIGenericController.hh.

Member Enumeration Documentation

◆ CHIChannel

Enumerator
CHI_REQ 
CHI_SNP 
CHI_RSP 
CHI_DAT 

Definition at line 120 of file CHIGenericController.hh.

Constructor & Destructor Documentation

◆ CHIGenericController()

gem5::ruby::CHIGenericController::CHIGenericController ( const Params p)

Member Function Documentation

◆ addSequencer()

void gem5::ruby::CHIGenericController::addSequencer ( RubyPort seq)

Definition at line 121 of file CHIGenericController.cc.

References sequencers.

◆ collateStats()

void gem5::ruby::CHIGenericController::collateStats ( )
overridevirtual

Function for collating statistics from all the controllers of this particular type.

This function should only be called from the version 0 of this controller type.

Reimplemented from gem5::ruby::AbstractController.

Definition at line 182 of file CHIGenericController.cc.

◆ functionalRead()

void gem5::ruby::CHIGenericController::functionalRead ( const Addr param_addr,
Packet param_pkt,
WriteMask param_mask 
)
override

Definition at line 234 of file CHIGenericController.cc.

References panic.

◆ functionalReadBuffers() [1/2]

bool gem5::ruby::CHIGenericController::functionalReadBuffers ( PacketPtr )
overridevirtual

These functions are used by ruby system to read/write the data blocks that exist with in the controller.

Implements gem5::ruby::AbstractController.

Definition at line 264 of file CHIGenericController.cc.

References datIn, datOut, gem5::ruby::MessageBuffer::functionalRead(), reqIn, reqOut, rspIn, rspOut, snpIn, and snpOut.

◆ functionalReadBuffers() [2/2]

bool gem5::ruby::CHIGenericController::functionalReadBuffers ( PacketPtr ,
WriteMask mask 
)
overridevirtual

Functional read that reads only blocks not present in the mask.

Return number of bytes read.

Implements gem5::ruby::AbstractController.

Definition at line 278 of file CHIGenericController.cc.

References datIn, datOut, gem5::ruby::MessageBuffer::functionalRead(), gem5::ArmISA::mask, reqIn, reqOut, rspIn, rspOut, snpIn, and snpOut.

◆ functionalWrite()

int gem5::ruby::CHIGenericController::functionalWrite ( const Addr param_addr,
Packet param_pkt 
)
override

Definition at line 241 of file CHIGenericController.cc.

References panic.

◆ functionalWriteBuffers()

int gem5::ruby::CHIGenericController::functionalWriteBuffers ( PacketPtr )
overridevirtual

The return value indicates the number of messages written with the data from the packet.

Implements gem5::ruby::AbstractController.

Definition at line 249 of file CHIGenericController.cc.

References datIn, datOut, gem5::ruby::MessageBuffer::functionalWrite(), reqIn, reqOut, rspIn, rspOut, snpIn, and snpOut.

◆ getAccessPermission()

AccessPermission gem5::ruby::CHIGenericController::getAccessPermission ( const Addr param_addr)
overridevirtual

Implements gem5::ruby::AbstractController.

Definition at line 228 of file CHIGenericController.cc.

◆ getCPUSequencer()

Sequencer * gem5::ruby::CHIGenericController::getCPUSequencer ( ) const
overridevirtual

Implements gem5::ruby::AbstractController.

Definition at line 134 of file CHIGenericController.cc.

◆ getDMASequencer()

DMASequencer * gem5::ruby::CHIGenericController::getDMASequencer ( ) const
overridevirtual

Implements gem5::ruby::AbstractController.

Definition at line 141 of file CHIGenericController.cc.

◆ getGPUCoalescer()

GPUCoalescer * gem5::ruby::CHIGenericController::getGPUCoalescer ( ) const
overridevirtual

Implements gem5::ruby::AbstractController.

Definition at line 148 of file CHIGenericController.cc.

◆ getMandatoryQueue()

MessageBuffer * gem5::ruby::CHIGenericController::getMandatoryQueue ( ) const
overridevirtual

Implements gem5::ruby::AbstractController.

Definition at line 155 of file CHIGenericController.cc.

◆ getMemReqQueue()

MessageBuffer * gem5::ruby::CHIGenericController::getMemReqQueue ( ) const
overridevirtual

Implements gem5::ruby::AbstractController.

Definition at line 162 of file CHIGenericController.cc.

◆ getMemRespQueue()

MessageBuffer * gem5::ruby::CHIGenericController::getMemRespQueue ( ) const
overridevirtual

Implements gem5::ruby::AbstractController.

Definition at line 169 of file CHIGenericController.cc.

◆ init()

void gem5::ruby::CHIGenericController::init ( )
overridevirtual

init() is called after all C++ SimObjects have been created and all ports are connected.

Initializations that are independent of unserialization but rely on a fully instantiated and connected SimObject graph should be done here.

Reimplemented from gem5::ruby::AbstractController.

Definition at line 108 of file CHIGenericController.cc.

References datIn, gem5::ruby::AbstractController::init(), reqIn, resetStats(), rspIn, gem5::ruby::MessageBuffer::setConsumer(), and snpIn.

◆ initNetQueues()

void gem5::ruby::CHIGenericController::initNetQueues ( )
overridevirtual

◆ PARAMS()

gem5::ruby::CHIGenericController::PARAMS ( CHIGenericController  )

◆ print()

void gem5::ruby::CHIGenericController::print ( std::ostream &  out) const
overridevirtual

◆ receiveAllRdyMessages()

template<typename MsgType >
bool gem5::ruby::CHIGenericController::receiveAllRdyMessages ( MessageBuffer buffer,
const std::function< bool(const MsgType *)> &  callback 
)
inlineprivate

◆ recordCacheTrace()

void gem5::ruby::CHIGenericController::recordCacheTrace ( int  cntrl,
CacheRecorder tr 
)
overridevirtual

Implements gem5::ruby::AbstractController.

Definition at line 222 of file CHIGenericController.cc.

References panic.

◆ recvDataMsg()

virtual bool gem5::ruby::CHIGenericController::recvDataMsg ( const CHIDataMsg msg)
protectedpure virtual

Implemented in gem5::tlm::chi::CacheController.

Referenced by wakeup().

◆ recvRequestMsg()

virtual bool gem5::ruby::CHIGenericController::recvRequestMsg ( const CHIRequestMsg msg)
protectedpure virtual

Implemented in gem5::tlm::chi::CacheController.

Referenced by wakeup().

◆ recvResponseMsg()

virtual bool gem5::ruby::CHIGenericController::recvResponseMsg ( const CHIResponseMsg msg)
protectedpure virtual

Implemented in gem5::tlm::chi::CacheController.

Referenced by wakeup().

◆ recvSnoopMsg()

virtual bool gem5::ruby::CHIGenericController::recvSnoopMsg ( const CHIRequestMsg msg)
protectedpure virtual

Implemented in gem5::tlm::chi::CacheController.

Referenced by wakeup().

◆ regStats()

void gem5::ruby::CHIGenericController::regStats ( )
overridevirtual

Callback to set stat parameters.

This callback is typically used for complex stats (e.g., distributions) that need parameters in addition to a name and a description. Stat names and descriptions should typically be set from the constructor usingo from the constructor using the ADD_STAT macro.

Reimplemented from gem5::ruby::AbstractController.

Definition at line 176 of file CHIGenericController.cc.

References gem5::ruby::AbstractController::regStats().

◆ resetStats()

void gem5::ruby::CHIGenericController::resetStats ( )
overridevirtual

Callback to reset stats.

Implements gem5::ruby::AbstractController.

Definition at line 188 of file CHIGenericController.cc.

References gem5::ruby::AbstractController::resetStats().

Referenced by init().

◆ sendDataMsg()

bool gem5::ruby::CHIGenericController::sendDataMsg ( CHIDataMsgPtr  msg)
inline

Definition at line 154 of file CHIGenericController.hh.

References datOut, and sendMessage().

◆ sendMessage()

template<typename MessageType >
bool gem5::ruby::CHIGenericController::sendMessage ( MessageType msg,
MessageBuffer buffer 
)
inlineprivate

◆ sendRequestMsg()

bool gem5::ruby::CHIGenericController::sendRequestMsg ( CHIRequestMsgPtr  msg)
inline

Definition at line 136 of file CHIGenericController.hh.

References reqOut, and sendMessage().

◆ sendResponseMsg()

bool gem5::ruby::CHIGenericController::sendResponseMsg ( CHIResponseMsgPtr  msg)
inline

Definition at line 148 of file CHIGenericController.hh.

References rspOut, and sendMessage().

◆ sendSnoopMsg()

bool gem5::ruby::CHIGenericController::sendSnoopMsg ( CHIRequestMsgPtr  msg)
inline

Definition at line 142 of file CHIGenericController.hh.

References sendMessage(), and snpOut.

◆ wakeup()

void gem5::ruby::CHIGenericController::wakeup ( )
overridevirtual

Member Data Documentation

◆ cacheLineBits

const int gem5::ruby::CHIGenericController::cacheLineBits

◆ cacheLineSize

const int gem5::ruby::CHIGenericController::cacheLineSize

◆ dataChannelSize

const int gem5::ruby::CHIGenericController::dataChannelSize

Definition at line 115 of file CHIGenericController.hh.

◆ dataMsgsPerLine

const int gem5::ruby::CHIGenericController::dataMsgsPerLine

Definition at line 116 of file CHIGenericController.hh.

◆ datIn

MessageBuffer* const gem5::ruby::CHIGenericController::datIn
protected

◆ datOut

MessageBuffer* const gem5::ruby::CHIGenericController::datOut
protected

◆ reqIn

MessageBuffer* const gem5::ruby::CHIGenericController::reqIn
protected

◆ reqOut

MessageBuffer* const gem5::ruby::CHIGenericController::reqOut
protected

◆ rspIn

MessageBuffer* const gem5::ruby::CHIGenericController::rspIn
protected

◆ rspOut

MessageBuffer* const gem5::ruby::CHIGenericController::rspOut
protected

◆ sequencers

std::vector<RubyPort*> gem5::ruby::CHIGenericController::sequencers
protected

Definition at line 110 of file CHIGenericController.hh.

Referenced by addSequencer().

◆ snpIn

MessageBuffer* const gem5::ruby::CHIGenericController::snpIn
protected

◆ snpOut

MessageBuffer* const gem5::ruby::CHIGenericController::snpOut
protected

The documentation for this class was generated from the following files:

Generated on Mon Jan 13 2025 04:29:12 for gem5 by doxygen 1.9.8