30 #include "params/AmbaFromTlmBridge64.hh"
31 #include "pv_userpayload_extension.h"
42 amba_pv::amba_pv_from_tlm_bridge<64>(
name),
43 targetProxy(
"target_proxy"),
44 initiatorProxy(
"initiator_proxy"),
45 tlmWrapper(targetProxy,
std::string(
name) +
".tlm", -1),
46 ambaWrapper(amba_pv_m,
std::string(
name) +
".amba", -1)
60 if (if_name ==
"tlm") {
62 }
else if (if_name ==
"amba") {
65 return amba_pv::amba_pv_from_tlm_bridge<64>::gem5_getPort(
96 targetProxy->invalidate_direct_mem_ptr(start_range, end_range);
103 trans.get_extension(control_ex);
108 amba_pv::amba_pv_extension *amba_ex =
nullptr;
109 trans.get_extension(amba_ex);
115 amba_ex->set_non_secure(!control_ex->
isSecure());
122 AmbaFromTlmBridge64Params::create()
const
bool isPrivileged() const
bool isInstruction() const
Ports are used to interface objects to each other.
AmbaFromTlmBridge64(const sc_core::sc_module_name &name)
void bTransport(amba_pv::amba_pv_transaction &trans, sc_core::sc_time &t)
tlm_utils::simple_initiator_socket< AmbaFromTlmBridge64, 64, tlm::tlm_base_protocol_types > initiatorProxy
void syncControlExtension(amba_pv::amba_pv_transaction &trans)
void invalidateDirectMemPtr(sc_dt::uint64 start_range, sc_dt::uint64 end_range)
tlm_utils::simple_target_socket< AmbaFromTlmBridge64, 64, tlm::tlm_base_protocol_types > targetProxy
gem5::Port & gem5_getPort(const std::string &if_name, int idx=-1) override
bool getDirectMemPtr(amba_pv::amba_pv_transaction &trans, tlm::tlm_dmi &dmi_data)
AmbaInitiator ambaWrapper
sc_gem5::TlmTargetWrapper< 64 > tlmWrapper
unsigned int transportDbg(amba_pv::amba_pv_transaction &trans)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
GEM5_DEPRECATED_NAMESPACE(GuestABI, guest_abi)
Overload hash function for BasicBlockRange type.
const std::string & name()