16#ifndef TLM2SIMICS_TRANSACTION_H
17#define TLM2SIMICS_TRANSACTION_H
39 tlm::tlm_response_status simics_transaction(
40 ConfObjectRef &simics_obj,
41 tlm::tlm_generic_payload *trans)
override;
42 unsigned int debug_transaction(ConfObjectRef &simics_obj,
43 tlm::tlm_generic_payload *trans)
override;
45 unsigned int transaction(ConfObjectRef &simics_obj,
46 tlm::tlm_generic_payload *trans,
bool inquiry);
57 virtual void add_custom_atoms(
58 const tlm::tlm_generic_payload *tlm_transaction,
59 std::vector<atom_t> *atoms) {}
63 UpdateTarget() : map_target_(NULL) {}
64 virtual ~UpdateTarget() {
66 SIM_free_map_target(map_target_);
70 void update_target(ConfObjectRef old_target,
71 ConfObjectRef new_target)
override {
73 SIM_free_map_target(map_target_);
74 map_target_ =
nullptr;
78 map_target_ = SIM_new_map_target(new_target.object(),
83 map_target_t *map_target() {
88 map_target_t *map_target_;
91 UpdateTarget update_target_;
93 conf_object_t *target_socket_proxy_obj_ {
nullptr};
Definition: interface_provider.h:34
Returns the interface provided by the associated Simics object.
Definition: interface_provider.h:32
Base class for transaction handlers that support DMI.
Definition: dmi_transaction_handler.h:32
std::shared_ptr< GasketInterface > Ptr
Definition: gasket_interface.h:32
Protocol specific transaction handler for Simics transaction interface.
Definition: transaction.h:31
void set_gasket(GasketInterface::Ptr gasketInterface) override
Definition: pci_bus_interface.h:24