SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
gasket_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_SIMICS2TLM_GASKET_INTERFACE_H
15#define SIMICS_SYSTEMC_SIMICS2TLM_GASKET_INTERFACE_H
16
17#include <simics/conf-object.h> // ConfObjectRef
21
22#include <tlm>
23#include <systemc>
24
25#include <memory>
26#include <string>
27
28namespace simics {
29namespace systemc {
30namespace simics2tlm {
31
34 public:
35 typedef std::shared_ptr<GasketInterface> Ptr;
36 virtual bool trigger(iface::Transaction *transaction) = 0;
37 virtual ConfObjectRef &simics_obj() = 0;
39 virtual void set_type(ClassType *type) = 0;
40 virtual ClassType *type() = 0;
41 virtual sc_core::sc_object *get_target_socket() = 0;
42 virtual void set_dmi(bool enable) = 0;
43 virtual bool is_dmi_enabled() = 0;
44 virtual std::string gasket_name() const = 0;
45 virtual ~GasketInterface() {}
46
48 virtual tlm::tlm_generic_payload &payload() = 0;
50 virtual bool trigger_transaction() = 0;
53 virtual void set_inquiry(bool inquiry) = 0;
54};
55
56} // namespace simics2tlm
57} // namespace systemc
58} // namespace simics
59
60#endif
Definition: class_type.h:23
Class that encapsulates a generic_payload and returns it to the TransactionPool when the Transaction ...
Definition: transaction.h:29
Definition: dmi_data_table.h:27
Interface used by simics2tlm gaskets, implemented by Gasket base class.
Definition: gasket_interface.h:33
virtual tlm::tlm_generic_payload & payload()=0
Deprecated, use the TransactionPool::acquire() instead.
virtual void set_inquiry(bool inquiry)=0
Deprecated, use the TransactionExtension::set_transport_debug(bool) instead.
virtual std::string gasket_name() const =0
virtual ConfObjectRef & simics_obj()=0
virtual ~GasketInterface()
Definition: gasket_interface.h:45
virtual sc_core::sc_object * get_target_socket()=0
virtual bool trigger(iface::Transaction *transaction)=0
virtual bool trigger_transaction()=0
Deprecated, use the trigger(iface::Transaction *transaction) instead.
virtual DmiDataTable * get_dmi_data_table()=0
virtual void set_type(ClassType *type)=0
std::shared_ptr< GasketInterface > Ptr
Definition: gasket_interface.h:35
Definition: adapter.h:79