gem5  v20.1.0.0
Public Types | Public Member Functions | Private Attributes | List of all members
tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process Class Reference
Inheritance diagram for tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process:
tlm::tlm_bw_transport_if< TYPES > tlm_utils::convenience_socket_cb_holder tlm::tlm_bw_nonblocking_transport_if< tlm_base_protocol_types ::tlm_payload_type, tlm_base_protocol_types ::tlm_phase_type > tlm::tlm_bw_direct_mem_if sc_core::sc_interface sc_core::sc_interface

Public Types

typedef sync_enum_type(MODULE::* TransportPtr) (transaction_type &, phase_type &, sc_core::sc_time &)
 
typedef void(MODULE::* InvalidateDirectMemPtr) (sc_dt::uint64, sc_dt::uint64)
 

Public Member Functions

 process (simple_socket_base *owner)
 
void set_transport_ptr (MODULE *mod, TransportPtr p)
 
void set_invalidate_direct_mem_ptr (MODULE *mod, InvalidateDirectMemPtr p)
 
sync_enum_type nb_transport_bw (transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
 
void invalidate_direct_mem_ptr (sc_dt::uint64 start_range, sc_dt::uint64 end_range)
 
- Public Member Functions inherited from tlm::tlm_bw_nonblocking_transport_if< tlm_base_protocol_types ::tlm_payload_type, tlm_base_protocol_types ::tlm_phase_type >
virtual tlm_sync_enum nb_transport_bw (tlm_base_protocol_types ::tlm_payload_type &trans, tlm_base_protocol_types ::tlm_phase_type &phase, sc_core::sc_time &t)=0
 
- Public Member Functions inherited from sc_core::sc_interface
virtual void register_port (sc_port_base &, const char *)
 
virtual const sc_eventdefault_event () const
 
virtual ~sc_interface ()
 

Private Attributes

MODULE * m_mod
 
TransportPtr m_transport_ptr
 
InvalidateDirectMemPtr m_invalidate_direct_mem_ptr
 

Additional Inherited Members

- Protected Member Functions inherited from sc_core::sc_interface
 sc_interface ()
 
- Protected Member Functions inherited from tlm_utils::convenience_socket_cb_holder
 convenience_socket_cb_holder (convenience_socket_base *owner)
 
void display_warning (const char *msg) const
 
void display_error (const char *msg) const
 

Detailed Description

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
class tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process

Definition at line 112 of file simple_initiator_socket.h.

Member Typedef Documentation

◆ InvalidateDirectMemPtr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef void(MODULE::* tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::InvalidateDirectMemPtr) (sc_dt::uint64, sc_dt::uint64)

Definition at line 118 of file simple_initiator_socket.h.

◆ TransportPtr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef sync_enum_type(MODULE::* tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::TransportPtr) (transaction_type &, phase_type &, sc_core::sc_time &)

Definition at line 116 of file simple_initiator_socket.h.

Constructor & Destructor Documentation

◆ process()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::process ( simple_socket_base owner)
inlineexplicit

Definition at line 121 of file simple_initiator_socket.h.

Member Function Documentation

◆ invalidate_direct_mem_ptr()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::invalidate_direct_mem_ptr ( sc_dt::uint64  start_range,
sc_dt::uint64  end_range 
)
inlinevirtual

Implements tlm::tlm_bw_direct_mem_if.

Definition at line 164 of file simple_initiator_socket.h.

References sc_core::SC_ZERO_OR_MORE_BOUND.

◆ nb_transport_bw()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
sync_enum_type tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::nb_transport_bw ( transaction_type trans,
phase_type phase,
sc_core::sc_time t 
)
inline

Definition at line 151 of file simple_initiator_socket.h.

◆ set_invalidate_direct_mem_ptr()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::set_invalidate_direct_mem_ptr ( MODULE *  mod,
InvalidateDirectMemPtr  p 
)
inline

Definition at line 139 of file simple_initiator_socket.h.

◆ set_transport_ptr()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::set_transport_ptr ( MODULE *  mod,
TransportPtr  p 
)
inline

Definition at line 127 of file simple_initiator_socket.h.

Member Data Documentation

◆ m_invalidate_direct_mem_ptr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
InvalidateDirectMemPtr tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::m_invalidate_direct_mem_ptr
private

◆ m_mod

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
MODULE* tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::m_mod
private

◆ m_transport_ptr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
TransportPtr tlm_utils::simple_initiator_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::m_transport_ptr
private

Definition at line 177 of file simple_initiator_socket.h.


The documentation for this class was generated from the following file:

Generated on Wed Sep 30 2020 14:03:14 for gem5 by doxygen 1.8.17