gem5
v20.0.0.2
|
#include <tlm_to_gem5.hh>
Classes | |
class | BridgeMasterPort |
struct | TlmSenderState |
Public Types | |
typedef TlmToGem5BridgeBaseParams | Params |
Public Attributes | |
const MasterID | masterId |
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 (PacketPtr pkt) |
void | checkTransaction (tlm::tlm_generic_payload &trans) |
void | invalidateDmi (const ::MemBackdoor &backdoor) |
Private Attributes | |
tlm_utils::peq_with_cb_and_phase< TlmToGem5Bridge< BITWIDTH > > | peq |
bool | waitForRetry |
tlm::tlm_generic_payload * | pendingRequest |
PacketPtr | pendingPacket |
bool | needToSendRetry |
bool | responseInProgress |
BridgeMasterPort | bmp |
tlm_utils::simple_target_socket< TlmToGem5Bridge< BITWIDTH >, BITWIDTH > | socket |
sc_gem5::TlmTargetWrapper< BITWIDTH > | wrapper |
System * | system |
Additional Inherited Members | |
![]() | |
sc_sensitive | sensitive |
Definition at line 83 of file tlm_to_gem5.hh.
typedef TlmToGem5BridgeBaseParams sc_gem5::TlmToGem5Bridge< BITWIDTH >::Params |
Definition at line 163 of file tlm_to_gem5.hh.
sc_gem5::TlmToGem5Bridge< BITWIDTH >::TlmToGem5Bridge | ( | Params * | p, |
const sc_core::sc_module_name & | mn | ||
) |
Definition at line 465 of file tlm_to_gem5.cc.
|
protected |
Definition at line 263 of file tlm_to_gem5.cc.
References tlm::tlm_generic_payload::get_extension(), Gem5SystemC::Gem5Extension::getPacket(), Packet::isResponse(), Packet::needsResponse(), panic_if, sc_gem5::payload2packet(), SimClock::Int::ps, sc_core::SC_PS, tlm::tlm_generic_payload::set_dmi_allowed(), tlm::tlm_generic_payload::set_response_status(), Gem5SystemC::Gem5Extension::setPipeThrough(), and tlm::TLM_OK_RESPONSE.
|
overridevirtual |
Reimplemented from sc_core::sc_module.
Definition at line 480 of file tlm_to_gem5.cc.
References sc_core::sc_module::before_end_of_elaboration(), System::isAtomicMode(), System::isTimingMode(), sc_core::sc_object::name(), panic, SC_REPORT_INFO, sc_gem5::TlmToGem5Bridge< BITWIDTH >::socket, and sc_gem5::TlmToGem5Bridge< BITWIDTH >::system.
|
private |
Definition at line 200 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 ArmISA::ss.
|
private |
Definition at line 193 of file tlm_to_gem5.cc.
|
override |
Definition at line 454 of file tlm_to_gem5.cc.
References sc_core::sc_module::gem5_getPort().
|
protected |
Definition at line 326 of file tlm_to_gem5.cc.
References MemBackdoor::addInvalidationCallback(), tlm::tlm_dmi::DMI_ACCESS_NONE, tlm::tlm_dmi::DMI_ACCESS_READ, tlm::tlm_dmi::DMI_ACCESS_WRITE, AddrRange::end(), tlm::tlm_generic_payload::get_extension(), Gem5SystemC::Gem5Extension::getPacket(), Request::NO_ACCESS, sc_gem5::payload2packet(), MemBackdoor::ptr(), MemBackdoor::range(), MemBackdoor::readable(), 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(), Gem5SystemC::Gem5Extension::setPipeThrough(), AddrRange::start(), tlm::TLM_OK_RESPONSE, and MemBackdoor::writeable().
|
inline |
Definition at line 167 of file tlm_to_gem5.hh.
References sc_core::sc_module::before_end_of_elaboration().
|
private |
Definition at line 139 of file tlm_to_gem5.cc.
References tlm::tlm_generic_payload::acquire(), tlm::tlm_generic_payload::get_extension(), Gem5SystemC::Gem5Extension::getPacket(), sc_gem5::payload2packet(), Packet::pushSenderState(), tlm::tlm_generic_payload::release(), sc_assert, and Gem5SystemC::Gem5Extension::setPipeThrough().
|
private |
Definition at line 177 of file tlm_to_gem5.cc.
References sc_assert.
|
private |
Definition at line 212 of file tlm_to_gem5.cc.
|
protected |
Definition at line 237 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(), 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 ArmISA::width.
|
protected |
Definition at line 220 of file tlm_to_gem5.cc.
References tlm::BEGIN_REQ, tlm::END_RESP, and panic.
|
protected |
Definition at line 446 of file tlm_to_gem5.cc.
References SC_REPORT_WARNING.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::BridgeMasterPort::recvRangeChange().
|
protected |
Definition at line 426 of file tlm_to_gem5.cc.
References sc_assert.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::BridgeMasterPort::recvReqRetry().
|
protected |
Definition at line 378 of file tlm_to_gem5.cc.
References sc_core::sc_time::from_value(), Packet::headerDelay, Gem5SystemC::Gem5Extension::isPipeThrough(), Packet::isResponse(), Packet::payloadDelay, Packet::popSenderState(), and sc_assert.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::BridgeMasterPort::recvTimingResp().
|
private |
Definition at line 116 of file tlm_to_gem5.cc.
References tlm::BEGIN_RESP, tlm::END_RESP, panic, tlm::tlm_generic_payload::set_response_status(), ArmISA::status, tlm::TLM_ACCEPTED, tlm::TLM_COMPLETED, tlm::TLM_OK_RESPONSE, and tlm::TLM_UPDATED.
|
private |
Definition at line 104 of file tlm_to_gem5.cc.
References tlm::END_REQ, panic_if, sc_core::SC_ZERO_TIME, ArmISA::status, and tlm::TLM_ACCEPTED.
|
protected |
Definition at line 303 of file tlm_to_gem5.cc.
References tlm::tlm_generic_payload::get_data_length(), tlm::tlm_generic_payload::get_extension(), Gem5SystemC::Gem5Extension::getPacket(), sc_gem5::payload2packet(), and Gem5SystemC::Gem5Extension::setPipeThrough().
|
private |
Definition at line 122 of file tlm_to_gem5.hh.
const MasterID sc_gem5::TlmToGem5Bridge< BITWIDTH >::masterId |
Definition at line 174 of file tlm_to_gem5.hh.
|
private |
Definition at line 118 of file tlm_to_gem5.hh.
|
private |
Definition at line 116 of file tlm_to_gem5.hh.
|
private |
Definition at line 115 of file tlm_to_gem5.hh.
|
private |
Definition at line 112 of file tlm_to_gem5.hh.
|
private |
Definition at line 120 of file tlm_to_gem5.hh.
|
private |
Definition at line 124 of file tlm_to_gem5.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::before_end_of_elaboration().
|
private |
Definition at line 127 of file tlm_to_gem5.hh.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::before_end_of_elaboration().
|
private |
Definition at line 114 of file tlm_to_gem5.hh.
|
private |
Definition at line 125 of file tlm_to_gem5.hh.