16#ifndef SIMICS_SYSTEMC_IFACE_EXECUTE_SIMICS_ADAPTER_H
17#define SIMICS_SYSTEMC_IFACE_EXECUTE_SIMICS_ADAPTER_H
19#include <simics/model-iface/execute.h>
31template<
typename TBase,
typename TInterface = ExecuteInterface>
35 :
SimicsAdapter<execute_interface_t>(EXECUTE_INTERFACE, init_iface()) {
39 static void run(conf_object_t *obj) {
40 adapterWithoutLocking<TBase, TInterface>(obj)->run();
42 static void stop(conf_object_t *obj) {
43 adapterWithoutLocking<TBase, TInterface>(obj)->stop();
46 adapterWithoutLocking<TBase, TInterface>(obj)->switch_in();
49 adapterWithoutLocking<TBase, TInterface>(obj)->switch_out();
53 std::vector<std::string> description(conf_object_t *obj,
55 return descriptionBase<TBase, TInterface>(obj, type);
57 execute_interface_t init_iface() {
58 execute_interface_t iface = {};
Definition: execute_simics_adapter.h:32
static void switch_in(conf_object_t *obj)
Definition: execute_simics_adapter.h:45
ExecuteSimicsAdapter()
Definition: execute_simics_adapter.h:34
static void switch_out(conf_object_t *obj)
Definition: execute_simics_adapter.h:48
static void stop(conf_object_t *obj)
Definition: execute_simics_adapter.h:42
static void run(conf_object_t *obj)
Definition: execute_simics_adapter.h:39
Base class for mapping Simics interface to a C++ interface.
Definition: simics_adapter.h:47
DescriptionType
Definition: description_interface.h:25
Definition: pci_bus_interface.h:24