C++ Device API Reference Manual
Reference documentation for the Simics C++ Device API.
Loading...
Searching...
No Matches
cc-modeling-api.h
Go to the documentation of this file.
1
// -*- mode: C++; c-file-style: "virtutech-c++" -*-
2
3
/*
4
© 2021 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_CC_MODELING_API_H
17
#define SIMICS_CC_MODELING_API_H
18
19
#ifndef DISABLE_WARNING_ON_TECH_PREVIEW
20
#pragma message("You are using the C++ modeling library which is currently a"
\
21
" tech-preview feature. To disable this warning define" \
22
" DISABLE_WARNING_ON_TECH_PREVIEW")
23
#endif
24
25
#if defined _MSVC_LANG
26
#if _MSVC_LANG < 201703L
27
#error "The C++ compiler version is not supported"
\
28
" (C++ API bank register extension requires C++17)"
29
#endif
30
#elif defined __cplusplus
31
#if __cplusplus < 201703L
32
#error "The C++ compiler version is not supported"
\
33
" (C++ API bank register extension requires C++17)"
34
#endif
35
#endif
36
37
#include "
simics/after-bank.h
"
38
#include "
simics/bank.h
"
39
#include "
simics/bank-templates.h
"
40
#include "
simics/bank-port.h
"
41
#include "
simics/field.h
"
42
#include "
simics/field-templates.h
"
43
#include "
simics/mappable-conf-object.h
"
44
#include "
simics/register.h
"
45
#include "
simics/register-templates.h
"
46
47
// For backwards compatibility, include simics::iface::XxxInterface
48
#if defined SIMICS_6_API || defined SIMICS_7_API
49
#include "
simics/iface/bank-interface.h
"
50
#include "
simics/iface/bank-issue-callbacks-interface.h
"
51
#include "
simics/iface/bank-port-interface.h
"
52
#include "
simics/iface/field-interface.h
"
53
#include "
simics/iface/hierarchical-object-interface.h
"
54
#include "
simics/iface/map-name-to-interface.h
"
55
#include "
simics/iface/register-interface.h
"
56
#include "
simics/iface/value-accessor-interface.h
"
57
#include "
simics/iface/value-mutator-interface.h
"
58
#endif
59
60
#endif
61
after-bank.h
bank-port.h
bank-templates.h
bank.h
field-templates.h
field.h
bank-interface.h
bank-issue-callbacks-interface.h
bank-port-interface.h
field-interface.h
hierarchical-object-interface.h
map-name-to-interface.h
register-interface.h
value-accessor-interface.h
value-mutator-interface.h
mappable-conf-object.h
register-templates.h
register.h