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