SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
transaction_handler_interface.h
Go to the documentation of this file.
1/*
2 © 2013 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_INTERFACE_H
15#define SIMICS_SYSTEMC_TLM2SIMICS_TRANSACTION_HANDLER_INTERFACE_H
16
17#include <simics/conf-object.h>
19#include <tlm>
20
21namespace simics {
22namespace systemc {
23
24class InterfaceProvider;
25
26namespace tlm2simics {
27
28class GasketOwner;
29
35 public:
36 virtual bool get_direct_mem_ptr(ConfObjectRef &simics_obj, // NOLINT
37 tlm::tlm_generic_payload &trans, // NOLINT
38 tlm::tlm_dmi& dmi_data) = 0; // NOLINT
39 virtual tlm::tlm_response_status simics_transaction(
40 ConfObjectRef &simics_obj, // NOLINT
41 tlm::tlm_generic_payload *trans) = 0;
42 virtual unsigned int debug_transaction(ConfObjectRef &simics_obj, // NOLINT
43 tlm::tlm_generic_payload *trans) = 0;
44 virtual void update_dmi_allowed(ConfObjectRef &simics_obj, // NOLINT
45 tlm::tlm_generic_payload *trans) = 0;
46 virtual bool byte_enable_supported(ConfObjectRef &simics_obj, // NOLINT
47 tlm::tlm_generic_payload *trans) = 0;
48 virtual const GasketOwner *gasket_owner() const = 0;
49 virtual const InterfaceProvider *interface_provider() const = 0;
50 virtual iface::ReceiverInterface *receiver() {return NULL;}
52 }
53};
54
55} // namespace tlm2simics
56} // namespace systemc
57} // namespace simics
58
59#endif
Returns the interface provided by the associated Simics object.
Definition: interface_provider.h:30
Interface implemented by the ExtensionReceiver class, used by the ExtensionDispatcher.
Definition: receiver_interface.h:27
Base class, responsible for handling a gasket.
Definition: gasket_owner.h:29
Interface used by Gasket, implemented by protocol specific transaction handlers.
Definition: transaction_handler_interface.h:34
virtual unsigned int debug_transaction(ConfObjectRef &simics_obj, tlm::tlm_generic_payload *trans)=0
virtual const InterfaceProvider * interface_provider() const =0
virtual void update_dmi_allowed(ConfObjectRef &simics_obj, tlm::tlm_generic_payload *trans)=0
virtual const GasketOwner * gasket_owner() const =0
virtual ~TransactionHandlerInterface()
Definition: transaction_handler_interface.h:51
virtual bool byte_enable_supported(ConfObjectRef &simics_obj, tlm::tlm_generic_payload *trans)=0
virtual iface::ReceiverInterface * receiver()
Definition: transaction_handler_interface.h:50
virtual bool get_direct_mem_ptr(ConfObjectRef &simics_obj, tlm::tlm_generic_payload &trans, tlm::tlm_dmi &dmi_data)=0
virtual tlm::tlm_response_status simics_transaction(ConfObjectRef &simics_obj, tlm::tlm_generic_payload *trans)=0
Definition: adapter.h:79