gem5 v24.1.0.1
|
#include <sc_export.hh>
Public Member Functions | |
sc_export () | |
sc_export (const char *n) | |
virtual | ~sc_export () |
virtual const char * | kind () const override |
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 Member Functions | |
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 () |
Private Member Functions | |
sc_export (const sc_export< IF > &) | |
sc_export< IF > & | operator= (const sc_export< IF > &) |
Private Attributes | |
IF * | interface |
Definition at line 60 of file sc_export.hh.
|
inline |
Definition at line 63 of file sc_export.hh.
References sc_core::sc_gen_unique_name().
|
inlineexplicit |
Definition at line 66 of file sc_export.hh.
|
inlinevirtual |
Definition at line 69 of file sc_export.hh.
|
private |
|
inlineoverrideprotectedvirtual |
Implements sc_core::sc_export_base.
Definition at line 122 of file sc_export.hh.
|
inlinevirtual |
Definition at line 86 of file sc_export.hh.
References sc_core::sc_export< IF >::interface, sc_core::sc_object::name(), sc_core::SC_ID_SC_EXPORT_ALREADY_BOUND_, and SC_REPORT_ERROR.
Referenced by tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::before_end_of_elaboration(), tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::bind(), tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bind(), sc_gem5::ScExportWrapper< IF >::bind(), tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_base_export(), sc_core::sc_export< IF >::operator()(), tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::simple_initiator_socket_b(), and tlm_utils::simple_initiator_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::simple_initiator_socket_tagged_b().
|
inlineoverrideprotectedvirtual |
Implements sc_core::sc_export_base.
Definition at line 124 of file sc_export.hh.
References sc_core::sc_export< IF >::interface, sc_core::sc_export< IF >::kind(), sc_core::sc_object::name(), and SC_REPORT_ERROR.
|
inlineoverrideprotectedvirtual |
Implements sc_core::sc_export_base.
Definition at line 133 of file sc_export.hh.
|
inlineoverridevirtual |
Implements sc_core::sc_export_base.
Definition at line 119 of file sc_export.hh.
References sc_core::sc_export< IF >::interface.
Referenced by tlm_utils::multi_passthrough_target_socket< MODULE, BUSWIDTH, TYPES, N, POL >::check_export_binding().
|
inlineoverridevirtual |
Implements sc_core::sc_export_base.
Definition at line 118 of file sc_export.hh.
References sc_core::sc_export< IF >::interface.
|
inlineoverridevirtual |
Reimplemented from sc_core::sc_object.
Reimplemented in tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >, tlm::tlm_base_target_socket< 32, tlm_fw_transport_if< tlm_base_protocol_types >, tlm_bw_transport_if< tlm_base_protocol_types >, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_base_target_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >, tlm::tlm_base_target_socket< 64, SignalInterruptFwIf, SignalInterruptBwIf >, tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< my_extended_payload_types >, tlm_bw_transport_if< my_extended_payload_types >, N, POL >, tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< tlm::tlm_base_protocol_types >, tlm_bw_transport_if< tlm::tlm_base_protocol_types >, N, POL >, tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< tlm_base_protocol_types >, tlm_bw_transport_if< tlm_base_protocol_types >, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N, POL >, 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 71 of file sc_export.hh.
Referenced by sc_core::sc_export< IF >::end_of_elaboration().
|
inline |
Definition at line 101 of file sc_export.hh.
|
inline |
Definition at line 95 of file sc_export.hh.
|
inline |
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 84 of file sc_export.hh.
References sc_core::sc_export< IF >::bind().
|
inline |
Definition at line 104 of file sc_export.hh.
References sc_core::sc_export< IF >::interface, sc_core::sc_object::name(), sc_core::SC_ID_SC_EXPORT_HAS_NO_INTERFACE_, and SC_REPORT_ERROR.
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::bw_invalidate_direct_mem_ptr(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::bw_invalidate_direct_mem_ptr(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::bw_nb_transport(), and tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::bw_nb_transport().
|
inline |
Definition at line 111 of file sc_export.hh.
References sc_core::sc_export< IF >::interface, sc_core::sc_object::name(), sc_core::SC_ID_SC_EXPORT_HAS_NO_INTERFACE_, and SC_REPORT_ERROR.
|
private |
|
inlineoverrideprotectedvirtual |
Implements sc_core::sc_export_base.
Reimplemented in tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >, tlm_utils::simple_target_socket_b< adapt_ext2gp, BUSWIDTH, my_extended_payload_types >, tlm_utils::simple_target_socket_b< adapt_gp2ext, BUSWIDTH, tlm::tlm_base_protocol_types >, tlm_utils::simple_target_socket_b< ExplicitATTarget, 32, tlm::tlm_base_protocol_types >, tlm_utils::simple_target_socket_b< ExplicitLTTarget, 32, tlm::tlm_base_protocol_types >, tlm_utils::simple_target_socket_b< gem5::fastmodel::AmbaFromTlmBridge64, BUSWIDTH, tlm::tlm_base_protocol_types >, tlm_utils::simple_target_socket_b< gem5::fastmodel::AmbaToTlmBridge64, BUSWIDTH, tlm::tlm_base_protocol_types >, tlm_utils::simple_target_socket_b< gem5::memory::DRAMSysWrapper, 32, tlm::tlm_base_protocol_types >, tlm_utils::simple_target_socket_b< MODULE, 32, tlm::tlm_base_protocol_types >, tlm_utils::simple_target_socket_b< MODULE, 32, tlm::tlm_base_protocol_types, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::simple_target_socket_b< sc_gem5::TlmToGem5Bridge< BITWIDTH >, BUSWIDTH, tlm::tlm_base_protocol_types >, tlm_utils::simple_target_socket_b< SimpleATTarget1, 32, tlm::tlm_base_protocol_types >, tlm_utils::simple_target_socket_b< SimpleATTarget2, 32, tlm::tlm_base_protocol_types >, tlm_utils::simple_target_socket_b< SimpleLTTarget_ext, BUSWIDTH, my_extended_payload_types >, tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >, tlm_utils::simple_target_socket_tagged_b< MODULE, 32, tlm::tlm_base_protocol_types >, tlm_utils::simple_target_socket_tagged_b< MODULE, 32, tlm::tlm_base_protocol_types, sc_core::SC_ZERO_OR_MORE_BOUND >, tlm_utils::simple_target_socket_tagged_b< SimpleBusAT, 32, tlm::tlm_base_protocol_types >, and tlm_utils::simple_target_socket_tagged_b< SimpleBusLT, 32, tlm::tlm_base_protocol_types >.
Definition at line 132 of file sc_export.hh.
|
private |
Definition at line 136 of file sc_export.hh.
Referenced by sc_core::sc_export< IF >::bind(), sc_core::sc_export< IF >::end_of_elaboration(), sc_core::sc_export< IF >::get_interface(), sc_core::sc_export< IF >::get_iterface(), sc_core::sc_export< bw_interface_type >::operator bw_interface_type &(), sc_core::sc_export< bw_interface_type >::operator const bw_interface_type &(), sc_core::sc_export< IF >::operator->(), and sc_core::sc_export< IF >::operator->().