30#include "params/AmbaFromTlmBridge64.hh"
31#include "pv_userpayload_extension.h"
41 const AmbaFromTlmBridge64Params ¶ms,
43 amba_pv::amba_pv_from_tlm_bridge<64>(
name),
44 targetProxy(
"target_proxy"),
45 initiatorProxy(
"initiator_proxy"),
46 tlmWrapper(targetProxy,
std::string(
name) +
".tlm", -1),
47 ambaWrapper(amba_pv_m,
std::string(
name) +
".amba", -1)
61 if (if_name ==
"tlm") {
63 }
else if (if_name ==
"amba") {
66 return amba_pv::amba_pv_from_tlm_bridge<64>::gem5_getPort(
97 targetProxy->invalidate_direct_mem_ptr(start_range, end_range);
104 trans.get_extension(control_ex);
109 amba_pv::amba_pv_extension *amba_ex =
nullptr;
110 trans.get_extension(amba_ex);
116 amba_ex->set_non_secure(!control_ex->
isSecure());
bool isPrivileged() const
bool isInstruction() const
Ports are used to interface objects to each other.
AmbaFromTlmBridge64(const AmbaFromTlmBridge64Params ¶ms, 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)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Overload hash function for BasicBlockRange type.
const std::string & name()