16#ifndef SIMICS_SYSTEMC_IFACE_REGISTER_VIEW_SIMICS_ADAPTER_H
17#define SIMICS_SYSTEMC_IFACE_REGISTER_VIEW_SIMICS_ADAPTER_H
19#include <simics/model-iface/register-view.h>
31template<
typename TBase,
32 typename TInterface = RegisterViewInterface>
38 REGISTER_VIEW_INTERFACE, init_iface()) {
43 return adapter<TBase, TInterface>(obj)->description();
46 return adapter<TBase, TInterface>(obj)->big_endian_bitorder();
49 return adapter<TBase, TInterface>(obj)->number_of_registers();
52 return adapter<TBase, TInterface>(obj)->register_info(reg);
55 return adapter<TBase, TInterface>(obj)->get_register_value(reg);
59 adapter<TBase, TInterface>(obj)->set_register_value(reg, val);
63 std::vector<std::string>
description(conf_object_t *obj,
65 return descriptionBase<TBase, TInterface>(obj, type);
67 register_view_interface_t init_iface() {
68 register_view_interface_t iface = {};
Definition: register_view_simics_adapter.h:34
RegisterViewSimicsAdapter()
Definition: register_view_simics_adapter.h:36
::uint64 get_register_value(conf_object_t *obj, unsigned reg)
Definition: register_view_simics_adapter.h:54
static const char * description(conf_object_t *obj)
Definition: register_view_simics_adapter.h:42
static attr_value_t register_info(conf_object_t *obj, unsigned reg)
Definition: register_view_simics_adapter.h:51
static unsigned number_of_registers(conf_object_t *obj)
Definition: register_view_simics_adapter.h:48
static bool big_endian_bitorder(conf_object_t *obj)
Definition: register_view_simics_adapter.h:45
static void set_register_value(conf_object_t *obj, unsigned reg, ::uint64 val)
Definition: register_view_simics_adapter.h:57
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