|
gem5 v23.0.0.1
|
#include <xbar.hh>
Public Member Functions | |
| ReqLayer (RequestPort &_port, BaseXBar &_xbar, const std::string &_name) | |
| Create a request layer and give it a name. | |
Public Member Functions inherited from gem5::BaseXBar::Layer< ResponsePort, RequestPort > | |
| Layer (RequestPort &_port, BaseXBar &_xbar, const std::string &_name) | |
| Create a layer and give it a name. | |
| DrainState | drain () override |
| Drain according to the normal semantics, so that the crossbar can tell the layer to drain, and pass an event to signal back when drained. | |
| const std::string | name () const |
| bool | tryTiming (ResponsePort *src_port) |
| Determine if the layer accepts a packet from a specific port. | |
| void | succeededTiming (Tick busy_time) |
| Deal with a destination port accepting a packet by potentially removing the source port from the retry list (if retrying) and occupying the layer accordingly. | |
| void | failedTiming (ResponsePort *src_port, Tick busy_time) |
| Deal with a destination port not accepting a packet by potentially adding the source port to the retry list (if not already at the front) and occupying the layer accordingly. | |
| void | occupyLayer (Tick until) |
| void | retryWaiting () |
| Send a retry to the port at the head of waitingForLayer. | |
| void | recvRetry () |
| Handle a retry from a neighbouring module. | |
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 | regStats () |
| Callback to set stat parameters. | |
| virtual void | resetStats () |
| Callback to reset stats. | |
| 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 Info * | resolveStat (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 | |
| Group & | operator= (const Group &)=delete |
Protected Member Functions | |
| void | sendRetry (ResponsePort *retry_port) override |
| Sending the actual retry, in a manner specific to the individual layers. | |
| virtual void | sendRetry (ResponsePort *retry_port)=0 |
| Sending the actual retry, in a manner specific to the individual layers. | |
Protected Member Functions inherited from gem5::Drainable | |
| Drainable () | |
| virtual | ~Drainable () |
| virtual DrainState | drain ()=0 |
| Draining is the process of clearing out the states of SimObjects.These are the SimObjects that are partially executed or are partially in flight. | |
| virtual void | drainResume () |
| Resume execution after a successful drain. | |
| void | signalDrainDone () const |
| Signal that an object is drained. | |
|
inline |
|
inlineoverrideprotectedvirtual |
Sending the actual retry, in a manner specific to the individual layers.
Note that for a RequestPort, there is both a RequestLayer and a SnoopResponseLayer using the same port, but using different functions for the flow control.
Implements gem5::BaseXBar::Layer< ResponsePort, RequestPort >.
Definition at line 254 of file xbar.hh.
References gem5::ResponsePort::sendRetryReq().