|
gem5 [DEVELOP-FOR-25.0]
|
#include <initiator_socket.hh>
Public Types | |
| typedef FW_IF | fw_interface_type |
| typedef BW_IF | bw_interface_type |
| typedef sc_core::sc_port< fw_interface_type, N, POL > | port_type |
| typedef sc_core::sc_export< bw_interface_type > | export_type |
| typedef tlm_base_target_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type > | base_target_socket_type |
| typedef tlm_base_initiator_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type > | base_type |
Public Member Functions | |
| tlm_base_initiator_socket () | |
| tlm_base_initiator_socket (const char *name) | |
| virtual const char * | kind () const |
| virtual void | bind (base_target_socket_type &s) |
| The following warning is disabled because the bind methods are overloaded in the derived class and the base class. | |
| void | operator() (base_target_socket_type &s) |
| virtual void | bind (base_type &s) |
| void | operator() (base_type &s) |
| virtual void | bind (bw_interface_type &ifs) |
| void | operator() (bw_interface_type &s) |
| virtual sc_core::sc_port_base & | get_port_base () |
| virtual sc_core::sc_port_base const & | get_port_base () const |
| virtual sc_core::sc_export_base & | get_export_base () |
| virtual sc_core::sc_export_base const & | get_export_base () const |
| virtual unsigned int | get_bus_width () const |
| virtual tlm_socket_category | get_socket_category () const |
| virtual sc_core::sc_port_b< FW_IF > & | get_base_port () |
| virtual sc_core::sc_port_b< FW_IF > const & | get_base_port () const |
| virtual BW_IF & | get_base_interface () |
| virtual BW_IF const & | get_base_interface () const |
| virtual sc_core::sc_export< BW_IF > & | get_base_export () |
| virtual sc_core::sc_export< BW_IF > const & | get_base_export () const |
Public Member Functions inherited from tlm::tlm_base_socket_if | |
| virtual std::type_index | get_protocol_types () const =0 |
Public Member Functions inherited from tlm::tlm_base_initiator_socket_b< 32, tlm_fw_transport_if<>, tlm_bw_transport_if<> > | |
| virtual | ~tlm_base_initiator_socket_b () |
Public Member Functions inherited from sc_core::sc_port< tlm_fw_transport_if<>, 1, sc_core::SC_ONE_OR_MORE_BOUND > | |
| sc_port () | |
| sc_port (const char *name) | |
| sc_port (const tlm_fw_transport_if<> &interface) | |
| sc_port (const char *name, const tlm_fw_transport_if<> &interface) | |
| sc_port (sc_port_b< tlm_fw_transport_if<> > &parent) | |
| sc_port (const char *name, sc_port_b< tlm_fw_transport_if<> > &parent) | |
| sc_port (sc_port< tlm_fw_transport_if<>, N, P > &parent) | |
| sc_port (const char *name, sc_port< tlm_fw_transport_if<>, N, P > &parent) | |
| virtual | ~sc_port () |
| sc_port () | |
| sc_port (const char *name) | |
| sc_port (const tlm_fw_transport_if<> &interface) | |
| sc_port (const char *name, const tlm_fw_transport_if<> &interface) | |
| sc_port (sc_port_b< tlm_fw_transport_if<> > &parent) | |
| sc_port (const char *name, sc_port_b< tlm_fw_transport_if<> > &parent) | |
| sc_port (sc_port< tlm_fw_transport_if<>, N, P > &parent) | |
| sc_port (const char *name, sc_port< tlm_fw_transport_if<>, N, P > &parent) | |
| virtual | ~sc_port () |
| sc_port () | |
| sc_port (const char *name) | |
| sc_port (const tlm_fw_transport_if<> &interface) | |
| sc_port (const char *name, const tlm_fw_transport_if<> &interface) | |
| sc_port (sc_port_b< tlm_fw_transport_if<> > &parent) | |
| sc_port (const char *name, sc_port_b< tlm_fw_transport_if<> > &parent) | |
| sc_port (sc_port< tlm_fw_transport_if<>, N, P > &parent) | |
| sc_port (const char *name, sc_port< tlm_fw_transport_if<>, N, P > &parent) | |
| virtual | ~sc_port () |
Public Member Functions inherited from sc_core::sc_port_b< tlm_fw_transport_if<> > | |
| void | operator() (tlm_fw_transport_if<> &i) |
| The following warning is disabled because the bind methods are overloaded in the derived class and the base class. | |
| void | operator() (sc_port_b< tlm_fw_transport_if<> > &p) |
| virtual void | bind (tlm_fw_transport_if<> &i) |
| virtual void | bind (sc_port_b< tlm_fw_transport_if<> > &p) |
| tlm_fw_transport_if<> * | operator-> () |
| const tlm_fw_transport_if<> * | operator-> () const |
| tlm_fw_transport_if<> * | operator[] (int n) |
| const tlm_fw_transport_if<> * | operator[] (int n) const |
| sc_interface * | get_interface () |
| const sc_interface * | get_interface () const |
| void | operator() (tlm_fw_transport_if<> &i) |
| The following warning is disabled because the bind methods are overloaded in the derived class and the base class. | |
| void | operator() (sc_port_b< tlm_fw_transport_if<> > &p) |
| virtual void | bind (tlm_fw_transport_if<> &i) |
| virtual void | bind (sc_port_b< tlm_fw_transport_if<> > &p) |
| tlm_fw_transport_if<> * | operator-> () |
| const tlm_fw_transport_if<> * | operator-> () const |
| tlm_fw_transport_if<> * | operator[] (int n) |
| const tlm_fw_transport_if<> * | operator[] (int n) const |
| sc_interface * | get_interface () |
| const sc_interface * | get_interface () const |
| void | operator() (tlm_fw_transport_if<> &i) |
| The following warning is disabled because the bind methods are overloaded in the derived class and the base class. | |
| void | operator() (sc_port_b< tlm_fw_transport_if<> > &p) |
| virtual void | bind (tlm_fw_transport_if<> &i) |
| virtual void | bind (sc_port_b< tlm_fw_transport_if<> > &p) |
| tlm_fw_transport_if<> * | operator-> () |
| const tlm_fw_transport_if<> * | operator-> () const |
| tlm_fw_transport_if<> * | operator[] (int n) |
| const tlm_fw_transport_if<> * | operator[] (int n) const |
| sc_interface * | get_interface () |
| const sc_interface * | get_interface () const |
Public Member Functions inherited from sc_core::sc_port_base | |
| sc_port_base (const char *name, int n, sc_port_policy p) | |
| virtual | ~sc_port_base () |
| void | warn_port_constructor () const |
| int | maxSize () const |
| int | size () const |
Public Member Functions inherited from sc_core::sc_object | |
| const char * | name () const |
| const char * | basename () const |
| virtual void | print (std::ostream &=std::cout) const |
| virtual void | dump (std::ostream &=std::cout) const |
| virtual const std::vector< sc_object * > & | get_child_objects () const |
| virtual const std::vector< sc_event * > & | get_child_events () const |
| sc_object * | get_parent_object () const |
| bool | add_attribute (sc_attr_base &) |
| sc_attr_base * | get_attribute (const std::string &) |
| sc_attr_base * | remove_attribute (const std::string &) |
| void | remove_all_attributes () |
| int | num_attributes () const |
| sc_attr_cltn & | attr_cltn () |
| const sc_attr_cltn & | attr_cltn () const |
| sc_simcontext * | simcontext () const |
Protected Attributes | |
| export_type | m_export |
Friends | |
| template<unsigned int, typename, typename, int, sc_core::sc_port_policy> | |
| class | tlm_base_target_socket |
Additional Inherited Members | |
Protected Member Functions inherited from tlm::tlm_base_socket_if | |
| virtual | ~tlm_base_socket_if () |
Protected Member Functions inherited from sc_core::sc_port_b< tlm_fw_transport_if<> > | |
| void | before_end_of_elaboration () override |
| void | end_of_elaboration () override |
| void | start_of_simulation () override |
| void | end_of_simulation () override |
| sc_port_b (int n, sc_port_policy p) | |
| sc_port_b (const char *name, int n, sc_port_policy p) | |
| virtual | ~sc_port_b () |
| int | vbind (sc_interface &i) override |
| int | vbind (sc_port_base &pb) override |
| void | before_end_of_elaboration () override |
| void | end_of_elaboration () override |
| void | start_of_simulation () override |
| void | end_of_simulation () override |
| sc_port_b (int n, sc_port_policy p) | |
| sc_port_b (const char *name, int n, sc_port_policy p) | |
| virtual | ~sc_port_b () |
| int | vbind (sc_interface &i) override |
| int | vbind (sc_port_base &pb) override |
| void | before_end_of_elaboration () override |
| void | end_of_elaboration () override |
| void | start_of_simulation () override |
| void | end_of_simulation () override |
| sc_port_b (int n, sc_port_policy p) | |
| sc_port_b (const char *name, int n, sc_port_policy p) | |
| virtual | ~sc_port_b () |
| int | vbind (sc_interface &i) override |
| int | vbind (sc_port_base &pb) override |
Protected Member Functions inherited from sc_core::sc_port_base | |
| void | bind (sc_interface &) |
| void | bind (sc_port_base &) |
| void | report_error (const char *id, const char *add_msg) const |
Protected Member Functions inherited from sc_core::sc_object | |
| sc_object () | |
| sc_object (const char *) | |
| sc_object (const sc_object &) | |
| sc_object & | operator= (const sc_object &) |
| virtual | ~sc_object () |
Definition at line 57 of file initiator_socket.hh.
| typedef tlm_base_target_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type> tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::base_target_socket_type |
Definition at line 71 of file initiator_socket.hh.
| typedef tlm_base_initiator_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type> tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::base_type |
Definition at line 73 of file initiator_socket.hh.
| typedef BW_IF tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bw_interface_type |
Definition at line 64 of file initiator_socket.hh.
| typedef sc_core::sc_export<bw_interface_type> tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::export_type |
Definition at line 67 of file initiator_socket.hh.
| typedef FW_IF tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::fw_interface_type |
Definition at line 63 of file initiator_socket.hh.
| typedef sc_core::sc_port<fw_interface_type, N, POL> tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::port_type |
Definition at line 65 of file initiator_socket.hh.
|
inline |
Definition at line 79 of file initiator_socket.hh.
|
inlineexplicit |
Definition at line 85 of file initiator_socket.hh.
|
inlinevirtual |
The following warning is disabled because the bind methods are overloaded in the derived class and the base class.
In GCC v13+ this 'overloaded-virtual' warning is strict enough to trigger here (though the code is correct). Please check section 9.3 of SystemC 2.3.1 release note for more details.
Reimplemented in gem5::ClockRateControlInitiatorSocket, gem5::SignalInterruptInitiatorSocket, tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >, tlm_utils::multi_passthrough_initiator_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MultiSocketSimpleSwitchAT >, and tlm_utils::multi_passthrough_initiator_socket< MultiSocketSimpleSwitchAT >.
Definition at line 112 of file initiator_socket.hh.
Referenced by sc_gem5::TlmInitiatorBaseWrapper< 64, svp_gicv3_comms::gicv3_comms_fw_if, svp_gicv3_comms::gicv3_comms_bw_if, 1, sc_core::SC_ONE_OR_MORE_BOUND >::bind(), tlm::tlm_base_initiator_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >::operator()(), tlm::tlm_base_initiator_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >::operator()(), and tlm::tlm_base_initiator_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >::operator()().
|
inlinevirtual |
Reimplemented in gem5::ClockRateControlInitiatorSocket, and gem5::SignalInterruptInitiatorSocket.
Definition at line 127 of file initiator_socket.hh.
|
inlinevirtual |
Reimplemented in gem5::ClockRateControlInitiatorSocket, and gem5::SignalInterruptInitiatorSocket.
Definition at line 141 of file initiator_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_initiator_socket_b< 32, tlm_fw_transport_if<>, tlm_bw_transport_if<> >.
Reimplemented in tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >, tlm_utils::multi_passthrough_initiator_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MultiSocketSimpleSwitchAT >, and tlm_utils::multi_passthrough_initiator_socket< MultiSocketSimpleSwitchAT >.
Definition at line 176 of file initiator_socket.hh.
Referenced by tlm::tlm_base_initiator_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >::bind(), and tlm::tlm_base_initiator_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >::bind().
|
inlinevirtual |
Implements tlm::tlm_base_initiator_socket_b< 32, tlm_fw_transport_if<>, tlm_bw_transport_if<> >.
Reimplemented in tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >, tlm_utils::multi_passthrough_initiator_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MultiSocketSimpleSwitchAT >, and tlm_utils::multi_passthrough_initiator_socket< MultiSocketSimpleSwitchAT >.
Definition at line 178 of file initiator_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_initiator_socket_b< 32, tlm_fw_transport_if<>, tlm_bw_transport_if<> >.
Reimplemented in tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >, tlm_utils::multi_passthrough_initiator_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MultiSocketSimpleSwitchAT >, and tlm_utils::multi_passthrough_initiator_socket< MultiSocketSimpleSwitchAT >.
Definition at line 173 of file initiator_socket.hh.
Referenced by tlm::tlm_base_initiator_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >::bind().
|
inlinevirtual |
Implements tlm::tlm_base_initiator_socket_b< 32, tlm_fw_transport_if<>, tlm_bw_transport_if<> >.
Reimplemented in tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >, tlm_utils::multi_passthrough_initiator_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::multi_passthrough_initiator_socket< MultiSocketSimpleSwitchAT >, and tlm_utils::multi_passthrough_initiator_socket< MultiSocketSimpleSwitchAT >.
Definition at line 174 of file initiator_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_initiator_socket_b< 32, tlm_fw_transport_if<>, tlm_bw_transport_if<> >.
Definition at line 166 of file initiator_socket.hh.
Referenced by tlm::tlm_base_initiator_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >::bind(), and tlm::tlm_base_initiator_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >::bind().
|
inlinevirtual |
Implements tlm::tlm_base_initiator_socket_b< 32, tlm_fw_transport_if<>, tlm_bw_transport_if<> >.
Definition at line 168 of file initiator_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Definition at line 158 of file initiator_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Definition at line 152 of file initiator_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Definition at line 154 of file initiator_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Definition at line 146 of file initiator_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Definition at line 148 of file initiator_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Reimplemented in tlm_utils::multi_init_base< BUSWIDTH, TYPES, N, POL >, tlm_utils::multi_init_base< 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ONE_OR_MORE_BOUND >, tlm_utils::multi_init_base< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL >, tlm_utils::multi_init_base< BUSWIDTH, TYPES, N, POL >, and tlm_utils::multi_init_base< BUSWIDTH, TYPES, N, POL >.
Definition at line 160 of file initiator_socket.hh.
|
inlinevirtual |
Reimplemented from sc_core::sc_port< tlm_fw_transport_if<>, 1, sc_core::SC_ONE_OR_MORE_BOUND >.
Reimplemented in gem5::ClockRateControlInitiatorSocket, gem5::SignalInterruptInitiatorSocket, tlm::tlm_initiator_socket< BUSWIDTH, TYPES, N, POL >, tlm::tlm_initiator_socket< 32 >, tlm::tlm_initiator_socket< 32 >, tlm::tlm_initiator_socket< 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_initiator_socket< BUSWIDTH, my_extended_payload_types, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_initiator_socket< BUSWIDTH, tlm::tlm_base_protocol_types, 1, POL >, tlm::tlm_initiator_socket< BUSWIDTH, tlm::tlm_base_protocol_types, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_initiator_socket< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL >, tlm::tlm_initiator_socket< BUSWIDTH, TYPES, 1, POL >, tlm::tlm_initiator_socket< BUSWIDTH, TYPES, 1, POL >, tlm::tlm_initiator_socket< BUSWIDTH, TYPES, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_initiator_socket< BUSWIDTH, TYPES, N, POL >, and tlm::tlm_initiator_socket< BUSWIDTH, TYPES, N, POL >.
Definition at line 90 of file initiator_socket.hh.
|
inline |
Definition at line 120 of file initiator_socket.hh.
|
inline |
Definition at line 135 of file initiator_socket.hh.
|
inline |
Definition at line 142 of file initiator_socket.hh.
|
friend |
Definition at line 76 of file initiator_socket.hh.
|
protected |
Definition at line 184 of file initiator_socket.hh.