geopm 3.1.1.dev456+g3ba31824
GEOPM - Global Extensible Open Power Manager
Loading...
Searching...
No Matches
Cpuid.hpp
Go to the documentation of this file.
1/*
2 * Copyright (c) 2015 - 2024 Intel Corporation
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5#ifndef CPUID_HPP_INCLUDE
6#define CPUID_HPP_INCLUDE
7
8#include <memory>
9#include <cstdint>
10
11#include "geopm_public.h"
12
13namespace geopm
14{
16 {
17 public:
19 {
22 uint32_t mbm_scalar;
23 };
24
25 static std::unique_ptr<Cpuid> make_unique(void);
26 Cpuid() = default;
27 virtual ~Cpuid() = default;
28 virtual int cpuid(void) const = 0;
29 virtual bool is_hwp_supported(void) const = 0;
30 virtual double freq_sticker(void) const = 0;
31 virtual rdt_info_s rdt_info(void) const = 0;
32 virtual uint32_t pmc_bit_width(void) const = 0;
33 };
34}
35
36#endif
Definition Cpuid.hpp:16
virtual ~Cpuid()=default
virtual int cpuid(void) const =0
virtual rdt_info_s rdt_info(void) const =0
virtual bool is_hwp_supported(void) const =0
Cpuid()=default
virtual double freq_sticker(void) const =0
virtual uint32_t pmc_bit_width(void) const =0
#define GEOPM_PUBLIC
Definition geopm_public.h:10
Definition Agg.cpp:20
std::unique_ptr< Type > make_unique(Args &&...args)
Implementation of std::make_unique (C++14) for C++11. Note that this version will only work for non-a...
Definition Helper.hpp:28
Definition Cpuid.hpp:19
bool rdt_support
Definition Cpuid.hpp:20
uint32_t mbm_scalar
Definition Cpuid.hpp:22
uint32_t rmid_bit_width
Definition Cpuid.hpp:21