gem5
v20.0.0.2
|
#include <gem5_to_tlm.hh>
Classes | |
class | BridgeSlavePort |
Public Types | |
typedef Gem5ToTlmBridgeBaseParams | Params |
Protected Attributes | |
AddrRangeMap< MemBackdoorPtr > | backdoorMap |
![]() | |
sc_sensitive | sensitive |
Private Attributes | |
BridgeSlavePort | bsp |
tlm_utils::simple_initiator_socket< Gem5ToTlmBridge< BITWIDTH >, BITWIDTH > | socket |
sc_gem5::TlmInitiatorWrapper< BITWIDTH > | wrapper |
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... | |
AddrRangeList | addrRanges |
Definition at line 85 of file gem5_to_tlm.hh.
typedef Gem5ToTlmBridgeBaseParams sc_gem5::Gem5ToTlmBridge< BITWIDTH >::Params |
Definition at line 191 of file gem5_to_tlm.hh.
sc_gem5::Gem5ToTlmBridge< BITWIDTH >::Gem5ToTlmBridge | ( | Params * | p, |
const sc_core::sc_module_name & | mn | ||
) |
Definition at line 443 of file gem5_to_tlm.cc.
|
overridevirtual |
Reimplemented from sc_core::sc_module.
Definition at line 468 of file gem5_to_tlm.cc.
References sc_core::sc_module::before_end_of_elaboration(), sc_gem5::Gem5ToTlmBridge< BITWIDTH >::bsp, sc_gem5::Gem5ToTlmBridge< BITWIDTH >::invalidate_direct_mem_ptr(), sc_core::sc_object::name(), sc_gem5::Gem5ToTlmBridge< BITWIDTH >::nb_transport_bw(), SlavePort::sendRangeChange(), and sc_gem5::Gem5ToTlmBridge< BITWIDTH >::socket.
|
override |
Definition at line 456 of file gem5_to_tlm.cc.
References sc_gem5::Gem5ToTlmBridge< BITWIDTH >::bsp, sc_core::sc_module::gem5_getPort(), and sc_gem5::Gem5ToTlmBridge< BITWIDTH >::wrapper.
|
inlineprotected |
Definition at line 179 of file gem5_to_tlm.hh.
References sc_core::sc_module::gem5_getPort(), and ArmISA::t.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeSlavePort::getAddrRanges().
|
protected |
Definition at line 174 of file gem5_to_tlm.cc.
References tlm::tlm_generic_payload::get_address(), tlm::tlm_generic_payload::get_data_length(), MemBackdoor::NoAccess, MipsISA::r, and MemBackdoor::readable().
|
inline |
Definition at line 195 of file gem5_to_tlm.hh.
References sc_core::sc_module::before_end_of_elaboration().
|
protected |
Definition at line 426 of file gem5_to_tlm.cc.
References MipsISA::r.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::before_end_of_elaboration().
|
protected |
Definition at line 415 of file gem5_to_tlm.cc.
References curTick(), 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 118 of file gem5_to_tlm.cc.
References tlm::BEGIN_RESP, X86ISA::bsp, 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 206 of file gem5_to_tlm.cc.
References Packet::cacheResponding(), Packet::makeResponse(), Packet::needsResponse(), sc_gem5::packet2payload(), panic_if, sc_core::SC_ZERO_TIME, tlm::TLM_IGNORE_COMMAND, and sc_core::sc_time::value().
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeSlavePort::recvAtomic().
|
protected |
Definition at line 231 of file gem5_to_tlm.cc.
References Packet::cacheResponding(), Packet::makeResponse(), Packet::needsResponse(), sc_gem5::packet2payload(), panic_if, sc_core::SC_ZERO_TIME, and tlm::TLM_IGNORE_COMMAND.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeSlavePort::recvAtomicBackdoor().
|
protected |
Definition at line 398 of file gem5_to_tlm.cc.
References sc_gem5::packet2payload(), and SC_REPORT_FATAL.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeSlavePort::recvFunctional().
|
protected |
Definition at line 264 of file gem5_to_tlm.cc.
References SC_REPORT_FATAL.
|
protected |
Definition at line 374 of file gem5_to_tlm.cc.
References X86ISA::bsp, tlm::END_RESP, Gem5SystemC::Gem5Extension::getExtension(), Gem5SystemC::Gem5Extension::getPacket(), tlm::tlm_generic_payload::release(), sc_assert, and sc_core::SC_ZERO_TIME.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeSlavePort::recvRespRetry().
|
protected |
Definition at line 274 of file gem5_to_tlm.cc.
References tlm::BEGIN_REQ, tlm::BEGIN_RESP, Packet::cacheResponding(), curTick(), tlm::END_REQ, tlm::END_RESP, sc_core::sc_time::from_value(), Packet::headerDelay, sc_gem5::packet2payload(), panic_if, Packet::payloadDelay, sc_assert, ArmISA::status, X86ISA::system, tlm::TLM_ACCEPTED, tlm::TLM_COMPLETED, and tlm::TLM_UPDATED.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeSlavePort::recvTimingReq().
|
protected |
Definition at line 357 of file gem5_to_tlm.cc.
References SC_REPORT_FATAL.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeSlavePort::recvTimingSnoopResp().
|
protected |
Definition at line 367 of file gem5_to_tlm.cc.
References panic.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeSlavePort::tryTiming().
|
private |
Definition at line 162 of file gem5_to_tlm.hh.
|
protected |
Definition at line 168 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 148 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 160 of file gem5_to_tlm.hh.
|
private |
Definition at line 137 of file gem5_to_tlm.hh.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::before_end_of_elaboration(), and sc_gem5::Gem5ToTlmBridge< BITWIDTH >::gem5_getPort().
|
private |
Did another gem5 request arrive while currently blocked? This variable is needed when a retry should happen.
Definition at line 154 of file gem5_to_tlm.hh.
|
private |
Definition at line 139 of file gem5_to_tlm.hh.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::before_end_of_elaboration().
|
private |
Definition at line 142 of file gem5_to_tlm.hh.
|
private |
Definition at line 140 of file gem5_to_tlm.hh.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::gem5_getPort().