gem5
v20.1.0.0
|
#include <gp.hh>
Public Member Functions | |
tlm_generic_payload () | |
tlm_generic_payload (tlm_mm_interface *mm) | |
void | acquire () |
void | release () |
int | get_ref_count () const |
void | set_mm (tlm_mm_interface *mm) |
bool | has_mm () const |
void | reset () |
void | deep_copy_from (const tlm_generic_payload &other) |
void | update_original_from (const tlm_generic_payload &other, bool use_byte_enable_on_read=true) |
void | update_extensions_from (const tlm_generic_payload &other) |
void | free_all_extensions () |
virtual | ~tlm_generic_payload () |
bool | is_read () const |
void | set_read () |
bool | is_write () const |
void | set_write () |
tlm_command | get_command () const |
void | set_command (const tlm_command command) |
sc_dt::uint64 | get_address () const |
void | set_address (const sc_dt::uint64 address) |
unsigned char * | get_data_ptr () const |
void | set_data_ptr (unsigned char *data) |
unsigned int | get_data_length () const |
void | set_data_length (const unsigned int length) |
bool | is_response_ok () const |
bool | is_response_error () const |
tlm_response_status | get_response_status () const |
void | set_response_status (const tlm_response_status response_status) |
std::string | get_response_string () const |
unsigned int | get_streaming_width () const |
void | set_streaming_width (const unsigned int streaming_width) |
unsigned char * | get_byte_enable_ptr () const |
void | set_byte_enable_ptr (unsigned char *byte_enable) |
unsigned int | get_byte_enable_length () const |
void | set_byte_enable_length (const unsigned int byte_enable_length) |
void | set_dmi_allowed (bool dmi_allowed) |
bool | is_dmi_allowed () const |
tlm_gp_option | get_gp_option () const |
void | set_gp_option (const tlm_gp_option gp_opt) |
template<typename T > | |
T * | set_extension (T *ext) |
tlm_extension_base * | set_extension (unsigned int index, tlm_extension_base *ext) |
template<typename T > | |
T * | set_auto_extension (T *ext) |
tlm_extension_base * | set_auto_extension (unsigned int index, tlm_extension_base *ext) |
template<typename T > | |
void | get_extension (T *&ext) const |
template<typename T > | |
T * | get_extension () const |
tlm_extension_base * | get_extension (unsigned int index) const |
template<typename T > | |
void | clear_extension (const T *ext) |
template<typename T > | |
void | clear_extension () |
template<typename T > | |
void | release_extension (T *ext) |
template<typename T > | |
void | release_extension () |
void | resize_extensions () |
Private Member Functions | |
tlm_generic_payload (const tlm_generic_payload &x) | |
tlm_generic_payload & | operator= (const tlm_generic_payload &x) |
void | clear_extension (unsigned int index) |
void | release_extension (unsigned int index) |
Private Attributes | |
sc_dt::uint64 | m_address |
tlm_command | m_command |
unsigned char * | m_data |
unsigned int | m_length |
tlm_response_status | m_response_status |
bool | m_dmi |
unsigned char * | m_byte_enable |
unsigned int | m_byte_enable_length |
unsigned int | m_streaming_width |
tlm_gp_option | m_gp_option |
tlm_array< tlm_extension_base * > | m_extensions |
tlm_mm_interface * | m_mm |
unsigned int | m_ref_count |
tlm::tlm_generic_payload::tlm_generic_payload | ( | ) |
Definition at line 117 of file gp.cc.
References m_extensions, m_gp_option, and tlm::TLM_MIN_PAYLOAD.
|
explicit |
Definition at line 125 of file gp.cc.
References get_address(), get_byte_enable_length(), get_command(), get_data_length(), get_response_status(), get_streaming_width(), m_address, m_byte_enable_length, m_command, m_length, m_response_status, and m_streaming_width.
|
private |
|
inline |
Definition at line 140 of file gp.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::handleBeginReq(), sc_gem5::TlmToGem5Bridge< BITWIDTH >::nb_transport_fw(), and sc_gem5::packet2payload().
|
inline |
|
inline |
Definition at line 396 of file gp.hh.
Referenced by adapt_gp2ext< BUSWIDTH >::get_dmi_pointer().
|
private |
Definition at line 347 of file gp.cc.
References m_extensions, and tlm::max_num_extensions().
void tlm::tlm_generic_payload::deep_copy_from | ( | const tlm_generic_payload & | other | ) |
Definition at line 143 of file gp.cc.
References m_byte_enable, and m_byte_enable_length.
|
inline |
Definition at line 201 of file gp.hh.
Referenced by SimpleBusLT< NR_OF_INITIATORS, NR_OF_TARGETS >::decode(), SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::decode(), sc_gem5::Gem5ToTlmBridge< BITWIDTH >::getBackdoor(), sc_gem5::payload2packet(), SimpleLTInitiator1_dmi::run(), SimpleLTTarget_ext::SimpleLTTarget_ext(), tlm::tlm_from_hostendian_generic(), and tlm_generic_payload().
|
inline |
Definition at line 243 of file gp.hh.
Referenced by tlm_generic_payload().
|
inline |
Definition at line 236 of file gp.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::nb_transport_fw().
|
inline |
Definition at line 197 of file gp.hh.
Referenced by sc_gem5::payload2packet(), SimpleLTInitiator1_dmi::run(), and tlm_generic_payload().
|
inline |
Definition at line 209 of file gp.hh.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::getBackdoor(), sc_gem5::TlmToGem5Bridge< BITWIDTH >::nb_transport_fw(), sc_gem5::payload2packet(), tlm::tlm_from_hostendian_generic(), tlm_generic_payload(), and sc_gem5::TlmToGem5Bridge< BITWIDTH >::transport_dbg().
|
inline |
Definition at line 205 of file gp.hh.
Referenced by sc_gem5::payload2packet().
|
inline |
Definition at line 384 of file gp.hh.
References Ps2::Keyboard::ID.
|
inline |
Definition at line 381 of file gp.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::b_transport(), adapt_gp2ext< BUSWIDTH >::forward_nb_transport(), sc_gem5::TlmToGem5Bridge< BITWIDTH >::get_direct_mem_ptr(), adapt_gp2ext< BUSWIDTH >::get_dmi_pointer(), Gem5SystemC::Gem5Extension::getExtension(), sc_gem5::TlmToGem5Bridge< BITWIDTH >::handleBeginReq(), SimpleLTTarget_ext::SimpleLTTarget_ext(), and sc_gem5::TlmToGem5Bridge< BITWIDTH >::transport_dbg().
tlm_extension_base * tlm::tlm_generic_payload::get_extension | ( | unsigned int | index | ) | const |
Definition at line 340 of file gp.cc.
References MipsISA::index, and m_extensions.
|
inline |
|
inline |
Definition at line 216 of file gp.hh.
Referenced by tlm_generic_payload().
std::string tlm::tlm_generic_payload::get_response_string | ( | ) | const |
Definition at line 292 of file gp.cc.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::checkTransaction().
|
inline |
Definition at line 228 of file gp.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::nb_transport_fw(), tlm::tlm_from_hostendian_generic(), and tlm_generic_payload().
|
inline |
Definition at line 157 of file gp.hh.
Referenced by sc_gem5::packet2payload().
|
inline |
|
inline |
|
inline |
Definition at line 214 of file gp.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::checkTransaction().
|
inline |
|
private |
|
inline |
Definition at line 147 of file gp.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::handleBeginReq(), sc_gem5::Gem5ToTlmBridge< BITWIDTH >::pec(), and sc_gem5::Gem5ToTlmBridge< BITWIDTH >::recvRespRetry().
|
inline |
|
inline |
|
private |
void tlm::tlm_generic_payload::reset | ( | ) |
Definition at line 134 of file gp.cc.
References m_data, and m_length.
Referenced by mm::free(), and Gem5SystemC::MemoryManager::free().
|
inline |
Definition at line 202 of file gp.hh.
Referenced by SimpleBusLT< NR_OF_INITIATORS, NR_OF_TARGETS >::decode(), SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::decode(), SimpleLTInitiator2_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator1_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator_ext::invalidate_direct_mem_ptr(), sc_gem5::packet2payload(), SimpleATInitiator2::SimpleATInitiator2(), and SimpleLTInitiator1_dmi::SimpleLTInitiator1_dmi().
|
inline |
Definition at line 370 of file gp.hh.
Referenced by sc_gem5::packet2payload().
tlm_extension_base * tlm::tlm_generic_payload::set_auto_extension | ( | unsigned int | index, |
tlm_extension_base * | ext | ||
) |
|
inline |
|
inline |
|
inline |
Definition at line 198 of file gp.hh.
Referenced by sc_gem5::packet2payload(), SimpleATInitiator2::SimpleATInitiator2(), and SimpleLTInitiator1_dmi::SimpleLTInitiator1_dmi().
|
inline |
Definition at line 210 of file gp.hh.
Referenced by SimpleLTInitiator2_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator1_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator_ext::invalidate_direct_mem_ptr(), and sc_gem5::packet2payload().
|
inline |
Definition at line 206 of file gp.hh.
Referenced by SimpleLTInitiator2_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator1_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator_ext::invalidate_direct_mem_ptr(), and sc_gem5::packet2payload().
|
inline |
Definition at line 256 of file gp.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::b_transport(), sc_gem5::TlmToGem5Bridge< BITWIDTH >::get_direct_mem_ptr(), and SimpleLTInitiator1_dmi::SimpleLTInitiator1_dmi().
|
inline |
Definition at line 357 of file gp.hh.
Referenced by adapt_gp2ext< BUSWIDTH >::backward_nb_transport(), adapt_gp2ext< BUSWIDTH >::forward_nb_transport(), adapt_gp2ext< BUSWIDTH >::get_dmi_pointer(), and SimpleLTInitiator_ext::logEndTransaction().
tlm_extension_base * tlm::tlm_generic_payload::set_extension | ( | unsigned int | index, |
tlm_extension_base * | ext | ||
) |
|
inline |
|
inline |
|
inline |
Definition at line 194 of file gp.hh.
Referenced by SimpleLTInitiator2_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator1_dmi::invalidate_direct_mem_ptr(), and SimpleLTInitiator_ext::invalidate_direct_mem_ptr().
|
inline |
Definition at line 221 of file gp.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::b_transport(), sc_gem5::TlmToGem5Bridge< BITWIDTH >::get_direct_mem_ptr(), sc_gem5::TlmToGem5Bridge< BITWIDTH >::nb_transport_fw(), SimpleLTInitiator1_dmi::run(), and sc_gem5::TlmToGem5Bridge< BITWIDTH >::sendBeginResp().
|
inline |
Definition at line 230 of file gp.hh.
Referenced by sc_gem5::packet2payload().
void tlm::tlm_generic_payload::update_extensions_from | ( | const tlm_generic_payload & | other | ) |
Definition at line 249 of file gp.cc.
References ArmISA::i, and m_extensions.
void tlm::tlm_generic_payload::update_original_from | ( | const tlm_generic_payload & | other, |
bool | use_byte_enable_on_read = true |
||
) |
Definition at line 197 of file gp.cc.
References ArmISA::i, m_byte_enable, m_byte_enable_length, m_data, m_length, and ArmISA::u.
|
private |
Definition at line 306 of file gp.hh.
Referenced by tlm_generic_payload().
|
private |
Definition at line 312 of file gp.hh.
Referenced by deep_copy_from(), and update_original_from().
|
private |
Definition at line 313 of file gp.hh.
Referenced by deep_copy_from(), tlm_generic_payload(), and update_original_from().
|
private |
Definition at line 307 of file gp.hh.
Referenced by tlm_generic_payload().
|
private |
Definition at line 308 of file gp.hh.
Referenced by reset(), and update_original_from().
|
private |
Definition at line 438 of file gp.hh.
Referenced by clear_extension(), get_extension(), tlm_generic_payload(), and update_extensions_from().
|
private |
Definition at line 315 of file gp.hh.
Referenced by tlm_generic_payload().
|
private |
Definition at line 309 of file gp.hh.
Referenced by reset(), tlm_generic_payload(), and update_original_from().
|
private |
|
private |
Definition at line 310 of file gp.hh.
Referenced by tlm_generic_payload().
|
private |
Definition at line 314 of file gp.hh.
Referenced by tlm_generic_payload().