SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
cci_attribute.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_AWARENESS_CCI_ATTRIBUTE_H
15#define SIMICS_SYSTEMC_AWARENESS_CCI_ATTRIBUTE_H
16
17#include <simics/base/attr-value.h>
18#include <simics/base/conf-object.h>
19
20#if INTC_EXT && USE_SIMICS_CCI
21#include <cci_configuration> // from upstream CCI project
22#endif
23
25
26#include <string>
27
28namespace simics {
29namespace systemc {
30namespace awareness {
31
32class CciAttribute : public Attribute {
33 public:
34 explicit CciAttribute(int key);
35 virtual ~CciAttribute();
37 Attribute *create() override;
38 attr_value_t get() const override;
39 set_error_t set(attr_value_t *val) override;
40 static int define(std::string parameter_name);
41
43
44 private:
45 std::string parameter_name_;
46#if INTC_EXT && USE_SIMICS_CCI
47 cci::cci_param_handle *parameter_;
48#endif
49};
50
51} // namespace awareness
52} // namespace systemc
53} // namespace simics
54
55#endif
Definition: attribute.h:24
int key() const
Definition: attribute.h:29
Definition: cci_attribute.h:32
CciAttribute & operator=(const CciAttribute &)=delete
static int define(std::string parameter_name)
set_error_t set(attr_value_t *val) override
attr_value_t get() const override
CciAttribute(const CciAttribute &copy)
Definition: adapter.h:79