|
gem5 [DEVELOP-FOR-25.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) |
| void | cacheBackdoor (gem5::MemBackdoorPtr 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 | |
Protected Attributes inherited from sc_core::sc_module | |
| sc_sensitive | sensitive |
Definition at line 93 of file tlm_to_gem5.hh.
| typedef gem5::TlmToGem5BridgeBaseParams sc_gem5::TlmToGem5Bridge< BITWIDTH >::Params |
Definition at line 169 of file tlm_to_gem5.hh.
| sc_gem5::TlmToGem5Bridge< BITWIDTH >::TlmToGem5Bridge | ( | const Params & | p, |
| const sc_core::sc_module_name & | mn ) |
Definition at line 597 of file tlm_to_gem5.cc.
References _id, bmp, gem5::InvalidPortID, sc_core::sc_object::name(), needToSendRetry, pendingPacket, pendingRequest, peq, peq_cb(), responseInProgress, socket, system, TlmToGem5Bridge(), waitForRetry, and wrapper.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::BridgeRequestPort::BridgeRequestPort(), and TlmToGem5Bridge().
|
protected |
Definition at line 374 of file tlm_to_gem5.cc.
References _id, gem5::ArmISA::b, bmp, cacheBackdoor(), destroyPacket(), panic_if, sc_gem5::payload2packet(), gem5::sim_clock::as_int::ps, requestedBackdoors, sc_assert, sc_core::SC_PS, tlm::tlm_generic_payload::set_dmi_allowed(), sc_gem5::setPayloadResponse(), and gem5::ArmISA::t.
Referenced by before_end_of_elaboration().
|
overridevirtual |
Reimplemented from sc_core::sc_module.
Definition at line 612 of file tlm_to_gem5.cc.
References b_transport(), sc_core::sc_module::before_end_of_elaboration(), DPRINTF, get_direct_mem_ptr(), nb_transport_fw(), panic, socket, system, and transport_dbg().
|
private |
Definition at line 304 of file tlm_to_gem5.cc.
References gem5::MemBackdoor::addInvalidationCallback(), invalidateDmi(), and requestedBackdoors.
Referenced by b_transport(), and get_direct_mem_ptr().
|
private |
Definition at line 297 of file tlm_to_gem5.cc.
Referenced by b_transport(), recvTimingResp(), and transport_dbg().
|
overridevirtual |
Reimplemented from sc_core::sc_module.
Definition at line 586 of file tlm_to_gem5.cc.
References bmp, sc_core::sc_module::gem5_getPort(), and wrapper.
|
protected |
Definition at line 456 of file tlm_to_gem5.cc.
References bmp, cacheBackdoor(), tlm::tlm_dmi::DMI_ACCESS_NONE, tlm::tlm_dmi::DMI_ACCESS_READ, tlm::tlm_dmi::DMI_ACCESS_WRITE, 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.
Referenced by before_end_of_elaboration().
|
inline |
Definition at line 173 of file tlm_to_gem5.hh.
References socket.
|
private |
Definition at line 251 of file tlm_to_gem5.cc.
References _id, tlm::tlm_generic_payload::acquire(), bmp, sc_gem5::payload2packet(), pendingPacket, pendingRequest, tlm::tlm_generic_payload::release(), sc_assert, sc_core::SC_ZERO_TIME, sendBeginResp(), sendEndReq(), sc_gem5::setPayloadResponse(), and waitForRetry.
Referenced by peq_cb().
|
private |
Definition at line 283 of file tlm_to_gem5.cc.
References bmp, needToSendRetry, responseInProgress, and sc_assert.
Referenced by peq_cb().
|
private |
Definition at line 322 of file tlm_to_gem5.cc.
References gem5::AddrRange::end(), gem5::MemBackdoor::range(), requestedBackdoors, socket, and gem5::AddrRange::start().
Referenced by cacheBackdoor().
|
protected |
Definition at line 348 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, peq, 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.
Referenced by before_end_of_elaboration().
|
protected |
Definition at line 331 of file tlm_to_gem5.cc.
References tlm::BEGIN_REQ, tlm::END_RESP, handleBeginReq(), handleEndResp(), and panic.
Referenced by TlmToGem5Bridge().
|
protected |
Definition at line 578 of file tlm_to_gem5.cc.
References DPRINTF.
|
protected |
Definition at line 550 of file tlm_to_gem5.cc.
References bmp, pendingPacket, pendingRequest, sc_assert, sc_core::SC_ZERO_TIME, sendBeginResp(), sendEndReq(), sc_gem5::setPayloadResponse(), and waitForRetry.
|
protected |
Definition at line 502 of file tlm_to_gem5.cc.
References destroyPacket(), sc_core::sc_time::from_value(), gem5::Packet::headerDelay, gem5::Packet::isResponse(), needToSendRetry, gem5::Packet::payloadDelay, gem5::Packet::popSenderState(), responseInProgress, sc_assert, sendBeginResp(), and sc_gem5::setPayloadResponse().
|
private |
Definition at line 207 of file tlm_to_gem5.cc.
References tlm::BEGIN_RESP, bmp, tlm::END_RESP, tlm::tlm_generic_payload::get_address(), tlm::tlm_generic_payload::get_command(), tlm::tlm_generic_payload::get_data_length(), panic, gem5::MemBackdoor::Readable, responseInProgress, tlm::tlm_generic_payload::set_dmi_allowed(), socket, gem5::ArmISA::status, tlm::TLM_ACCEPTED, tlm::TLM_COMPLETED, tlm::TLM_READ_COMMAND, tlm::TLM_UPDATED, tlm::TLM_WRITE_COMMAND, and gem5::MemBackdoor::Writeable.
Referenced by handleBeginReq(), recvReqRetry(), and recvTimingResp().
|
private |
Definition at line 195 of file tlm_to_gem5.cc.
References tlm::END_REQ, panic_if, sc_core::SC_ZERO_TIME, socket, gem5::ArmISA::status, and tlm::TLM_ACCEPTED.
Referenced by handleBeginReq(), and recvReqRetry().
|
protected |
Definition at line 431 of file tlm_to_gem5.cc.
References _id, bmp, destroyPacket(), tlm::tlm_generic_payload::get_data_length(), sc_gem5::payload2packet(), sc_assert, and sc_gem5::setPayloadResponse().
Referenced by before_end_of_elaboration().
| const gem5::RequestorID sc_gem5::TlmToGem5Bridge< BITWIDTH >::_id |
Definition at line 180 of file tlm_to_gem5.hh.
Referenced by b_transport(), handleBeginReq(), TlmToGem5Bridge(), and transport_dbg().
|
private |
Definition at line 128 of file tlm_to_gem5.hh.
Referenced by b_transport(), gem5_getPort(), get_direct_mem_ptr(), handleBeginReq(), handleEndResp(), recvReqRetry(), sendBeginResp(), TlmToGem5Bridge(), and transport_dbg().
|
private |
Definition at line 122 of file tlm_to_gem5.hh.
Referenced by handleEndResp(), recvTimingResp(), and TlmToGem5Bridge().
|
private |
Definition at line 120 of file tlm_to_gem5.hh.
Referenced by handleBeginReq(), recvReqRetry(), and TlmToGem5Bridge().
|
private |
Definition at line 119 of file tlm_to_gem5.hh.
Referenced by handleBeginReq(), recvReqRetry(), and TlmToGem5Bridge().
|
private |
Definition at line 116 of file tlm_to_gem5.hh.
Referenced by nb_transport_fw(), and TlmToGem5Bridge().
|
private |
Definition at line 126 of file tlm_to_gem5.hh.
Referenced by b_transport(), cacheBackdoor(), and invalidateDmi().
|
private |
Definition at line 124 of file tlm_to_gem5.hh.
Referenced by handleEndResp(), recvTimingResp(), sendBeginResp(), and TlmToGem5Bridge().
|
private |
Definition at line 130 of file tlm_to_gem5.hh.
Referenced by before_end_of_elaboration(), getSocket(), invalidateDmi(), sendBeginResp(), sendEndReq(), and TlmToGem5Bridge().
|
private |
Definition at line 133 of file tlm_to_gem5.hh.
Referenced by before_end_of_elaboration(), and TlmToGem5Bridge().
|
private |
Definition at line 118 of file tlm_to_gem5.hh.
Referenced by handleBeginReq(), recvReqRetry(), and TlmToGem5Bridge().
|
private |
Definition at line 131 of file tlm_to_gem5.hh.
Referenced by gem5_getPort(), and TlmToGem5Bridge().