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