gem5
[DEVELOP-FOR-23.0]
|
#include <tlm_to_gem5.hh>
Classes | |
class | BridgeRequestPort |
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 | 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 |
std::unordered_set< gem5::MemBackdoorPtr > | requestedBackdoors |
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 93 of file tlm_to_gem5.hh.
typedef gem5::TlmToGem5BridgeBaseParams sc_gem5::TlmToGem5Bridge< BITWIDTH >::Params |
Definition at line 167 of file tlm_to_gem5.hh.
sc_gem5::TlmToGem5Bridge< BITWIDTH >::TlmToGem5Bridge | ( | const Params & | p, |
const sc_core::sc_module_name & | mn | ||
) |
Definition at line 567 of file tlm_to_gem5.cc.
|
protected |
Definition at line 356 of file tlm_to_gem5.cc.
References panic_if, sc_gem5::payload2packet(), gem5::sim_clock::as_int::ps, sc_assert, sc_core::SC_PS, tlm::tlm_generic_payload::set_dmi_allowed(), sc_gem5::setPayloadResponse(), and gem5::VegaISA::t.
|
overridevirtual |
Reimplemented from sc_core::sc_module.
Definition at line 582 of file tlm_to_gem5.cc.
References sc_core::sc_module::before_end_of_elaboration(), DPRINTF, panic, and gem5::X86ISA::system.
|
private |
Definition at line 297 of file tlm_to_gem5.cc.
|
overridevirtual |
Reimplemented from sc_core::sc_module.
Definition at line 556 of file tlm_to_gem5.cc.
References sc_core::sc_module::gem5_getPort().
|
protected |
Definition at line 417 of file tlm_to_gem5.cc.
References tlm::tlm_dmi::DMI_ACCESS_NONE, tlm::tlm_dmi::DMI_ACCESS_READ, tlm::tlm_dmi::DMI_ACCESS_WRITE, flags, tlm::tlm_generic_payload::get_address(), tlm::tlm_generic_payload::get_command(), tlm::tlm_generic_payload::get_data_length(), panic, gem5::MemBackdoor::Readable, 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(), tlm::TLM_OK_RESPONSE, tlm::TLM_READ_COMMAND, tlm::TLM_WRITE_COMMAND, and gem5::MemBackdoor::Writeable.
|
inline |
Definition at line 171 of file tlm_to_gem5.hh.
References sc_gem5::TlmToGem5Bridge< BITWIDTH >::socket.
|
private |
Definition at line 251 of file tlm_to_gem5.cc.
References tlm::tlm_generic_payload::acquire(), sc_gem5::payload2packet(), tlm::tlm_generic_payload::release(), sc_assert, sc_core::SC_ZERO_TIME, and sc_gem5::setPayloadResponse().
|
private |
Definition at line 283 of file tlm_to_gem5.cc.
References sc_assert.
|
private |
Definition at line 304 of file tlm_to_gem5.cc.
References gem5::AddrRange::end(), gem5::MemBackdoor::range(), and gem5::AddrRange::start().
|
protected |
Definition at line 330 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(), 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 313 of file tlm_to_gem5.cc.
References tlm::BEGIN_REQ, tlm::END_RESP, and panic.
|
protected |
Definition at line 548 of file tlm_to_gem5.cc.
References DPRINTF.
|
protected |
Definition at line 521 of file tlm_to_gem5.cc.
References sc_assert, sc_core::SC_ZERO_TIME, and sc_gem5::setPayloadResponse().
|
protected |
Definition at line 473 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(), sc_assert, and sc_gem5::setPayloadResponse().
|
private |
Definition at line 207 of file tlm_to_gem5.cc.
References tlm::BEGIN_RESP, tlm::END_RESP, flags, tlm::tlm_generic_payload::get_address(), tlm::tlm_generic_payload::get_command(), tlm::tlm_generic_payload::get_data_length(), panic, gem5::MemBackdoor::Readable, tlm::tlm_generic_payload::set_dmi_allowed(), gem5::ArmISA::status, tlm::TLM_ACCEPTED, tlm::TLM_COMPLETED, tlm::TLM_READ_COMMAND, tlm::TLM_UPDATED, tlm::TLM_WRITE_COMMAND, and gem5::MemBackdoor::Writeable.
|
private |
Definition at line 195 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 393 of file tlm_to_gem5.cc.
References tlm::tlm_generic_payload::get_data_length(), sc_gem5::payload2packet(), and sc_assert.
const gem5::RequestorID sc_gem5::TlmToGem5Bridge< BITWIDTH >::_id |
Definition at line 178 of file tlm_to_gem5.hh.
|
private |
Definition at line 128 of file tlm_to_gem5.hh.
|
private |
Definition at line 122 of file tlm_to_gem5.hh.
|
private |
Definition at line 120 of file tlm_to_gem5.hh.
|
private |
Definition at line 119 of file tlm_to_gem5.hh.
|
private |
Definition at line 116 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 130 of file tlm_to_gem5.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::getSocket().
|
private |
Definition at line 133 of file tlm_to_gem5.hh.
|
private |
Definition at line 118 of file tlm_to_gem5.hh.
|
private |
Definition at line 131 of file tlm_to_gem5.hh.