gem5
[DEVELOP-FOR-23.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. More... | |
void | unbind () override |
Dettach from a peer port. More... | |
![]() | |
virtual | ~Port () |
Virtual destructor due to inheritance. More... | |
Port & | getPeer () |
Return a reference to this port's peer. More... | |
const std::string | name () const |
Return port name (for DPRINTF). More... | |
PortID | getId () const |
Get the port id. More... | |
bool | isConnected () const |
Is this port currently connected to a peer? More... | |
void | takeOverFrom (Port *old) |
A utility function to make it easier to swap out ports. More... | |
Protected Member Functions | |
void | set (const State &new_state) |
![]() | |
void | reportUnbound () const |
Port (const std::string &_name, PortID _id) | |
Abstract base class for ports. More... | |
Private Attributes | |
friend | SignalSourcePort< State > |
SignalSourcePort< State > * | _source = nullptr |
State | _state = {} |
OnChangeFunc | _onChange |
Additional Inherited Members | |
![]() | |
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. More... | |
Port * | _peer |
A pointer to this port's peer. More... | |
bool | _connected |
Whether this port is currently connected to a peer port. More... | |
using gem5::SignalSinkPort< State >::OnChangeFunc = std::function<void(const State &new_val)> |
|
inline |
|
inlineoverridevirtual |
|
inline |
Definition at line 74 of file signal.hh.
Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76(), and gem5::fastmodel::ScxEvsCortexR52< Types >::ScxEvsCortexR52().
|
inlineprotected |
|
inline |
Definition at line 73 of file signal.hh.
Referenced by gem5::BaseCPU::activateContext().
|
inlineoverridevirtual |
|
private |
Definition at line 54 of file signal.hh.
Referenced by gem5::SignalSinkPort< bool >::onChange(), and gem5::SignalSinkPort< bool >::set().
|
private |
Definition at line 51 of file signal.hh.
Referenced by gem5::SignalSinkPort< bool >::bind(), and gem5::SignalSinkPort< bool >::unbind().
|
private |
Definition at line 53 of file signal.hh.
Referenced by gem5::SignalSinkPort< bool >::set(), and gem5::SignalSinkPort< bool >::state().
|
private |