gem5 v24.1.0.1
|
#include <target_socket.hh>
Public Types | |
typedef FW_IF | fw_interface_type |
typedef BW_IF | bw_interface_type |
typedef sc_core::sc_port< bw_interface_type, N, POL > | port_type |
typedef sc_core::sc_export< fw_interface_type > | export_type |
typedef tlm_base_initiator_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type > | base_initiator_socket_type |
typedef tlm_base_target_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type > | base_type |
Public Member Functions | |
tlm_base_target_socket () | |
tlm_base_target_socket (const char *name) | |
virtual const char * | kind () const |
virtual void | bind (base_initiator_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_initiator_socket_type &s) |
virtual void | bind (base_type &s) |
void | operator() (base_type &s) |
virtual void | bind (fw_interface_type &ifs) |
void | operator() (fw_interface_type &s) |
int | size () const |
bw_interface_type * | operator-> () |
bw_interface_type * | operator[] (int i) |
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< BW_IF > & | get_base_port () |
virtual sc_core::sc_port_b< BW_IF > const & | get_base_port () const |
virtual FW_IF & | get_base_interface () |
virtual FW_IF const & | get_base_interface () const |
virtual sc_core::sc_export< FW_IF > & | get_base_export () |
virtual sc_core::sc_export< FW_IF > const & | get_base_export () const |
![]() | |
virtual std::type_index | get_protocol_types () const =0 |
![]() | |
virtual | ~tlm_base_target_socket_b () |
![]() | |
sc_export () | |
sc_export (const char *n) | |
virtual | ~sc_export () |
void | operator() (IF &i) |
The following warning is disabled because the bind methods are overloaded in the derived class and the base class. | |
virtual void | bind (IF &i) |
operator IF & () | |
operator const IF & () const | |
IF * | operator-> () |
const IF * | operator-> () const |
sc_interface * | get_iterface () override |
const sc_interface * | get_interface () const override |
![]() | |
sc_export_base (const char *n) | |
~sc_export_base () | |
![]() | |
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 | |
port_type | m_port |
Friends | |
template<unsigned int , typename , typename , int , sc_core::sc_port_policy > | |
class | tlm_base_initiator_socket |
Additional Inherited Members | |
![]() | |
virtual | ~tlm_base_socket_if () |
![]() | |
void | before_end_of_elaboration () override |
void | end_of_elaboration () override |
void | start_of_simulation () override |
void | end_of_simulation () override |
![]() | |
sc_object () | |
sc_object (const char *) | |
sc_object (const sc_object &) | |
sc_object & | operator= (const sc_object &) |
virtual | ~sc_object () |
Definition at line 53 of file target_socket.hh.
typedef tlm_base_initiator_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type> tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::base_initiator_socket_type |
Definition at line 66 of file target_socket.hh.
typedef tlm_base_target_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type> tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::base_type |
Definition at line 69 of file target_socket.hh.
typedef BW_IF tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bw_interface_type |
Definition at line 60 of file target_socket.hh.
typedef sc_core::sc_export<fw_interface_type> tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::export_type |
Definition at line 63 of file target_socket.hh.
typedef FW_IF tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::fw_interface_type |
Definition at line 59 of file target_socket.hh.
typedef sc_core::sc_port<bw_interface_type, N, POL> tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::port_type |
Definition at line 61 of file target_socket.hh.
|
inline |
Definition at line 75 of file target_socket.hh.
|
inlineexplicit |
Definition at line 80 of file target_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.
Definition at line 107 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::get_base_interface(), and tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::get_base_port().
Referenced by tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::operator()(), tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::operator()(), tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::operator()(), tlm_utils::passthrough_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::passthrough_target_socket_b(), tlm_utils::passthrough_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::passthrough_target_socket_tagged_b(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::simple_target_socket_b(), and tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::simple_target_socket_tagged_b().
|
inlinevirtual |
Definition at line 122 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::get_base_export(), and tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::get_base_port().
|
inlinevirtual |
Definition at line 137 of file target_socket.hh.
References sc_core::sc_export< IF >::bind(), and tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::get_base_export().
|
inlinevirtual |
Implements tlm::tlm_base_target_socket_b< BUSWIDTH, FW_IF, BW_IF >.
Reimplemented in tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >, tlm_utils::multi_passthrough_target_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >, and tlm_utils::multi_passthrough_target_socket< MultiSocketSimpleSwitchAT >.
Definition at line 196 of file target_socket.hh.
Referenced by tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bind(), and tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bind().
|
inlinevirtual |
Reimplemented in tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >, tlm_utils::multi_passthrough_target_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >, and tlm_utils::multi_passthrough_target_socket< MultiSocketSimpleSwitchAT >.
Definition at line 198 of file target_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_target_socket_b< BUSWIDTH, FW_IF, BW_IF >.
Reimplemented in tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >, tlm_utils::multi_passthrough_target_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >, and tlm_utils::multi_passthrough_target_socket< MultiSocketSimpleSwitchAT >.
Definition at line 193 of file target_socket.hh.
Referenced by tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bind().
|
inlinevirtual |
Reimplemented in tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >, tlm_utils::multi_passthrough_target_socket< MODULE, 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ZERO_OR_MORE_BOUND >, and tlm_utils::multi_passthrough_target_socket< MultiSocketSimpleSwitchAT >.
Definition at line 194 of file target_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_target_socket_b< BUSWIDTH, FW_IF, BW_IF >.
Definition at line 186 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::m_port.
Referenced by tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bind(), and tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bind().
|
inlinevirtual |
Definition at line 188 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::m_port.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Definition at line 178 of file target_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Definition at line 172 of file target_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Definition at line 174 of file target_socket.hh.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Definition at line 166 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::m_port.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Definition at line 168 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::m_port.
|
inlinevirtual |
Implements tlm::tlm_base_socket_if.
Reimplemented in tlm_utils::multi_target_base< BUSWIDTH, TYPES, N, POL >, tlm_utils::multi_target_base< 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ONE_OR_MORE_BOUND >, and tlm_utils::multi_target_base< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL >.
Definition at line 180 of file target_socket.hh.
References tlm::TLM_TARGET_SOCKET.
|
inlinevirtual |
Reimplemented from sc_core::sc_export< IF >.
Reimplemented in tlm::tlm_target_socket< BUSWIDTH, TYPES, N, POL >, tlm::tlm_target_socket< 32 >, tlm::tlm_target_socket< 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_target_socket< BUSWIDTH, my_extended_payload_types, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_target_socket< BUSWIDTH, tlm::tlm_base_protocol_types, 1, POL >, tlm::tlm_target_socket< BUSWIDTH, tlm::tlm_base_protocol_types, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_target_socket< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL >, tlm::tlm_target_socket< BUSWIDTH, TYPES, 1, sc_core::SC_ONE_OR_MORE_BOUND >, gem5::ClockRateControlTargetSocket, and gem5::SignalInterruptTargetSocket.
Definition at line 85 of file target_socket.hh.
|
inline |
Definition at line 115 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bind().
|
inline |
Definition at line 130 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bind().
|
inline |
Definition at line 147 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bind().
|
inline |
Definition at line 158 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::m_port.
|
inline |
Definition at line 163 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::m_port.
|
inline |
Definition at line 153 of file target_socket.hh.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::m_port, and sc_core::sc_port_base::size().
|
friend |
Definition at line 72 of file target_socket.hh.
|
protected |
Definition at line 204 of file target_socket.hh.
Referenced by tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::get_base_port(), tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::get_base_port(), tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::get_port_base(), tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::get_port_base(), tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::operator->(), tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::operator[](), and tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::size().