|
gem5
|
#include <xbar.hh>
Public Member Functions | |
| SnoopRespLayer (MasterPort &_port, BaseXBar &_xbar, const std::string &_name) | |
| Create a snoop response layer and give it a name. More... | |
Public Member Functions inherited from BaseXBar::Layer< SlavePort, MasterPort > | |
| Layer (MasterPort &_port, BaseXBar &_xbar, const std::string &_name) | |
| Create a layer and give it a name. More... | |
| 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. More... | |
| const std::string | name () const |
| Get the crossbar layer's name. More... | |
| bool | tryTiming (SlavePort *src_port) |
| Determine if the layer accepts a packet from a specific port. More... | |
| 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. More... | |
| void | failedTiming (SlavePort *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. More... | |
| void | occupyLayer (Tick until) |
| Occupy the layer until until. More... | |
| void | retryWaiting () |
| Send a retry to the port at the head of waitingForLayer. More... | |
| void | recvRetry () |
| Handle a retry from a neighbouring module. More... | |
| void | regStats () |
| Register stats for the layer. More... | |
Public Member Functions inherited from Drainable | |
| DrainState | drainState () const |
| Return the current drain state of an object. More... | |
| virtual void | notifyFork () |
| Notify a child process of a fork. More... | |
Protected Member Functions | |
| void | sendRetry (SlavePort *retry_port) |
| Sending the actual retry, in a manner specific to the individual layers. More... | |
Protected Member Functions inherited from Drainable | |
| Drainable () | |
| virtual | ~Drainable () |
| virtual void | drainResume () |
| Resume execution after a successful drain. More... | |
| void | signalDrainDone () const |
| Signal that an object is drained. More... | |
|
inline |
|
inlineprotectedvirtual |
Sending the actual retry, in a manner specific to the individual layers.
Note that for a MasterPort, there is both a RequestLayer and a SnoopResponseLayer using the same port, but using different functions for the flow control.
Implements BaseXBar::Layer< SlavePort, MasterPort >.
Definition at line 306 of file xbar.hh.
References SlavePort::sendRetrySnoopResp().