gem5 v24.0.0.0
|
Classes | |
struct | mm_end_event_ext |
class | process_handle_class |
class | process_handle_list |
Public Types | |
typedef sync_enum_type(MODULE::* | NBTransportPtr) (transaction_type &, phase_type &, sc_core::sc_time &) |
typedef void(MODULE::* | BTransportPtr) (transaction_type &, sc_core::sc_time &) |
typedef unsigned int(MODULE::* | TransportDbgPtr) (transaction_type &) |
typedef bool(MODULE::* | GetDirectMemPtr) (transaction_type &, tlm::tlm_dmi &) |
Public Member Functions | |
fw_process (simple_target_socket_b *p_own) | |
void | start_of_simulation () |
void | set_nb_transport_ptr (MODULE *mod, NBTransportPtr p) |
void | set_b_transport_ptr (MODULE *mod, BTransportPtr p) |
void | set_transport_dbg_ptr (MODULE *mod, TransportDbgPtr p) |
void | set_get_direct_mem_ptr (MODULE *mod, GetDirectMemPtr p) |
sync_enum_type | nb_transport_fw (transaction_type &trans, phase_type &phase, sc_core::sc_time &t) |
void | b_transport (transaction_type &trans, sc_core::sc_time &t) |
unsigned int | transport_dbg (transaction_type &trans) |
bool | get_direct_mem_ptr (transaction_type &trans, tlm::tlm_dmi &dmi_data) |
Public Member Functions inherited from sc_core::sc_interface | |
virtual void | register_port (sc_port_base &, const char *) |
virtual const sc_event & | default_event () const |
virtual | ~sc_interface () |
Public Member Functions inherited from tlm::tlm_mm_interface | |
virtual | ~tlm_mm_interface () |
Private Member Functions | |
void | nb2b_thread (process_handle_class *h) |
void | b2nb_thread () |
void | free (tlm::tlm_generic_payload *trans) |
Additional Inherited Members | |
Protected Member Functions inherited from sc_core::sc_interface | |
sc_interface () | |
Definition at line 176 of file simple_target_socket.h.
typedef void(MODULE::* tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::BTransportPtr) (transaction_type &, sc_core::sc_time &) |
Definition at line 182 of file simple_target_socket.h.
typedef bool(MODULE::* tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::GetDirectMemPtr) (transaction_type &, tlm::tlm_dmi &) |
Definition at line 185 of file simple_target_socket.h.
typedef sync_enum_type(MODULE::* tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::NBTransportPtr) (transaction_type &, phase_type &, sc_core::sc_time &) |
Definition at line 180 of file simple_target_socket.h.
typedef unsigned int(MODULE::* tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::TransportDbgPtr) (transaction_type &) |
Definition at line 184 of file simple_target_socket.h.
|
inline |
Definition at line 188 of file simple_target_socket.h.
|
inlineprivate |
Definition at line 473 of file simple_target_socket.h.
References tlm::BEGIN_REQ, tlm::BEGIN_RESP, tlm::END_REQ, tlm::END_RESP, tlm_utils::peq_with_get< PAYLOAD >::get_next_transaction(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_nb_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_owner, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_peq, sc_assert, sc_core::SC_ZERO_TIME, tlm::TLM_ACCEPTED, tlm::TLM_COMPLETED, tlm::TLM_UPDATED, and sc_core::wait().
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::start_of_simulation().
|
inlinevirtual |
Implements tlm::tlm_blocking_transport_if< TYPES::tlm_payload_type >.
Definition at line 309 of file simple_target_socket.h.
References tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::mm_end_event_ext::done, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_b_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_nb_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_owner, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_peq, tlm_utils::peq_with_get< PAYLOAD >::notify(), sc_assert, sc_core::SC_ZERO_TIME, and sc_core::wait().
|
inlineprivatevirtual |
Implements tlm::tlm_mm_interface.
Definition at line 544 of file simple_target_socket.h.
References tlm::tlm_generic_payload::reset(), and sc_assert.
|
inlinevirtual |
Implements tlm::tlm_fw_direct_mem_if< TYPES::tlm_payload_type >.
Definition at line 367 of file simple_target_socket.h.
References tlm::tlm_dmi::allow_read_write(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_get_direct_mem_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod, sc_assert, tlm::tlm_dmi::set_end_address(), and tlm::tlm_dmi::set_start_address().
|
inlineprivate |
Definition at line 440 of file simple_target_socket.h.
References tlm::BEGIN_RESP, tlm::END_RESP, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_b_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_end_response, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_owner, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_response_in_progress, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::process_handle_class::m_suspend, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::process_handle_class::m_trans, sc_assert, sc_core::SC_ZERO_TIME, tlm::TLM_COMPLETED, tlm::TLM_UPDATED, and sc_core::wait().
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb_transport_fw().
|
inlinevirtual |
Implements tlm::tlm_fw_nonblocking_transport_if< TYPES::tlm_payload_type, TYPES::tlm_phase_type >.
Definition at line 262 of file simple_target_socket.h.
References tlm::BEGIN_REQ, sc_core::sc_spawn_options::dont_initialize(), tlm::END_RESP, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::process_handle_list::get_handle(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_b_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::process_handle_class::m_e, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_end_response, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_nb_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_owner, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_process_handle, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_response_in_progress, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb2b_thread(), sc_core::sc_event::notify(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::process_handle_list::put_handle(), sc_assert, sc_core::sc_gen_unique_name(), sc_core::sc_spawn(), sc_core::sc_spawn_options::set_sensitivity(), tlm::TLM_ACCEPTED, and tlm::TLM_COMPLETED.
|
inline |
Definition at line 223 of file simple_target_socket.h.
References tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_b_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_owner, and sc_assert.
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::register_b_transport().
|
inline |
Definition at line 248 of file simple_target_socket.h.
References tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_get_direct_mem_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_owner, and sc_assert.
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::register_get_direct_mem_ptr().
|
inline |
Definition at line 210 of file simple_target_socket.h.
References tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_nb_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_owner, and sc_assert.
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::register_nb_transport_fw().
|
inline |
Definition at line 236 of file simple_target_socket.h.
References tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_owner, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_transport_dbg_ptr, and sc_assert.
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::register_transport_dbg().
|
inline |
Definition at line 197 of file simple_target_socket.h.
References tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b2nb_thread(), sc_core::sc_spawn_options::dont_initialize(), tlm_utils::peq_with_get< PAYLOAD >::get_event(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_b_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_nb_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_peq, sc_core::sc_gen_unique_name(), sc_core::sc_spawn(), and sc_core::sc_spawn_options::set_sensitivity().
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::start_of_simulation().
|
inlinevirtual |
Implements tlm::tlm_transport_dbg_if< TYPES::tlm_payload_type >.
Definition at line 355 of file simple_target_socket.h.
References tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_transport_dbg_ptr, and sc_assert.
|
private |
Definition at line 567 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b_transport(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb2b_thread(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb_transport_fw(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_b_transport_ptr(), and tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::start_of_simulation().
|
private |
|
private |
|
private |
Definition at line 565 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b2nb_thread(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b_transport(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::get_direct_mem_ptr(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb2b_thread(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb_transport_fw(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_b_transport_ptr(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_get_direct_mem_ptr(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_nb_transport_ptr(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_transport_dbg_ptr(), and tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::transport_dbg().
|
private |
Definition at line 566 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b2nb_thread(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b_transport(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb_transport_fw(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_nb_transport_ptr(), and tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::start_of_simulation().
|
private |
Definition at line 564 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b2nb_thread(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b_transport(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb2b_thread(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb_transport_fw(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_b_transport_ptr(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_get_direct_mem_ptr(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_nb_transport_ptr(), and tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_transport_dbg_ptr().
|
private |
Definition at line 570 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b2nb_thread(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b_transport(), and tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::start_of_simulation().
|
private |
Definition at line 437 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb_transport_fw().
|
private |
|
private |