14#ifndef TLM2SIMICS_TRANSACTION_H
15#define TLM2SIMICS_TRANSACTION_H
37 tlm::tlm_response_status simics_transaction(
38 ConfObjectRef &simics_obj,
39 tlm::tlm_generic_payload *trans)
override;
40 unsigned int debug_transaction(ConfObjectRef &simics_obj,
41 tlm::tlm_generic_payload *trans)
override;
43 unsigned int transaction(ConfObjectRef &simics_obj,
44 tlm::tlm_generic_payload *trans,
bool inquiry);
55 virtual void add_custom_atoms(
56 const tlm::tlm_generic_payload *tlm_transaction,
57 std::vector<atom_t> *atoms) {}
61 UpdateTarget() : map_target_(NULL) {}
62 virtual ~UpdateTarget() {
64 SIM_free_map_target(map_target_);
68 void update_target(ConfObjectRef old_target,
69 ConfObjectRef new_target)
override {
71 SIM_free_map_target(map_target_);
72 map_target_ =
nullptr;
76 map_target_ = SIM_new_map_target(new_target.object(),
81 map_target_t *map_target() {
86 map_target_t *map_target_;
89 UpdateTarget update_target_;
91 conf_object_t *target_socket_proxy_obj_ {
nullptr};
Definition: interface_provider.h:32
Returns the interface provided by the associated Simics object.
Definition: interface_provider.h:30
Base class for transaction handlers that support DMI.
Definition: dmi_transaction_handler.h:30
std::shared_ptr< GasketInterface > Ptr
Definition: gasket_interface.h:30
Protocol specific transaction handler for Simics transaction interface.
Definition: transaction.h:29
void set_gasket(GasketInterface::Ptr gasketInterface) override