SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
error_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_ERROR_TRANSACTION_HANDLER_H
15#define SIMICS_SYSTEMC_TLM2SIMICS_ERROR_TRANSACTION_HANDLER_H
16
20
21namespace simics {
22namespace systemc {
23namespace tlm2simics {
24
27 public:
29 TransactionHandlerInterface *transaction_handler,
34
35 // TransactionHandlerInterface
36 bool get_direct_mem_ptr(ConfObjectRef &simics_obj,
37 tlm::tlm_generic_payload &trans,
38 tlm::tlm_dmi &dmi_data) override;
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;
44 void update_dmi_allowed(ConfObjectRef &simics_obj,
45 tlm::tlm_generic_payload *trans) override;
46 bool byte_enable_supported(ConfObjectRef &simics_obj,
47 tlm::tlm_generic_payload *trans) override;
48 const GasketOwner *gasket_owner() const override;
49 const InterfaceProvider *interface_provider() const override;
51
52 private:
53 InterfaceProvider *interface_provider_;
54 TransactionHandlerInterface *transaction_handler_;
55 iface::ReceiverInterface *receiver_;
56 void error(ConfObjectRef *simics_obj, const char *message,
57 tlm::tlm_generic_payload *trans);
58 void log_error(ConfObjectRef *simics_obj, const char *message);
59};
60
61} // namespace tlm2simics
62} // namespace systemc
63} // namespace simics
64
65#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
Definition: error_transaction_handler.h:26
iface::ReceiverInterface * receiver() override
const InterfaceProvider * interface_provider() const override
bool byte_enable_supported(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
void update_dmi_allowed(ConfObjectRef &simics_obj, tlm::tlm_generic_payload *trans) override
ErrorTransactionHandler(const ErrorTransactionHandler &)=delete
unsigned int debug_transaction(ConfObjectRef &simics_obj, tlm::tlm_generic_payload *trans) override
ErrorTransactionHandler(InterfaceProvider *interface_provider, TransactionHandlerInterface *transaction_handler, iface::ReceiverInterface *receiver)
ErrorTransactionHandler & operator=(const ErrorTransactionHandler &)=delete
tlm::tlm_response_status simics_transaction(ConfObjectRef &simics_obj, tlm::tlm_generic_payload *trans) override
const GasketOwner * gasket_owner() const override
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
Definition: adapter.h:79