16#ifndef SIMICS_SYSTEMC_SYSTEMC2SIMICS_GASKET_H
17#define SIMICS_SYSTEMC_SYSTEMC2SIMICS_GASKET_H
27#if INTC_EXT && USE_SIMICS_CHECKPOINTING
28#include <systemc-checkpoint/serialization/sc_signal.h>
29#include <systemc-checkpoint/serialization/serializer.h>
30#include <systemc-checkpoint/serialization/smd.h>
35namespace systemc2simics {
40 ,
public sc_core::sc_module {
49 virtual sc_core::sc_signal<bool, sc_core::SC_MANY_WRITERS> *
signal() {
61 void call_iface(
bool value);
63 sc_core::sc_signal<bool, sc_core::SC_MANY_WRITERS> signal_;
68#if INTC_EXT && USE_SIMICS_CHECKPOINTING
69class GasketSerializable :
public GasketBase {
71 GasketSerializable(sc_core::sc_module_name,
74 friend class cci::serialization::access;
75 template <
class Archive>
76 void serialize(Archive &ar,
const unsigned int version) {
79 static sc_checkpoint::serialization::Serializer<
80 GasketSerializable> gasket_serializer;
82using Gasket = GasketSerializable;
Returns the interface provided by the associated Simics object.
Definition: interface_provider.h:32
Definition: null_simulation.h:28
Definition: registry.h:88
Gasket for translating a SystemC sc_signal of type bool into a Simics signal interface call.
Definition: gasket.h:40
std::string gasket_name() const override
Definition: gasket.h:52
GasketBase(sc_core::sc_module_name, simics::systemc::InterfaceProvider *provider)
const InterfaceProvider * interface_provider() const override
Definition: gasket.h:55
virtual sc_core::sc_signal< bool, sc_core::SC_MANY_WRITERS > * signal()
Definition: gasket.h:49
SC_HAS_PROCESS(GasketBase)
GasketBase Gasket
Definition: gasket.h:84