gem5
v21.2.1.0
|
#include <gem5_to_tlm.hh>
Classes | |
class | BridgeResponsePort |
Public Types | |
typedef gem5::Gem5ToTlmBridgeBaseParams | Params |
Protected Attributes | |
gem5::AddrRangeMap< gem5::MemBackdoorPtr > | backdoorMap |
![]() | |
sc_sensitive | sensitive |
Private Attributes | |
BridgeResponsePort | bridgeResponsePort |
tlm_utils::simple_initiator_socket< Gem5ToTlmBridge< BITWIDTH >, BITWIDTH > | socket |
sc_gem5::TlmInitiatorWrapper< BITWIDTH > | wrapper |
gem5::System * | system |
tlm::tlm_generic_payload * | blockingRequest |
A transaction after BEGIN_REQ has been sent but before END_REQ, which is blocking the request channel (Exlusion Rule, see IEEE1666) More... | |
bool | needToSendRequestRetry |
Did another gem5 request arrive while currently blocked? This variable is needed when a retry should happen. More... | |
tlm::tlm_generic_payload * | blockingResponse |
A response which has been asked to retry by gem5 and so is blocking the response channel. More... | |
gem5::AddrRangeList | addrRanges |
Definition at line 91 of file gem5_to_tlm.hh.
typedef gem5::Gem5ToTlmBridgeBaseParams sc_gem5::Gem5ToTlmBridge< BITWIDTH >::Params |
Definition at line 199 of file gem5_to_tlm.hh.
sc_gem5::Gem5ToTlmBridge< BITWIDTH >::Gem5ToTlmBridge | ( | const Params & | p, |
const sc_core::sc_module_name & | mn | ||
) |
Definition at line 503 of file gem5_to_tlm.cc.
|
overridevirtual |
Reimplemented from sc_core::sc_module.
Definition at line 529 of file gem5_to_tlm.cc.
References sc_core::sc_module::before_end_of_elaboration(), sc_gem5::Gem5ToTlmBridge< BITWIDTH >::invalidate_direct_mem_ptr(), and sc_gem5::Gem5ToTlmBridge< BITWIDTH >::nb_transport_bw().
|
overridevirtual |
Reimplemented from sc_core::sc_module.
Definition at line 517 of file gem5_to_tlm.cc.
References sc_core::sc_module::gem5_getPort().
|
inlineprotected |
Definition at line 187 of file gem5_to_tlm.hh.
References sc_gem5::Gem5ToTlmBridge< BITWIDTH >::addrRanges.
|
protected |
Definition at line 230 of file gem5_to_tlm.cc.
References tlm::tlm_generic_payload::get_address(), tlm::tlm_generic_payload::get_data_length(), tlm::tlm_dmi::get_dmi_ptr(), tlm::tlm_dmi::get_end_address(), tlm::tlm_dmi::get_start_address(), tlm::tlm_dmi::is_read_allowed(), tlm::tlm_dmi::is_write_allowed(), gem5::MemBackdoor::NoAccess, and gem5::MipsISA::r.
|
inline |
Definition at line 203 of file gem5_to_tlm.hh.
References sc_gem5::Gem5ToTlmBridge< BITWIDTH >::socket.
|
protected |
Definition at line 486 of file gem5_to_tlm.cc.
References gem5::MipsISA::r.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::before_end_of_elaboration().
|
protected |
Definition at line 474 of file gem5_to_tlm.cc.
References gem5::curTick(), gem5::MipsISA::event, sc_gem5::getPriorityOfTlmPhase(), gem5::X86ISA::system, tlm::TLM_ACCEPTED, and sc_core::sc_time::value().
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::before_end_of_elaboration().
|
protected |
Definition at line 178 of file gem5_to_tlm.cc.
References tlm::BEGIN_RESP, tlm::END_REQ, tlm::END_RESP, Gem5SystemC::Gem5Extension::getExtension(), tlm::tlm_generic_payload::release(), sc_assert, and sc_core::SC_ZERO_TIME.
|
protected |
Definition at line 262 of file gem5_to_tlm.cc.
References gem5::Packet::cacheResponding(), gem5::Packet::makeResponse(), gem5::Packet::needsResponse(), sc_gem5::packet2payload(), panic_if, sc_core::SC_ZERO_TIME, tlm::TLM_IGNORE_COMMAND, and sc_core::sc_time::value().
|
protected |
Definition at line 287 of file gem5_to_tlm.cc.
References gem5::Packet::cacheResponding(), gem5::Packet::makeResponse(), gem5::Packet::needsResponse(), sc_gem5::packet2payload(), panic_if, sc_core::SC_ZERO_TIME, tlm::TLM_IGNORE_COMMAND, and sc_core::sc_time::value().
|
protected |
Definition at line 457 of file gem5_to_tlm.cc.
References sc_gem5::packet2payload(), and SC_REPORT_FATAL.
|
protected |
Definition at line 320 of file gem5_to_tlm.cc.
References SC_REPORT_FATAL.
|
protected |
Definition at line 433 of file gem5_to_tlm.cc.
References tlm::END_RESP, Gem5SystemC::Gem5Extension::getExtension(), Gem5SystemC::Gem5Extension::getPacket(), tlm::tlm_generic_payload::release(), sc_assert, and sc_core::SC_ZERO_TIME.
|
protected |
Definition at line 330 of file gem5_to_tlm.cc.
References tlm::BEGIN_REQ, tlm::BEGIN_RESP, gem5::Packet::cacheResponding(), gem5::curTick(), tlm::END_REQ, tlm::END_RESP, gem5::MipsISA::event, sc_core::sc_time::from_value(), sc_gem5::getPriorityOfTlmPhase(), gem5::Packet::headerDelay, sc_gem5::packet2payload(), panic_if, gem5::Packet::payloadDelay, sc_assert, gem5::ArmISA::status, gem5::X86ISA::system, tlm::TLM_ACCEPTED, tlm::TLM_COMPLETED, and tlm::TLM_UPDATED.
|
protected |
Definition at line 416 of file gem5_to_tlm.cc.
References SC_REPORT_FATAL.
|
protected |
Definition at line 426 of file gem5_to_tlm.cc.
References panic.
|
private |
Definition at line 169 of file gem5_to_tlm.hh.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::getAddrRanges().
|
protected |
Definition at line 175 of file gem5_to_tlm.hh.
|
private |
A transaction after BEGIN_REQ has been sent but before END_REQ, which is blocking the request channel (Exlusion Rule, see IEEE1666)
Definition at line 155 of file gem5_to_tlm.hh.
|
private |
A response which has been asked to retry by gem5 and so is blocking the response channel.
Definition at line 167 of file gem5_to_tlm.hh.
|
private |
Definition at line 144 of file gem5_to_tlm.hh.
|
private |
Did another gem5 request arrive while currently blocked? This variable is needed when a retry should happen.
Definition at line 161 of file gem5_to_tlm.hh.
|
private |
Definition at line 146 of file gem5_to_tlm.hh.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::getSocket().
|
private |
Definition at line 149 of file gem5_to_tlm.hh.
|
private |
Definition at line 147 of file gem5_to_tlm.hh.