16#ifndef SIMICS_SYSTEMC_TLM2SIMICS_DMI_TRANSACTION_HANDLER_H
17#define SIMICS_SYSTEMC_TLM2SIMICS_DMI_TRANSACTION_HANDLER_H
19#include <simics/model-iface/direct-memory.h>
41 tlm::tlm_generic_payload &trans,
42 tlm::tlm_dmi& dmi_data)
override;
44 tlm::tlm_generic_payload *trans)
override;
48 ConfObjectRef new_target)
override;
52 ConfObjectRef target);
57 bool hasDirectMemoryUpdateInterface(ConfObjectRef simics_obj);
61 bool has_direct_memory_update_iface_checked_;
62 bool has_direct_memory_update_iface_;
Definition: interface_provider.h:34
Returns the interface provided by the associated Simics object.
Definition: interface_provider.h:32
Definition: simics_target_lock.h:27
Interface implemented by the ExtensionReceiver class, used by the ExtensionDispatcher.
Definition: receiver_interface.h:29
Base class for transaction handlers that support DMI.
Definition: dmi_transaction_handler.h:32
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:36
const InterfaceProvider * interface_provider() const override
Definition: pci_bus_interface.h:24