gem5 v24.0.0.0
|
#include <sc_object.hh>
Public Member Functions | |
const char * | name () const |
const char * | basename () const |
virtual const char * | kind () 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 | |
sc_object () | |
sc_object (const char *) | |
sc_object (const sc_object &) | |
sc_object & | operator= (const sc_object &) |
virtual | ~sc_object () |
Private Attributes | |
sc_gem5::Object * | _gem5_object |
Friends | |
class | sc_gem5::Object |
Definition at line 50 of file sc_object.hh.
|
protected |
Definition at line 133 of file sc_object.cc.
References _gem5_object.
|
protected |
Definition at line 138 of file sc_object.cc.
References _gem5_object, and name().
|
protected |
Definition at line 143 of file sc_object.cc.
References _gem5_object.
|
protectedvirtual |
Definition at line 155 of file sc_object.cc.
References _gem5_object.
bool sc_core::sc_object::add_attribute | ( | sc_attr_base & | attr | ) |
Definition at line 86 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::add_attribute().
sc_attr_cltn & sc_core::sc_object::attr_cltn | ( | ) |
Definition at line 116 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::attr_cltn().
const sc_attr_cltn & sc_core::sc_object::attr_cltn | ( | ) | const |
Definition at line 122 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::attr_cltn().
const char * sc_core::sc_object::basename | ( | ) | const |
Definition at line 50 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::basename().
Referenced by sc_core::sc_vector< T >::init(), and sc_gem5::Object::Object().
|
virtual |
Reimplemented in sc_core::sc_fifo< T >, sc_gem5::ScSignalBaseT< T, WRITER_POLICY >, sc_gem5::ScSignalBaseT< bool, SC_ONE_WRITER >, sc_gem5::ScSignalBaseT< bool, WRITER_POLICY >, sc_gem5::ScSignalBaseT< sc_dt::sc_logic, WRITER_POLICY >, sc_gem5::ScSignalBaseT< sc_dt::sc_lv< W >, WRITER_POLICY >, and sc_gem5::ScSignalBaseT< T, SC_ONE_WRITER >.
Definition at line 62 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::dump().
sc_attr_base * sc_core::sc_object::get_attribute | ( | const std::string & | name | ) |
Definition at line 92 of file sc_object.cc.
References _gem5_object, sc_gem5::Object::get_attribute(), and name().
|
virtual |
Reimplemented in sc_core::sc_module.
Definition at line 74 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::get_child_events().
Referenced by sc_core::sc_process_handle::get_child_events().
|
virtual |
Reimplemented in sc_core::sc_module.
Definition at line 68 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::get_child_objects().
Referenced by sc_gem5::Process::forEachKid(), and sc_core::sc_process_handle::get_child_objects().
sc_object * sc_core::sc_object::get_parent_object | ( | ) | const |
Definition at line 80 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::get_parent_object().
Referenced by sc_core::sc_vector_base::forceParent(), sc_core::sc_process_handle::get_parent_object(), and sc_gem5::Object::Object().
|
inlinevirtual |
Reimplemented in gem5::ClockRateControlInitiatorSocket, gem5::ClockRateControlTargetSocket, gem5::SignalInterruptInitiatorSocket, gem5::SignalInterruptTargetSocket, sc_core::sc_buffer< T, WRITER_POLICY >, sc_core::sc_clock, sc_core::sc_event_queue, sc_core::sc_export< IF >, sc_core::sc_export< bw_interface_type >, sc_core::sc_export< ClockRateControlFwIf >, sc_core::sc_export< SignalInterruptFwIf >, sc_core::sc_export< tlm::tlm_fifo_get_if< REQ > >, sc_core::sc_export< tlm::tlm_fifo_get_if< RSP > >, sc_core::sc_export< tlm::tlm_fifo_put_if< REQ > >, sc_core::sc_export< tlm::tlm_fifo_put_if< RSP > >, sc_core::sc_export< tlm::tlm_master_if< REQ, RSP > >, sc_core::sc_export< tlm::tlm_slave_if< REQ, RSP > >, sc_core::sc_export< tlm::tlm_transport_if< REQ, RSP > >, sc_core::sc_export< tlm_fw_transport_if< my_extended_payload_types > >, sc_core::sc_export< tlm_fw_transport_if< tlm::tlm_base_protocol_types > >, sc_core::sc_export< tlm_fw_transport_if< tlm_base_protocol_types > >, sc_core::sc_export< tlm_fw_transport_if< TYPES > >, sc_core::sc_export< tlm_fw_transport_if<> >, sc_core::sc_fifo< T >, sc_core::sc_fifo_in< T >, sc_core::sc_fifo_out< T >, sc_core::sc_in< T >, sc_core::sc_in< bool >, sc_core::sc_in< sc_dt::sc_bigint< W > >, sc_core::sc_in< sc_dt::sc_biguint< W > >, sc_core::sc_in< sc_dt::sc_int< W > >, sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_in< sc_dt::sc_lv< W > >, sc_core::sc_in< sc_dt::sc_uint< W > >, sc_core::sc_in_resolved, sc_core::sc_in_rv< W >, sc_core::sc_inout< T >, sc_core::sc_inout< bool >, sc_core::sc_inout< sc_dt::sc_bigint< W > >, sc_core::sc_inout< sc_dt::sc_biguint< W > >, sc_core::sc_inout< sc_dt::sc_int< W > >, sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_inout< sc_dt::sc_lv< W > >, sc_core::sc_inout< sc_dt::sc_uint< W > >, sc_core::sc_inout_resolved, sc_core::sc_inout_rv< W >, sc_core::sc_module, sc_core::sc_mutex, sc_core::sc_out< T >, sc_core::sc_out< bool >, sc_core::sc_out_resolved, sc_core::sc_out_rv< W >, sc_core::sc_port< IF, N, P >, sc_core::sc_port< bw_interface_type, 1, sc_core::SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< bw_interface_type, N, POL >, sc_core::sc_port< ClockRateControlFwIf, N, POL >, sc_core::sc_port< FW_IF, N, POL >, sc_core::sc_port< sc_fifo_in_if< T >, 0 >, sc_core::sc_port< sc_fifo_out_if< T >, 0 >, sc_core::sc_port< sc_signal_in_if< bool >, 1 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_biguint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_int< W > >, 1 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_logic >, 1 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_lv< W > >, 1 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_uint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_in_if< T >, 1 >, sc_core::sc_port< sc_signal_inout_if< bool >, 1 >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_biguint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_int< W > >, 1 >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_logic >, 1 >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_lv< W > >, 1 >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_uint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_inout_if< T >, 1 >, sc_core::sc_port< SignalInterruptFwIf, N, POL >, sc_core::sc_port< tlm::tlm_master_if< REQ, RSP > >, sc_core::sc_port< tlm::tlm_slave_if< REQ, RSP > >, sc_core::sc_port< tlm::tlm_transport_if< REQ, RSP > >, sc_core::sc_port< tlm_fw_transport_if< my_extended_payload_types >, N, POL >, sc_core::sc_port< tlm_fw_transport_if< tlm::tlm_base_protocol_types >, N, POL >, sc_core::sc_port< tlm_fw_transport_if< tlm_base_protocol_types >, N, POL >, sc_core::sc_port< tlm_fw_transport_if< TYPES >, N, POL >, sc_core::sc_port< tlm_nonblocking_get_if< T >, 1 >, sc_core::sc_port< tlm_nonblocking_peek_if< T >, 1 >, sc_core::sc_port< tlm_nonblocking_put_if< T >, 1 >, sc_core::sc_port_base, sc_core::sc_prim_channel, sc_core::sc_semaphore, sc_core::sc_signal< sc_dt::sc_bigint< W > >, sc_core::sc_signal< sc_dt::sc_biguint< W > >, sc_core::sc_signal< sc_dt::sc_int< W > >, sc_core::sc_signal< sc_dt::sc_uint< W > >, sc_core::sc_signal_resolved, sc_core::sc_signal_rv< W >, sc_core::sc_vector_base, sc_gem5::CThread, sc_gem5::Method, sc_gem5::ScSignalBase, sc_gem5::Thread, tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >, tlm::tlm_base_initiator_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_initiator_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >, tlm::tlm_base_initiator_socket< 64, SignalInterruptFwIf, SignalInterruptBwIf >, tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< my_extended_payload_types >, tlm_bw_transport_if< my_extended_payload_types >, N, POL >, tlm::tlm_base_initiator_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_initiator_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_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N, POL >, 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_fifo< T >, tlm::tlm_fifo< REQ >, tlm::tlm_fifo< RSP >, tlm::tlm_initiator_socket< BUSWIDTH, TYPES, N, POL >, 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, sc_core::SC_ONE_OR_MORE_BOUND >, 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 >, and tlm::tlm_target_socket< BUSWIDTH, TYPES, 1, sc_core::SC_ONE_OR_MORE_BOUND >.
Definition at line 56 of file sc_object.hh.
Referenced by sc_gem5::Object::dump(), and sc_core::sc_export_base::sc_export_base().
const char * sc_core::sc_object::name | ( | ) | const |
Definition at line 44 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::name().
Referenced by sc_core::sc_port_b< IF >::_ifTypeName(), SimpleLTTarget1::b_transport(), sc_core::sc_export< IF >::bind(), sc_core::sc_signal< sc_dt::sc_bigint< W > >::check_writer(), sc_core::sc_signal< sc_dt::sc_biguint< W > >::check_writer(), sc_core::sc_signal< sc_dt::sc_int< W > >::check_writer(), sc_core::sc_signal< sc_dt::sc_uint< W > >::check_writer(), sc_core::sc_vector_base::checkIndex(), gem5::Iris::CPU< TC >::CPU(), sc_gem5::Process::disable(), tlm_utils::convenience_socket_base::display_error(), tlm_utils::convenience_socket_base::display_warning(), sc_core::sc_fifo< T >::dump(), MultiSocketSimpleSwitchAT::dump_status(), sc_core::sc_export< IF >::end_of_elaboration(), SimpleLTInitiator1_dmi::end_of_simulation(), SimpleLTInitiator2_dmi::end_of_simulation(), SimpleLTInitiator_ext::end_of_simulation(), sc_core::sc_module::gem5_getPort(), get_attribute(), sc_core::sc_vector_base::implicitCast(), SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::initiatorNBTransport(), SimpleLTInitiator1_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator_ext::invalidate_direct_mem_ptr(), sc_gem5::Process::kill(), CoreDecouplingLTInitiator::logEndTransaction(), SimpleATInitiator1::logEndTransaction(), SimpleATInitiator2::logEndTransaction(), SimpleLTInitiator1::logEndTransaction(), SimpleLTInitiator1_dmi::logEndTransaction(), SimpleLTInitiator2::logEndTransaction(), SimpleLTInitiator2_dmi::logEndTransaction(), SimpleLTInitiator3::logEndTransaction(), SimpleLTInitiator3_dmi::logEndTransaction(), SimpleLTInitiator_ext::logEndTransaction(), CoreDecouplingLTInitiator::logStartTransation(), SimpleATInitiator1::logStartTransation(), SimpleATInitiator2::logStartTransation(), SimpleLTInitiator1::logStartTransation(), SimpleLTInitiator1_dmi::logStartTransation(), SimpleLTInitiator2::logStartTransation(), SimpleLTInitiator2_dmi::logStartTransation(), SimpleLTInitiator3::logStartTransation(), SimpleLTInitiator3_dmi::logStartTransation(), SimpleLTInitiator_ext::logStartTransation(), ExplicitLTTarget::myBTransport(), SimpleLTTarget2::myBTransport(), SimpleLTTarget_ext::myGetDMIPtr(), ExplicitATTarget::myNBTransport(), SimpleATTarget1::myNBTransport(), SimpleATTarget2::myNBTransport(), SimpleLTTarget_ext::myNBTransport(), sc_core::sc_process_handle::name(), sc_gem5::Sensitivity::notify(), sc_core::sc_export< bw_interface_type >::operator bw_interface_type &(), sc_core::sc_export< IF >::operator->(), sc_core::sc_export< IF >::operator->(), sc_core::sc_fifo< T >::register_port(), sc_core::sc_signal< sc_dt::sc_bigint< W > >::register_port(), sc_core::sc_signal< sc_dt::sc_biguint< W > >::register_port(), sc_core::sc_signal< sc_dt::sc_int< W > >::register_port(), sc_core::sc_signal< sc_dt::sc_uint< W > >::register_port(), remove_attribute(), sc_core::sc_report_handler::report(), sc_core::sc_port_base::report_error(), sc_core::sc_vector_base::reportEmpty(), sc_gem5::Process::reset(), sc_gem5::Process::run(), sc_core::sc_export_base::sc_export_base(), sc_object(), sc_core::sc_port_base::sc_port_base(), sc_core::sc_semaphore::sc_semaphore(), gem5::fastmodel::CortexA76Cluster::set_evs_param(), gem5::fastmodel::CortexR52Cluster::set_evs_param(), sc_gem5::spawnWork(), MultiSocketSimpleSwitchAT::targetNBTransport(), SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::targetNBTransport(), and sc_gem5::Process::throw_it().
int sc_core::sc_object::num_attributes | ( | ) | const |
Definition at line 110 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::num_attributes().
Definition at line 149 of file sc_object.cc.
References _gem5_object.
|
virtual |
Reimplemented in sc_core::sc_fifo< T >, sc_gem5::ScSignalBaseT< T, WRITER_POLICY >, sc_gem5::ScSignalBaseT< bool, SC_ONE_WRITER >, sc_gem5::ScSignalBaseT< bool, WRITER_POLICY >, sc_gem5::ScSignalBaseT< sc_dt::sc_logic, WRITER_POLICY >, sc_gem5::ScSignalBaseT< sc_dt::sc_lv< W >, WRITER_POLICY >, and sc_gem5::ScSignalBaseT< T, SC_ONE_WRITER >.
Definition at line 56 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::print().
void sc_core::sc_object::remove_all_attributes | ( | ) |
Definition at line 104 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::remove_all_attributes().
sc_attr_base * sc_core::sc_object::remove_attribute | ( | const std::string & | name | ) |
Definition at line 98 of file sc_object.cc.
References _gem5_object, name(), and sc_gem5::Object::remove_attribute().
sc_simcontext * sc_core::sc_object::simcontext | ( | ) | const |
Definition at line 128 of file sc_object.cc.
References _gem5_object, and sc_gem5::Object::simcontext().
|
friend |
Definition at line 84 of file sc_object.hh.
|
private |
Definition at line 85 of file sc_object.hh.
Referenced by add_attribute(), attr_cltn(), attr_cltn(), basename(), dump(), get_attribute(), get_child_events(), get_child_objects(), get_parent_object(), sc_gem5::Object::getFromScObject(), name(), num_attributes(), sc_gem5::Object::Object(), operator=(), print(), remove_all_attributes(), remove_attribute(), sc_object(), sc_object(), sc_object(), simcontext(), sc_gem5::Object::~Object(), and ~sc_object().