14#ifndef SIMICS_SYSTEMC_IFACE_EXECUTE_SIMICS_ADAPTER_H
15#define SIMICS_SYSTEMC_IFACE_EXECUTE_SIMICS_ADAPTER_H
17#include <simics/model-iface/execute.h>
29template<
typename TBase,
typename TInterface = ExecuteInterface>
33 :
SimicsAdapter<execute_interface_t>(EXECUTE_INTERFACE, init_iface()) {
37 static void run(conf_object_t *obj) {
38 adapterWithoutLocking<TBase, TInterface>(obj)->run();
40 static void stop(conf_object_t *obj) {
41 adapterWithoutLocking<TBase, TInterface>(obj)->stop();
44 adapterWithoutLocking<TBase, TInterface>(obj)->switch_in();
47 adapterWithoutLocking<TBase, TInterface>(obj)->switch_out();
51 std::vector<std::string> description(conf_object_t *obj,
53 return descriptionBase<TBase, TInterface>(obj, type);
55 execute_interface_t init_iface() {
56 execute_interface_t iface = {};
Definition: execute_simics_adapter.h:30
static void switch_in(conf_object_t *obj)
Definition: execute_simics_adapter.h:43
ExecuteSimicsAdapter()
Definition: execute_simics_adapter.h:32
static void switch_out(conf_object_t *obj)
Definition: execute_simics_adapter.h:46
static void stop(conf_object_t *obj)
Definition: execute_simics_adapter.h:40
static void run(conf_object_t *obj)
Definition: execute_simics_adapter.h:37
Base class for mapping Simics interface to a C++ interface.
Definition: simics_adapter.h:45
DescriptionType
Definition: description_interface.h:23