gem5
v21.2.1.0
|
#include <tlm_to_gem5.hh>
Classes | |
class | BridgeRequestPort |
struct | TlmSenderState |
Public Types | |
typedef gem5::TlmToGem5BridgeBaseParams | Params |
Public Attributes | |
const gem5::RequestorID | _id |
Private Member Functions | |
void | sendEndReq (tlm::tlm_generic_payload &trans) |
void | sendBeginResp (tlm::tlm_generic_payload &trans, sc_core::sc_time &delay) |
void | handleBeginReq (tlm::tlm_generic_payload &trans) |
void | handleEndResp (tlm::tlm_generic_payload &trans) |
void | destroyPacket (gem5::PacketPtr pkt) |
void | checkTransaction (tlm::tlm_generic_payload &trans) |
void | invalidateDmi (const gem5::MemBackdoor &backdoor) |
Private Attributes | |
tlm_utils::peq_with_cb_and_phase< TlmToGem5Bridge< BITWIDTH > > | peq |
bool | waitForRetry |
tlm::tlm_generic_payload * | pendingRequest |
gem5::PacketPtr | pendingPacket |
bool | needToSendRetry |
bool | responseInProgress |
BridgeRequestPort | bmp |
tlm_utils::simple_target_socket< TlmToGem5Bridge< BITWIDTH >, BITWIDTH > | socket |
sc_gem5::TlmTargetWrapper< BITWIDTH > | wrapper |
gem5::System * | system |
Additional Inherited Members | |
![]() | |
sc_sensitive | sensitive |
Definition at line 91 of file tlm_to_gem5.hh.
typedef gem5::TlmToGem5BridgeBaseParams sc_gem5::TlmToGem5Bridge< BITWIDTH >::Params |
Definition at line 171 of file tlm_to_gem5.hh.
sc_gem5::TlmToGem5Bridge< BITWIDTH >::TlmToGem5Bridge | ( | const Params & | p, |
const sc_core::sc_module_name & | mn | ||
) |
Definition at line 526 of file tlm_to_gem5.cc.
|
protected |
Definition at line 321 of file tlm_to_gem5.cc.
References tlm::tlm_generic_payload::get_extension(), Gem5SystemC::Gem5Extension::getPacket(), gem5::Packet::isResponse(), gem5::Packet::needsResponse(), panic_if, sc_gem5::payload2packet(), gem5::sim_clock::as_int::ps, sc_core::SC_PS, tlm::tlm_generic_payload::set_dmi_allowed(), tlm::tlm_generic_payload::set_response_status(), gem5::ArmISA::t, and tlm::TLM_OK_RESPONSE.
|
overridevirtual |
Reimplemented from sc_core::sc_module.
Definition at line 541 of file tlm_to_gem5.cc.
References sc_core::sc_module::before_end_of_elaboration(), panic, SC_REPORT_INFO, and gem5::X86ISA::system.
|
private |
Definition at line 258 of file tlm_to_gem5.cc.
References tlm::tlm_generic_payload::get_response_string(), tlm::tlm_generic_payload::is_response_error(), SC_REPORT_ERROR, and ss.
|
private |
Definition at line 251 of file tlm_to_gem5.cc.
|
overridevirtual |
Reimplemented from sc_core::sc_module.
Definition at line 515 of file tlm_to_gem5.cc.
References sc_core::sc_module::gem5_getPort().
|
protected |
Definition at line 383 of file tlm_to_gem5.cc.
References gem5::MemBackdoor::addInvalidationCallback(), tlm::tlm_dmi::DMI_ACCESS_NONE, tlm::tlm_dmi::DMI_ACCESS_READ, tlm::tlm_dmi::DMI_ACCESS_WRITE, gem5::AddrRange::end(), tlm::tlm_generic_payload::get_extension(), Gem5SystemC::Gem5Extension::getPacket(), gem5::Request::NO_ACCESS, sc_gem5::payload2packet(), gem5::MemBackdoor::ptr(), gem5::MemBackdoor::range(), gem5::MemBackdoor::readable(), gem5::Packet::req, tlm::tlm_generic_payload::set_dmi_allowed(), tlm::tlm_dmi::set_dmi_ptr(), tlm::tlm_dmi::set_end_address(), tlm::tlm_dmi::set_granted_access(), tlm::tlm_generic_payload::set_response_status(), tlm::tlm_dmi::set_start_address(), gem5::AddrRange::start(), tlm::TLM_OK_RESPONSE, and gem5::MemBackdoor::writeable().
|
inline |
Definition at line 175 of file tlm_to_gem5.hh.
References sc_gem5::TlmToGem5Bridge< BITWIDTH >::socket.
|
private |
Definition at line 191 of file tlm_to_gem5.cc.
References tlm::tlm_generic_payload::acquire(), tlm::tlm_generic_payload::get_extension(), Gem5SystemC::Gem5Extension::getPacket(), gem5::Packet::needsResponse(), sc_gem5::payload2packet(), gem5::Packet::pushSenderState(), tlm::tlm_generic_payload::release(), sc_assert, and sc_core::SC_ZERO_TIME.
|
private |
Definition at line 235 of file tlm_to_gem5.cc.
References sc_assert.
|
private |
Definition at line 270 of file tlm_to_gem5.cc.
References gem5::AddrRange::end(), gem5::MemBackdoor::range(), and gem5::AddrRange::start().
|
protected |
Definition at line 295 of file tlm_to_gem5.cc.
References tlm::tlm_generic_payload::acquire(), tlm::tlm_generic_payload::get_byte_enable_ptr(), tlm::tlm_generic_payload::get_data_length(), tlm::tlm_generic_payload::get_streaming_width(), gem5::ArmISA::len, tlm::tlm_generic_payload::set_response_status(), tlm::TLM_ACCEPTED, tlm::TLM_BURST_ERROR_RESPONSE, tlm::TLM_BYTE_ENABLE_ERROR_RESPONSE, tlm::TLM_COMPLETED, and gem5::ArmISA::width.
|
protected |
Definition at line 278 of file tlm_to_gem5.cc.
References tlm::BEGIN_REQ, tlm::END_RESP, and panic.
|
protected |
Definition at line 507 of file tlm_to_gem5.cc.
References SC_REPORT_WARNING.
|
protected |
Definition at line 480 of file tlm_to_gem5.cc.
References sc_assert, and sc_core::SC_ZERO_TIME.
|
protected |
Definition at line 434 of file tlm_to_gem5.cc.
References sc_core::sc_time::from_value(), gem5::Packet::headerDelay, gem5::Packet::isResponse(), gem5::Packet::payloadDelay, gem5::Packet::popSenderState(), and sc_assert.
|
private |
Definition at line 168 of file tlm_to_gem5.cc.
References tlm::BEGIN_RESP, tlm::END_RESP, panic, tlm::tlm_generic_payload::set_response_status(), gem5::ArmISA::status, tlm::TLM_ACCEPTED, tlm::TLM_COMPLETED, tlm::TLM_OK_RESPONSE, and tlm::TLM_UPDATED.
|
private |
Definition at line 156 of file tlm_to_gem5.cc.
References tlm::END_REQ, panic_if, sc_core::SC_ZERO_TIME, gem5::ArmISA::status, and tlm::TLM_ACCEPTED.
|
protected |
Definition at line 361 of file tlm_to_gem5.cc.
References tlm::tlm_generic_payload::get_data_length(), tlm::tlm_generic_payload::get_extension(), Gem5SystemC::Gem5Extension::getPacket(), and sc_gem5::payload2packet().
const gem5::RequestorID sc_gem5::TlmToGem5Bridge< BITWIDTH >::_id |
Definition at line 182 of file tlm_to_gem5.hh.
|
private |
Definition at line 130 of file tlm_to_gem5.hh.
|
private |
Definition at line 126 of file tlm_to_gem5.hh.
|
private |
Definition at line 124 of file tlm_to_gem5.hh.
|
private |
Definition at line 123 of file tlm_to_gem5.hh.
|
private |
Definition at line 120 of file tlm_to_gem5.hh.
|
private |
Definition at line 128 of file tlm_to_gem5.hh.
|
private |
Definition at line 132 of file tlm_to_gem5.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::getSocket().
|
private |
Definition at line 135 of file tlm_to_gem5.hh.
|
private |
Definition at line 122 of file tlm_to_gem5.hh.
|
private |
Definition at line 133 of file tlm_to_gem5.hh.