|
gem5 [DEVELOP-FOR-25.0]
|
#include <signal.hh>
Public Types | |
| using | OnChangeFunc = std::function<void(const State &new_val)> |
Public Member Functions | |
| SignalSinkPort (const std::string &_name, PortID _id=InvalidPortID) | |
| const State & | state () const |
| void | onChange (OnChangeFunc func) |
| void | bind (Port &peer) override |
| Attach to a peer port. | |
| void | unbind () override |
| Dettach from a peer port. | |
Public Member Functions inherited from gem5::Port | |
| virtual | ~Port () |
| Virtual destructor due to inheritance. | |
| Port & | getPeer () |
| Return a reference to this port's peer. | |
| const std::string | name () const |
| Return port name (for DPRINTF). | |
| PortID | getId () const |
| Get the port id. | |
| bool | isConnected () const |
| Is this port currently connected to a peer? | |
| void | takeOverFrom (Port *old) |
| A utility function to make it easier to swap out ports. | |
Protected Member Functions | |
| virtual void | set (const State &new_state, const bool bypass_on_change=false) |
Protected Member Functions inherited from gem5::Port | |
| void | reportUnbound () const |
| Port (const std::string &_name, PortID _id) | |
| Abstract base class for ports. | |
Protected Attributes | |
| OnChangeFunc | _onChange |
Protected Attributes inherited from gem5::Port | |
| const PortID | id |
| A numeric identifier to distinguish ports in a vector, and set to InvalidPortID in case this port is not part of a vector. | |
| Port * | _peer |
| A pointer to this port's peer. | |
| bool | _connected |
| Whether this port is currently connected to a peer port. | |
Private Attributes | |
| friend | SignalSourcePort< State > |
| SignalSourcePort< State > * | _source = nullptr |
| State | _state = {} |
| using gem5::SignalSinkPort< State >::OnChangeFunc = std::function<void(const State &new_val)> |
|
inline |
Definition at line 72 of file signal.hh.
References gem5::InvalidPortID, and gem5::Port::Port().
|
inlineoverridevirtual |
Attach to a peer port.
Reimplemented from gem5::Port.
Definition at line 80 of file signal.hh.
References _source, _state, gem5::Port::bind(), fatal_if, gem5::Port::name(), and gem5::Port::Port().
|
inline |
|
inlineprotectedvirtual |
|
inline |
|
inlineoverridevirtual |
Dettach from a peer port.
Reimplemented from gem5::Port.
Definition at line 90 of file signal.hh.
References _source, and gem5::Port::unbind().
|
protected |
Definition at line 69 of file signal.hh.
Referenced by onChange(), and set().
|
private |
|
private |
|
private |