SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
cci_configuration.h
Go to the documentation of this file.
1/*
2 © 2020 Intel Corporation
3
4 This software and the related documents are Intel copyrighted materials, and
5 your use of them is governed by the express license under which they were
6 provided to you ("License"). Unless the License provides otherwise, you may
7 not use, modify, copy, publish, distribute, disclose or transmit this software
8 or the related documents without Intel's prior written permission.
9
10 This software and the related documents are provided as is, with no express or
11 implied warranties, other than those that are expressly stated in the License.
12*/
13
14#ifndef SIMICS_SYSTEMC_CCI_CONFIGURATION_H
15#define SIMICS_SYSTEMC_CCI_CONFIGURATION_H
16
17#include <simics/base/attr-value.h>
18#include <simics/cc-api.h>
19
20#if INTC_EXT && USE_SIMICS_CCI
21#include <cci_configuration>
22#include <cci/utils/broker.h>
23#endif
24
25#include <systemc>
26
27#include <utility> // pair
28#include <map>
29#include <string>
30#include <vector>
31
32namespace simics {
33namespace systemc {
34
36 public:
39 const std::vector<std::pair<std::string, std::string>> *attr);
40 void logUnconsumedPresetValues(ConfObjectRef obj);
41 static void cleanCache();
42#if INTC_EXT && USE_SIMICS_CCI
43 const char* simicsType(cci::cci_param_handle parameter);
44 std::string simicsName(cci::cci_param_handle parameter);
45 std::vector <cci::cci_param_handle> getParameters(
46 sc_core::sc_object *object);
47 cci::cci_param_handle getParameter(const std::string &name);
48 attr_value_t getAttribute(const cci::cci_param_handle &parameter);
49 bool setAttribute(cci::cci_param_handle parameter,
50 const attr_value_t &value);
51
52 private:
53 cci::cci_originator simics_;
54 cci::cci_broker_handle broker_;
55 static std::map<const sc_core::sc_object *,
56 std::vector <cci::cci_param_handle> > cache_;
57#endif
58};
59
60} // namespace systemc
61} // namespace simics
62
63#endif // SIMICS_SYSTEMC_CCI_CONFIGURATION_H
Definition: cci_configuration.h:35
void logUnconsumedPresetValues(ConfObjectRef obj)
void setPresetValues(const std::vector< std::pair< std::string, std::string > > *attr)
Definition: adapter.h:79