14#ifndef SIMICS_SYSTEMC_TLM2SIMICS_DMI_TRANSACTION_HANDLER_H
15#define SIMICS_SYSTEMC_TLM2SIMICS_DMI_TRANSACTION_HANDLER_H
17#include <simics/model-iface/direct-memory.h>
42 tlm::tlm_generic_payload &trans,
43 tlm::tlm_dmi& dmi_data)
override;
45 tlm::tlm_generic_payload *trans)
override;
49 ConfObjectRef new_target)
override;
53 ConfObjectRef target);
58 bool hasDirectMemoryUpdateInterface(ConfObjectRef simics_obj);
62 bool has_direct_memory_update_iface_checked_;
63 bool has_direct_memory_update_iface_;
Definition: interface_provider.h:32
Returns the interface provided by the associated Simics object.
Definition: interface_provider.h:30
Definition: simics_target_lock.h:25
Interface implemented by the ExtensionReceiver class, used by the ExtensionDispatcher.
Definition: receiver_interface.h:27
Base class for transaction handlers that support DMI.
Definition: dmi_transaction_handler.h:30
bool get_direct_mem_ptr(ConfObjectRef &simics_obj, tlm::tlm_generic_payload &trans, tlm::tlm_dmi &dmi_data) override
SimicsTargetLock< const direct_memory_lookup_interface_t > direct_memory_lookup()
DmiTransactionHandler(InterfaceProvider *interface_provider, iface::ReceiverInterface *ignore_receiver=NULL, InterfaceProvider *dmi_interface_provider=NULL)
void update_dmi_allowed(ConfObjectRef &simics_obj, tlm::tlm_generic_payload *trans) override
void update_target(ConfObjectRef old_target, ConfObjectRef new_target) override
SimicsTargetLock< const direct_memory_interface_t > direct_memory(ConfObjectRef target)
virtual ~DmiTransactionHandler()
Base class for transaction handlers without support for DMI.
Definition: transaction_handler.h:34
const InterfaceProvider * interface_provider() const override