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// -*- mode: C++; c-file-style: "virtutech-c++" -*-
2
3/*
4 © 2013 Intel Corporation
5
6 This software and the related documents are Intel copyrighted materials, and
7 your use of them is governed by the express license under which they were
8 provided to you ("License"). Unless the License provides otherwise, you may
9 not use, modify, copy, publish, distribute, disclose or transmit this software
10 or the related documents without Intel's prior written permission.
11
12 This software and the related documents are provided as is, with no express or
13 implied warranties, other than those that are expressly stated in the License.
14*/
15
16#ifndef SIMICS_SYSTEMC_SIMICS2TLM_GASKET_INTERFACE_H
17#define SIMICS_SYSTEMC_SIMICS2TLM_GASKET_INTERFACE_H
18
19#include <simics/conf-object.h> // ConfObjectRef
23
24#include <tlm>
25#include <systemc>
26
27#include <memory>
28#include <string>
29
30namespace simics {
31namespace systemc {
32namespace simics2tlm {
33
36 public:
37 typedef std::shared_ptr<GasketInterface> Ptr;
38 virtual bool trigger(iface::Transaction *transaction) = 0;
39 virtual ConfObjectRef &simics_obj() = 0;
41 virtual void set_type(ClassType *type) = 0;
42 virtual ClassType *type() = 0;
43 virtual sc_core::sc_object *get_target_socket() = 0;
44 virtual void set_dmi(bool enable) = 0;
45 virtual bool is_dmi_enabled() = 0;
46 virtual std::string gasket_name() const = 0;
47 virtual ~GasketInterface() {}
48
50 virtual tlm::tlm_generic_payload &payload() = 0;
52 virtual bool trigger_transaction() = 0;
55 virtual void set_inquiry(bool inquiry) = 0;
56};
57
58} // namespace simics2tlm
59} // namespace systemc
60} // namespace simics
61
62#endif
Definition: class_type.h:25
Class that encapsulates a generic_payload and returns it to the TransactionPool when the Transaction ...
Definition: transaction.h:31
Definition: dmi_data_table.h:30
Interface used by simics2tlm gaskets, implemented by Gasket base class.
Definition: gasket_interface.h:35
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:47
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:37
Definition: pci_bus_interface.h:24