• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #pragma once
2 
3 #include <stdbool.h>
4 #include <stdint.h>
5 #include <windows.h>
6 
7 #include <cpuinfo.h>
8 #include <x86/api.h>
9 
10 struct cpuinfo_arm_linux_processor {
11 	/**
12 	 * Minimum processor ID on the package which includes this logical processor.
13 	 * This value can serve as an ID for the cluster of logical processors: it is the
14 	 * same for all logical processors on the same package.
15 	 */
16 	uint32_t package_leader_id;
17 	/**
18 	 * Minimum processor ID on the core which includes this logical processor.
19 	 * This value can serve as an ID for the cluster of logical processors: it is the
20 	 * same for all logical processors on the same package.
21 	 */
22 	/**
23 	 * Number of logical processors in the package.
24 	 */
25 	uint32_t package_processor_count;
26 	/**
27 	 * Maximum frequency, in kHZ.
28 	 * The value is parsed from /sys/devices/system/cpu/cpu<N>/cpufreq/cpuinfo_max_freq
29 	 * If failed to read or parse the file, the value is 0.
30 	 */
31 	uint32_t max_frequency;
32 	/**
33 	 * Minimum frequency, in kHZ.
34 	 * The value is parsed from /sys/devices/system/cpu/cpu<N>/cpufreq/cpuinfo_min_freq
35 	 * If failed to read or parse the file, the value is 0.
36 	 */
37 	uint32_t min_frequency;
38 	/** Linux processor ID */
39 	uint32_t system_processor_id;
40 	uint32_t flags;
41 };
42