cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cpupower.h (736B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __CPUPOWER_CPUPOWER_H__
      3#define __CPUPOWER_CPUPOWER_H__
      4
      5struct cpupower_topology {
      6	/* Amount of CPU cores, packages and threads per core in the system */
      7	unsigned int cores;
      8	unsigned int pkgs;
      9	unsigned int threads; /* per core */
     10
     11	/* Array gets mallocated with cores entries, holding per core info */
     12	struct cpuid_core_info *core_info;
     13};
     14
     15struct cpuid_core_info {
     16	int pkg;
     17	int core;
     18	int cpu;
     19
     20	/* flags */
     21	unsigned int is_online:1;
     22};
     23
     24#ifdef __cplusplus
     25extern "C" {
     26#endif
     27
     28int get_cpu_topology(struct cpupower_topology *cpu_top);
     29void cpu_topology_release(struct cpupower_topology cpu_top);
     30int cpupower_is_cpu_online(unsigned int cpu);
     31
     32#ifdef __cplusplus
     33}
     34#endif
     35
     36#endif