|
gem5 v23.0.0.1
|
#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. | |
| virtual void | bind (Port &peer) |
| Attach to a peer port. | |
| virtual void | unbind () |
| Dettach from a peer port. | |
| 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 | |
| void | set (const State &new_state) |
Protected Member Functions inherited from gem5::Port | |
| void | reportUnbound () const |
| Port (const std::string &_name, PortID _id) | |
| Abstract base class for ports. | |
Private Attributes | |
| friend | SignalSourcePort< State > |
| SignalSourcePort< State > * | _source = nullptr |
| State | _state = {} |
| OnChangeFunc | _onChange |
Additional Inherited Members | |
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. | |
| using gem5::SignalSinkPort< State >::OnChangeFunc = std::function<void(const State &new_val)> |
|
inline |
|
inlineoverridevirtual |
Attach to a peer port.
Reimplemented from gem5::Port.
Definition at line 77 of file signal.hh.
References gem5::SignalSinkPort< State >::_source, gem5::Port::bind(), fatal_if, and gem5::Port::name().
|
inline |
Definition at line 74 of file signal.hh.
References gem5::SignalSinkPort< State >::_onChange.
Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76(), and gem5::fastmodel::ScxEvsCortexR52< Types >::ScxEvsCortexR52().
|
inlineprotected |
Definition at line 58 of file signal.hh.
References gem5::SignalSinkPort< State >::_onChange, and gem5::SignalSinkPort< State >::_state.
|
inline |
Definition at line 73 of file signal.hh.
References gem5::SignalSinkPort< State >::_state.
Referenced by gem5::BaseCPU::activateContext().
|
inlineoverridevirtual |
Dettach from a peer port.
Reimplemented from gem5::Port.
Definition at line 85 of file signal.hh.
References gem5::SignalSinkPort< State >::_source, and gem5::Port::unbind().
|
private |
Definition at line 54 of file signal.hh.
Referenced by gem5::SignalSinkPort< State >::onChange(), and gem5::SignalSinkPort< State >::set().
|
private |
Definition at line 51 of file signal.hh.
Referenced by gem5::SignalSinkPort< State >::bind(), and gem5::SignalSinkPort< State >::unbind().
|
private |
Definition at line 53 of file signal.hh.
Referenced by gem5::SignalSinkPort< State >::set(), and gem5::SignalSinkPort< State >::state().
|
private |