SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
transaction_handler.h
Go to the documentation of this file.
1/*
2 © 2015 Intel Corporation
3
4 This software and the related documents are Intel copyrighted materials, and
5 your use of them is governed by the express license under which they were
6 provided to you ("License"). Unless the License provides otherwise, you may
7 not use, modify, copy, publish, distribute, disclose or transmit this software
8 or the related documents without Intel's prior written permission.
9
10 This software and the related documents are provided as is, with no express or
11 implied warranties, other than those that are expressly stated in the License.
12*/
13
14#ifndef SIMICS_SYSTEMC_TLM2SIMICS_TRANSACTION_HANDLER_H
15#define SIMICS_SYSTEMC_TLM2SIMICS_TRANSACTION_HANDLER_H
16
23
24namespace simics {
25namespace systemc {
26namespace tlm2simics {
27
33 : public GasketOwner,
34 public virtual Registrant<TransactionHandlerInterface> {
35 public:
37 iface::ReceiverInterface *ignore_receiver = NULL,
38 InterfaceProvider *error_interface_provider = NULL);
40
41 // GasketOwner
42 void set_gasket(GasketInterface::Ptr gasketInterface) override;
43
44 // TransactionHandlerInterface
45 bool get_direct_mem_ptr(ConfObjectRef &simics_obj,
46 tlm::tlm_generic_payload &trans,
47 tlm::tlm_dmi& dmi_data) override;
48 unsigned int debug_transaction(ConfObjectRef &simics_obj,
49 tlm::tlm_generic_payload *trans) override;
50 void update_dmi_allowed(ConfObjectRef &simics_obj,
51 tlm::tlm_generic_payload *trans) override;
52 bool byte_enable_supported(ConfObjectRef &simics_obj,
53 tlm::tlm_generic_payload *trans) override;
54 const GasketOwner *gasket_owner() const override;
55 const InterfaceProvider *interface_provider() const override;
56
57 protected:
60};
61
62} // namespace tlm2simics
63} // namespace systemc
64} // namespace simics
65
66#endif
Returns the interface provided by the associated Simics object.
Definition: interface_provider.h:30
Definition: registry.h:86
Interface implemented by the ExtensionReceiver class, used by the ExtensionDispatcher.
Definition: receiver_interface.h:27
Definition: error_transaction_handler.h:26
std::shared_ptr< GasketInterface > Ptr
Definition: gasket_interface.h:30
Base class, responsible for handling a gasket.
Definition: gasket_owner.h:29
Base class for transaction handlers without support for DMI.
Definition: transaction_handler.h:34
void set_gasket(GasketInterface::Ptr gasketInterface) override
TransactionHandler(InterfaceProvider *interface_provider, iface::ReceiverInterface *ignore_receiver=NULL, InterfaceProvider *error_interface_provider=NULL)
ErrorTransactionHandler error_transaction_handler_
Definition: transaction_handler.h:59
const InterfaceProvider * interface_provider() const override
unsigned int debug_transaction(ConfObjectRef &simics_obj, tlm::tlm_generic_payload *trans) override
const GasketOwner * gasket_owner() const override
void update_dmi_allowed(ConfObjectRef &simics_obj, tlm::tlm_generic_payload *trans) override
bool get_direct_mem_ptr(ConfObjectRef &simics_obj, tlm::tlm_generic_payload &trans, tlm::tlm_dmi &dmi_data) override
InterfaceProvider * interface_provider_
Definition: transaction_handler.h:58
bool byte_enable_supported(ConfObjectRef &simics_obj, tlm::tlm_generic_payload *trans) override
Definition: adapter.h:79