libcpuid
libcpuid.h
Go to the documentation of this file.
1/*
2 * Copyright 2008 Veselin Georgiev,
3 * anrieffNOSPAM @ mgail_DOT.com (convert to gmail)
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26#ifndef __LIBCPUID_H__
27#define __LIBCPUID_H__
116/* Include C99 booleans: */
117#include <stdbool.h>
118
119/* Include some integer type specifications: */
120#include "libcpuid_types.h"
121
122/* Some limits and other constants */
123#include "libcpuid_constants.h"
124
125#ifndef LIBCPUID_DEPRECATED
126# if defined (__cplusplus) && (__cplusplus >= 201402) /* C++14 or greater */
127# define LIBCPUID_DEPRECATED(message) [[deprecated(message)]]
128# elif (defined(GNUC) && (GNUC > 4 || (GNUC == 4 && GNUC_MINOR >= 5))) || defined(__clang__)
129# define LIBCPUID_DEPRECATED(message) __attribute__((deprecated(message)))
130# elif defined(__GNUC__) && (__GNUC__ >= 3)
131# define LIBCPUID_DEPRECATED(message) __attribute__((deprecated))
132# elif defined(_MSC_VER)
133# define LIBCPUID_DEPRECATED(message) __declspec(deprecated(message))
134# else
135# pragma message("WARNING: You need to implement LIBCPUID_DEPRECATED for this compiler")
136# define LIBCPUID_DEPRECATED(message)
137# endif
138#endif /* LIBCPUID_DEPRECATED */
139
140#ifdef __cplusplus
141extern "C" {
142#endif
143
181#define NUM_CPU_VENDORS NUM_CPU_VENDORS
182
186typedef enum {
190 NUM_CPU_ARCHITECTURES,
191 ARCHITECTURE_UNKNOWN = -1,
193#define NUM_CPU_ARCHITECTURES NUM_CPU_ARCHITECTURES
194
247#define NUM_FEATURE_LEVELS NUM_FEATURE_LEVELS
248
261#define NUM_CPU_PURPOSES NUM_CPU_PURPOSES
262
279#define NUM_HYPERVISOR_VENDORS NUM_HYPERVISOR_VENDORS
280
290 uint32_t basic_cpuid[MAX_CPUID_LEVEL][NUM_REGS];
291
293 uint32_t ext_cpuid[MAX_EXT_CPUID_LEVEL][NUM_REGS];
294
298 uint32_t intel_fn4[MAX_INTELFN4_LEVEL][NUM_REGS];
299
303 uint32_t intel_fn11[MAX_INTELFN11_LEVEL][NUM_REGS];
304
308 uint32_t intel_fn12h[MAX_INTELFN12H_LEVEL][NUM_REGS];
309
314 uint32_t intel_fn14h[MAX_INTELFN14H_LEVEL][NUM_REGS];
315
320 uint32_t amd_fn8000001dh[MAX_AMDFN8000001DH_LEVEL][NUM_REGS];
321
326 uint32_t amd_fn80000026h[MAX_AMDFN80000026H_LEVEL][NUM_REGS];
327
330 uint64_t arm_midr;
331
334 uint64_t arm_mpidr;
335
338 uint64_t arm_revidr;
339
342 uint32_t arm_id_afr[MAX_ARM_ID_AFR_REGS];
343
346 uint32_t arm_id_dfr[MAX_ARM_ID_DFR_REGS];
347
350 uint32_t arm_id_isar[MAX_ARM_ID_ISAR_REGS];
351
354 uint32_t arm_id_mmfr[MAX_ARM_ID_MMFR_REGS];
355
358 uint32_t arm_id_pfr[MAX_ARM_ID_PFR_REGS];
359
362 uint64_t arm_id_aa64afr[MAX_ARM_ID_AA64AFR_REGS];
363
366 uint64_t arm_id_aa64dfr[MAX_ARM_ID_AA64DFR_REGS];
367
370 uint64_t arm_id_aa64isar[MAX_ARM_ID_AA64ISAR_REGS];
371
374 uint64_t arm_id_aa64mmfr[MAX_ARM_ID_AA64MMFR_REGS];
375
378 uint64_t arm_id_aa64pfr[MAX_ARM_ID_AA64PFR_REGS];
379
382 uint64_t arm_id_aa64smfr[MAX_ARM_ID_AA64SMFR_REGS];
383
386 uint64_t arm_id_aa64zfr[MAX_ARM_ID_AA64ZFR_REGS];
387};
388
404
406 logical_cpu_t num_raw;
407
410};
411
435struct cpu_sgx_t {
437 uint32_t present;
438
443
448
453 uint8_t flags[SGX_FLAGS_MAX];
454
459
463 uint32_t misc_select;
464
469
473 uint64_t secs_xfrm;
474};
475
481struct x86_id_t {
483 int32_t family;
484
486 int32_t model;
487
489 int32_t stepping;
490
492 int32_t ext_family;
493
498 int32_t ext_model;
499
501 int32_t sse_size;
502
505};
506
512struct arm_id_t {
514 uint8_t implementer;
515
517 uint8_t variant;
518
520 uint16_t part_num;
521
523 uint8_t revision;
524};
525
529struct cpu_id_t {
532
539
541 char vendor_str[VENDOR_STR_MAX];
542
544 char brand_str[BRAND_STR_MAX];
545
548
554 uint8_t flags[CPU_FLAGS_MAX];
555
556#ifndef LIBCPUID_DISABLE_DEPRECATED
561 LIBCPUID_DEPRECATED("replace with '.x86.family' in your code to fix the warning")
562 int32_t family;
563
568 LIBCPUID_DEPRECATED("replace with '.x86.model' in your code to fix the warning")
569 int32_t model;
570
575 LIBCPUID_DEPRECATED("replace with '.x86.stepping' in your code to fix the warning")
576 int32_t stepping;
577
582 LIBCPUID_DEPRECATED("replace with '.x86.ext_family' in your code to fix the warning")
583 int32_t ext_family;
584
590 LIBCPUID_DEPRECATED("replace with '.x86.ext_model' in your code to fix the warning")
591 int32_t ext_model;
592#endif /* LIBCPUID_DISABLE_DEPRECATED */
593
598 union {
599 struct x86_id_t x86;
600 struct arm_id_t arm;
601 };
602
604 int32_t num_cores;
605
612
628
634
642
647 int32_t l2_cache;
648
650 int32_t l3_cache;
651
653 int32_t l4_cache;
654
655#ifndef LIBCPUID_DISABLE_DEPRECATED
659 LIBCPUID_DEPRECATED("replace with 'l1_data_assoc' in your code to fix the warning")
660 int32_t l1_assoc;
661#endif /* LIBCPUID_DISABLE_DEPRECATED */
662
665
668
670 int32_t l2_assoc;
671
673 int32_t l3_assoc;
674
676 int32_t l4_assoc;
677
678#ifndef LIBCPUID_DISABLE_DEPRECATED
682 LIBCPUID_DEPRECATED("replace with 'l1_data_cacheline' in your code to fix the warning")
684#endif /* LIBCPUID_DISABLE_DEPRECATED */
685
688
691
694
697
700
703
706
709
712
715
730 char cpu_codename[CODENAME_STR_MAX];
731
736 LIBCPUID_DEPRECATED("replace with '.x86.sse_size' in your code to fix the warning")
737 int32_t sse_size;
738
744 uint8_t detection_hints[CPU_HINTS_MAX];
745
750 LIBCPUID_DEPRECATED("replace with '.x86.sgx' in your code to fix the warning")
752
755
758};
759
785
806typedef enum {
1143 /* termination: */
1144 NUM_CPU_FEATURES,
1146
1152typedef enum {
1154 /* termination */
1155 NUM_CPU_HINTS,
1156} cpu_hint_t;
1157
1180typedef enum {
1184 /* termination: */
1185 NUM_SGX_FEATURES,
1187
1213
1219 uint64_t tsc;
1220 uint64_t sys_clock;
1221};
1222
1234
1241
1249void cpu_exec_cpuid(uint32_t eax, uint32_t* regs);
1250
1259void cpu_exec_cpuid_ext(uint32_t* regs);
1260
1269
1280int cpuid_get_raw_data_core(struct cpu_raw_data_t* data, logical_cpu_t logical_cpu);
1281
1292
1310int cpuid_serialize_raw_data(struct cpu_raw_data_t* data, const char* filename);
1311
1329int cpuid_serialize_all_raw_data(struct cpu_raw_data_array_t* data, const char* filename);
1330
1343int cpuid_deserialize_raw_data(struct cpu_raw_data_t* data, const char* filename);
1344
1359int cpuid_deserialize_all_raw_data(struct cpu_raw_data_array_t* data, const char* filename);
1360
1384int cpu_identify(struct cpu_raw_data_t* raw, struct cpu_id_t* data);
1385
1400int cpu_identify_all(struct cpu_raw_data_array_t* raw_array, struct system_id_t* system);
1401
1415
1422
1429
1436
1444char* affinity_mask_str_r(cpu_affinity_mask_t* affinity_mask, char* buffer, uint32_t buffer_len);
1445
1453
1461const char* cpu_feature_str(cpu_feature_t feature);
1462
1471const char* cpuid_error(void);
1472
1497void cpu_rdtsc(uint64_t* result);
1498
1511void cpu_tsc_mark(struct cpu_mark_t* mark);
1512
1536void cpu_tsc_unmark(struct cpu_mark_t* mark);
1537
1555
1571
1614int cpu_clock_measure(int millis, int quad_check);
1615
1655int cpu_clock_by_ic(int millis, int runs);
1656
1677
1688int cpu_clock(void);
1689
1690
1699 uint64_t start_addr;
1700 uint64_t length;
1701};
1702
1714struct cpu_epc_t cpuid_get_epc(int index, const struct cpu_raw_data_t* raw);
1715
1721const char* cpuid_lib_version(void);
1722
1723typedef void (*libcpuid_warn_fn_t) (const char *msg);
1737libcpuid_warn_fn_t cpuid_set_warn_function(libcpuid_warn_fn_t warn_fun);
1738
1751
1752
1760
1778
1786 char **names;
1787};
1788
1808
1818
1828
1838
1839struct msr_driver_t;
1851struct msr_driver_t* cpu_msr_driver_open(void);
1852
1866struct msr_driver_t* cpu_msr_driver_open_core(unsigned core_num);
1867
1892int cpu_rdmsr(struct msr_driver_t* handle, uint32_t msr_index, uint64_t* result);
1893
1894
1919
1934int cpu_rdmsr_range(struct msr_driver_t* handle, uint32_t msr_index, uint8_t highbit,
1935 uint8_t lowbit, uint64_t* result);
1936
1950int cpu_msrinfo(struct msr_driver_t* handle, cpu_msrinfo_request_t which);
1951#define CPU_INVALID_VALUE 0x3fffffff
1952
1970int msr_serialize_raw_data(struct msr_driver_t* handle, const char* filename);
1971
1984int cpu_msr_driver_close(struct msr_driver_t* handle);
1985
1986#ifdef __cplusplus
1987} /* extern "C" */
1988#endif
1989
1990
1993#endif /* __LIBCPUID_H__ */
int cpuid_get_raw_data_core(struct cpu_raw_data_t *data, logical_cpu_t logical_cpu)
Obtains the raw CPUID data from the specified CPU.
void cpu_rdtsc(uint64_t *result)
Executes RDTSC.
cpu_purpose_t
CPU purpose.
Definition libcpuid.h:252
cpu_msrinfo_request_t
Definition libcpuid.h:1895
int cpu_rdmsr(struct msr_driver_t *handle, uint32_t msr_index, uint64_t *result)
Reads a Model-Specific Register (MSR)
const char * cpu_purpose_str(cpu_purpose_t purpose)
Returns the short textual representation of a CPU purpose.
int cpuid_get_total_cpus(void)
Returns the total number of logical CPU threads (even if CPUID is not present).
void cpuid_get_cpu_list(cpu_vendor_t vendor, struct cpu_list_t *list)
Gets a list of all known CPU names from a specific vendor.
const char * cpu_feature_str(cpu_feature_t feature)
Returns the short textual representation of a CPU flag.
void cpu_tsc_mark(struct cpu_mark_t *mark)
Store TSC and timing info.
int cpuid_present(void)
Checks if the CPUID instruction is supported.
void cpuid_free_raw_data_array(struct cpu_raw_data_array_t *raw_array)
Frees a raw array.
cpu_architecture_t
CPU architecture.
Definition libcpuid.h:186
int cpuid_deserialize_all_raw_data(struct cpu_raw_data_array_t *data, const char *filename)
Reads all raw CPUID data from file.
void cpu_exec_cpuid(uint32_t eax, uint32_t *regs)
Executes the CPUID instruction.
int cpuid_serialize_raw_data(struct cpu_raw_data_t *data, const char *filename)
Writes the raw CPUID data to a text file.
cpu_feature_t
CPU feature identifiers.
Definition libcpuid.h:806
int cpu_clock_by_ic(int millis, int runs)
Measure the CPU clock frequency using instruction-counting.
int cpu_clock_by_tsc(struct cpu_raw_data_t *raw)
Measure the CPU clock frequency using TSC frequency from CPUID.
struct msr_driver_t * cpu_msr_driver_open(void)
Starts/opens a driver, needed to read MSRs (Model Specific Registers)
int cpu_clock_by_mark(struct cpu_mark_t *mark)
Calculates the CPU clock.
int cpuid_serialize_all_raw_data(struct cpu_raw_data_array_t *data, const char *filename)
Writes all the raw CPUID data to a text file.
int cpu_clock_measure(int millis, int quad_check)
Measure the CPU clock frequency.
const char * cpuid_lib_version(void)
Returns the libcpuid version.
cpu_vendor_t cpuid_get_vendor(void)
Obtains the CPU vendor from CPUID from the current CPU.
void cpuid_free_cpu_list(struct cpu_list_t *list)
Frees a CPU list.
const char * cpu_feature_level_str(cpu_feature_level_t level)
Returns the short textual representation of a CPU feature level.
char * affinity_mask_str_r(cpu_affinity_mask_t *affinity_mask, char *buffer, uint32_t buffer_len)
Returns textual representation of a CPU affinity mask (thread-safe)
void cpu_exec_cpuid_ext(uint32_t *regs)
Executes the CPUID instruction with the given input registers.
int cpuid_get_all_raw_data(struct cpu_raw_data_array_t *data)
Obtains the raw CPUID data from all CPUs.
void cpuid_free_system_id(struct system_id_t *system)
Frees a system ID type.
int cpu_clock(void)
Get the CPU clock frequency (all-in-one method)
char * affinity_mask_str(cpu_affinity_mask_t *affinity_mask)
Returns textual representation of a CPU affinity mask.
void cpuid_set_verbosiness_level(int level)
Sets the verbosiness level.
hypervisor_vendor_t cpuid_get_hypervisor(struct cpu_raw_data_t *raw, struct cpu_id_t *data)
Obtains the hypervisor vendor from CPUID from the current CPU.
int cpu_identify(struct cpu_raw_data_t *raw, struct cpu_id_t *data)
Identifies the CPU.
libcpuid_warn_fn_t cpuid_set_warn_function(libcpuid_warn_fn_t warn_fun)
Sets the warning print function.
int msr_serialize_raw_data(struct msr_driver_t *handle, const char *filename)
Writes the raw MSR data to a text file.
cpu_error_t
Describes common library error codes.
Definition libcpuid.h:1191
cpu_sgx_feature_t
SGX features flags.
Definition libcpuid.h:1180
cpu_feature_level_t
CPU feature level.
Definition libcpuid.h:198
int cpu_msrinfo(struct msr_driver_t *handle, cpu_msrinfo_request_t which)
Reads extended CPU information from Model-Specific Registers.
const char * cpu_architecture_str(cpu_architecture_t architecture)
Returns the short textual representation of a CPU architecture.
int cpuid_get_raw_data(struct cpu_raw_data_t *data)
Obtains the raw CPUID data from the current CPU.
int cpu_request_core_type(cpu_purpose_t purpose, struct cpu_raw_data_array_t *raw_array, struct cpu_id_t *data)
Identifies a given CPU type.
int cpuid_deserialize_raw_data(struct cpu_raw_data_t *data, const char *filename)
Reads raw CPUID data from file.
struct msr_driver_t * cpu_msr_driver_open_core(unsigned core_num)
Similar to cpu_msr_driver_open, but accept one parameter.
struct cpu_epc_t cpuid_get_epc(int index, const struct cpu_raw_data_t *raw)
Fetches information about an EPC (Enclave Page Cache) area.
cpu_hint_t
CPU detection hints identifiers.
Definition libcpuid.h:1152
int cpu_clock_by_os(void)
Returns the CPU clock, as reported by the OS.
int cpu_rdmsr_range(struct msr_driver_t *handle, uint32_t msr_index, uint8_t highbit, uint8_t lowbit, uint64_t *result)
Similar to cpu_rdmsr, but extract a range of bits.
void cpu_tsc_unmark(struct cpu_mark_t *mark)
Calculate TSC and timing difference.
cpu_vendor_t
CPU vendor, as guessed from the Vendor String.
Definition libcpuid.h:147
int cpu_msr_driver_close(struct msr_driver_t *handle)
Closes an open MSR driver.
const char * cpuid_error(void)
Returns textual description of the last error.
int cpu_identify_all(struct cpu_raw_data_array_t *raw_array, struct system_id_t *system)
Identifies all the CPUs.
hypervisor_vendor_t
Hypervisor vendor, as guessed from the CPU_FEATURE_HYPERVISOR flag.
Definition libcpuid.h:266
@ PURPOSE_GENERAL
Definition libcpuid.h:253
@ PURPOSE_PERFORMANCE
Definition libcpuid.h:254
@ PURPOSE_U_PERFORMANCE
Definition libcpuid.h:257
@ PURPOSE_LP_EFFICIENCY
Definition libcpuid.h:256
@ PURPOSE_EFFICIENCY
Definition libcpuid.h:255
@ INFO_BCLK
Definition libcpuid.h:1914
@ INFO_MIN_MULTIPLIER
Definition libcpuid.h:1902
@ INFO_MPERF
Definition libcpuid.h:1896
@ INFO_THROTTLING
Definition libcpuid.h:1910
@ INFO_VOLTAGE
Definition libcpuid.h:1912
@ INFO_CUR_MULTIPLIER
Definition libcpuid.h:1904
@ INFO_APERF
Definition libcpuid.h:1899
@ INFO_BUS_CLOCK
Definition libcpuid.h:1915
@ INFO_TEMPERATURE
Definition libcpuid.h:1909
@ INFO_MAX_MULTIPLIER
Definition libcpuid.h:1907
@ ARCHITECTURE_ARM
Definition libcpuid.h:188
@ ARCHITECTURE_X86
Definition libcpuid.h:187
@ CPU_FEATURE_SPECRES
Definition libcpuid.h:1035
@ CPU_FEATURE_DPB
Definition libcpuid.h:964
@ CPU_FEATURE_F32MM
Definition libcpuid.h:966
@ CPU_FEATURE_TLBIOS
Definition libcpuid.h:1015
@ CPU_FEATURE_DIVIDE
Definition libcpuid.h:932
@ CPU_FEATURE_PAN3
Definition libcpuid.h:1059
@ CPU_FEATURE_UAO
Definition libcpuid.h:984
@ CPU_FEATURE_BTI
Definition libcpuid.h:1020
@ CPU_FEATURE_JSCVT
Definition libcpuid.h:992
@ CPU_FEATURE_SME2
Definition libcpuid.h:1126
@ CPU_FEATURE_RNG
Definition libcpuid.h:1032
@ CPU_FEATURE_ADERR
Definition libcpuid.h:1075
@ CPU_FEATURE_PAUTH
Definition libcpuid.h:997
@ CPU_FEATURE_AMUV1
Definition libcpuid.h:999
@ CPU_FEATURE_MTPMU
Definition libcpuid.h:1047
@ CPU_FEATURE_TME
Definition libcpuid.h:1116
@ CPU_FEATURE_LPAE
Definition libcpuid.h:933
@ CPU_FEATURE_LPA
Definition libcpuid.h:972
@ CPU_FEATURE_SSBS
Definition libcpuid.h:1036
@ CPU_FEATURE_SVE_SHA3
Definition libcpuid.h:1114
@ CPU_FEATURE_PAN
Definition libcpuid.h:957
@ CPU_FEATURE_ECV
Definition libcpuid.h:1042
@ CPU_FEATURE_SSE5
Definition libcpuid.h:878
@ CPU_FEATURE_MCE
Definition libcpuid.h:814
@ CPU_FEATURE_AVX2
Definition libcpuid.h:901
@ CPU_FEATURE_SPEV1P2
Definition libcpuid.h:1062
@ CPU_FEATURE_MSR
Definition libcpuid.h:812
@ CPU_FEATURE_SME_I16I64
Definition libcpuid.h:1123
@ CPU_FEATURE_SM3
Definition libcpuid.h:979
@ CPU_FEATURE_APIC
Definition libcpuid.h:816
@ CPU_FEATURE_SPE
Definition libcpuid.h:981
@ CPU_FEATURE_MONITOR
Definition libcpuid.h:840
@ CPU_FEATURE_CLRBHB
Definition libcpuid.h:1079
@ CPU_FEATURE_RDRAND
Definition libcpuid.h:895
@ CPU_FEATURE_CONSTPACFIELD
Definition libcpuid.h:987
@ CPU_FEATURE_PNI
Definition libcpuid.h:837
@ CPU_FEATURE_SKINIT
Definition libcpuid.h:879
@ CPU_FEATURE_ECBHB
Definition libcpuid.h:1083
@ CPU_FEATURE_FID
Definition libcpuid.h:882
@ CPU_FEATURE_DEBUGV6
Definition libcpuid.h:926
@ CPU_FEATURE_PMUV1
Definition libcpuid.h:934
@ CPU_FEATURE_SSE4_2
Definition libcpuid.h:853
@ CPU_FEATURE_SWAP
Definition libcpuid.h:921
@ CPU_FEATURE_VME
Definition libcpuid.h:808
@ CPU_FEATURE_STC
Definition libcpuid.h:886
@ CPU_FEATURE_MTE
Definition libcpuid.h:1029
@ CPU_FEATURE_SGX
Definition libcpuid.h:914
@ CPU_FEATURE_RTM
Definition libcpuid.h:905
@ CPU_FEATURE_TTP
Definition libcpuid.h:884
@ CPU_FEATURE_IDST
Definition libcpuid.h:1007
@ CPU_FEATURE_AFP
Definition libcpuid.h:1050
@ CPU_FEATURE_CSV2_2
Definition libcpuid.h:941
@ CPU_FEATURE_VHE
Definition libcpuid.h:960
@ CPU_FEATURE_FHM
Definition libcpuid.h:1005
@ CPU_FEATURE_HWPSTATE
Definition libcpuid.h:888
@ CPU_FEATURE_SHA512
Definition libcpuid.h:978
@ CPU_FEATURE_PMUV3_SS
Definition libcpuid.h:1096
@ CPU_FEATURE_AIE
Definition libcpuid.h:1076
@ CPU_FEATURE_LSE128
Definition libcpuid.h:1133
@ CPU_FEATURE_SEP
Definition libcpuid.h:818
@ CPU_FEATURE_AVX512BW
Definition libcpuid.h:912
@ CPU_FEATURE_DPB2
Definition libcpuid.h:1023
@ CPU_FEATURE_TTST
Definition libcpuid.h:1019
@ CPU_FEATURE_XS
Definition libcpuid.h:1064
@ CPU_FEATURE_VMX
Definition libcpuid.h:842
@ CPU_FEATURE_E0PD
Definition libcpuid.h:1024
@ CPU_FEATURE_AVX512PF
Definition libcpuid.h:908
@ CPU_FEATURE_SME_F64F64
Definition libcpuid.h:1121
@ CPU_FEATURE_RASV2
Definition libcpuid.h:1099
@ CPU_FEATURE_AA32I8MM
Definition libcpuid.h:963
@ CPU_FEATURE_SHA256
Definition libcpuid.h:951
@ CPU_FEATURE_RPRFM
Definition libcpuid.h:1100
@ CPU_FEATURE_CLFLUSH
Definition libcpuid.h:825
@ CPU_FEATURE_SB
Definition libcpuid.h:1034
@ CPU_FEATURE_SYSREG128
Definition libcpuid.h:1141
@ CPU_FEATURE_ACPI
Definition libcpuid.h:827
@ CPU_FEATURE_PAUTH2
Definition libcpuid.h:1048
@ CPU_FEATURE_MTE_CANONICAL_TAGS
Definition libcpuid.h:1089
@ CPU_FEATURE_TRBE
Definition libcpuid.h:1117
@ CPU_FEATURE_EBF16
Definition libcpuid.h:1051
@ CPU_FEATURE_HCX
Definition libcpuid.h:1052
@ CPU_FEATURE_PMUV3
Definition libcpuid.h:949
@ CPU_FEATURE_FCMA
Definition libcpuid.h:989
@ CPU_FEATURE_RPRES
Definition libcpuid.h:1061
@ CPU_FEATURE_NTLBPA
Definition libcpuid.h:952
@ CPU_FEATURE_SVE
Definition libcpuid.h:982
@ CPU_FEATURE_FLAGM2
Definition libcpuid.h:1028
@ CPU_FEATURE_LRCPC
Definition libcpuid.h:993
@ CPU_FEATURE_TM
Definition libcpuid.h:834
@ CPU_FEATURE_SSE2
Definition libcpuid.h:831
@ CPU_FEATURE_LRCPC3
Definition libcpuid.h:1086
@ CPU_FEATURE_ETS2
Definition libcpuid.h:944
@ CPU_FEATURE_FGT2
Definition libcpuid.h:1084
@ CPU_FEATURE_FMA4
Definition libcpuid.h:892
@ CPU_FEATURE_MTE_TAGGED_FAR
Definition libcpuid.h:1093
@ CPU_FEATURE_XNX
Definition libcpuid.h:985
@ CPU_FEATURE_SVE_SM4
Definition libcpuid.h:1115
@ CPU_FEATURE_SEL2
Definition libcpuid.h:1014
@ CPU_FEATURE_CSV2_1P1
Definition libcpuid.h:939
@ CPU_FEATURE_FPU
Definition libcpuid.h:807
@ CPU_FEATURE_SSBS2
Definition libcpuid.h:1037
@ CPU_FEATURE_LSMAOC
Definition libcpuid.h:973
@ CPU_FEATURE_CX16
Definition libcpuid.h:848
@ CPU_FEATURE_100MHZSTEPS
Definition libcpuid.h:887
@ CPU_FEATURE_MTE_STORE_ONLY
Definition libcpuid.h:1092
@ CPU_FEATURE_ADVMULTU
Definition libcpuid.h:923
@ CPU_FEATURE_TSC
Definition libcpuid.h:811
@ CPU_FEATURE_XSAVE
Definition libcpuid.h:859
@ CPU_FEATURE_PACIMP
Definition libcpuid.h:994
@ CPU_FEATURE_AMUV1P1
Definition libcpuid.h:1039
@ CPU_FEATURE_DEBUGV8P2
Definition libcpuid.h:965
@ CPU_FEATURE_NX
Definition libcpuid.h:865
@ CPU_FEATURE_SYSINSTR128
Definition libcpuid.h:1140
@ CPU_FEATURE_HBC
Definition libcpuid.h:1067
@ CPU_FEATURE_SME_F16F16
Definition libcpuid.h:1137
@ CPU_FEATURE_DGH
Definition libcpuid.h:1041
@ CPU_FEATURE_SVM
Definition libcpuid.h:871
@ CPU_FEATURE_PCLMUL
Definition libcpuid.h:838
@ CPU_FEATURE_PAN2
Definition libcpuid.h:975
@ CPU_FEATURE_CMP_LEGACY
Definition libcpuid.h:870
@ CPU_FEATURE_TLBIRANGE
Definition libcpuid.h:1016
@ CPU_FEATURE_SPECRES2
Definition libcpuid.h:1105
@ CPU_FEATURE_OSXSAVE
Definition libcpuid.h:860
@ CPU_FEATURE_PMUV3P1
Definition libcpuid.h:958
@ CPU_FEATURE_PMUV3P8
Definition libcpuid.h:1070
@ CPU_FEATURE_HPMN0
Definition libcpuid.h:1044
@ CPU_FEATURE_CID
Definition libcpuid.h:847
@ CPU_FEATURE_PSE
Definition libcpuid.h:810
@ CPU_FEATURE_XOP
Definition libcpuid.h:890
@ CPU_FEATURE_SVE_BITPERM
Definition libcpuid.h:1112
@ CPU_FEATURE_RAS
Definition libcpuid.h:976
@ CPU_FEATURE_TWED
Definition libcpuid.h:1049
@ CPU_FEATURE_I8MM
Definition libcpuid.h:970
@ CPU_FEATURE_FPAC
Definition libcpuid.h:990
@ CPU_FEATURE_PSE36
Definition libcpuid.h:823
@ CPU_FEATURE_FGT
Definition libcpuid.h:1043
@ CPU_FEATURE_MTE_ASYNC
Definition libcpuid.h:1088
@ CPU_FEATURE_AVX512ER
Definition libcpuid.h:909
@ CPU_FEATURE_ITE
Definition libcpuid.h:1132
@ CPU_FEATURE_OSVW
Definition libcpuid.h:876
@ CPU_FEATURE_DOUBLELOCK
Definition libcpuid.h:943
@ CPU_FEATURE_3DNOWEXT
Definition libcpuid.h:864
@ CPU_FEATURE_SYSCALL
Definition libcpuid.h:854
@ CPU_FEATURE_SHA_NI
Definition libcpuid.h:911
@ CPU_FEATURE_SVE_AES
Definition libcpuid.h:1111
@ CPU_FEATURE_ABM
Definition libcpuid.h:872
@ CPU_FEATURE_TS
Definition libcpuid.h:881
@ CPU_FEATURE_LRCPC2
Definition libcpuid.h:1008
@ CPU_FEATURE_HT
Definition libcpuid.h:833
@ CPU_FEATURE_HPDS2
Definition libcpuid.h:969
@ CPU_FEATURE_MIXEDEND
Definition libcpuid.h:946
@ CPU_FEATURE_PMUV3_ICNTR
Definition libcpuid.h:1095
@ CPU_FEATURE_X2APIC
Definition libcpuid.h:896
@ CPU_FEATURE_TIDCP1
Definition libcpuid.h:1074
@ CPU_FEATURE_SM4
Definition libcpuid.h:980
@ CPU_FEATURE_BRBEV1P1
Definition libcpuid.h:1124
@ CPU_FEATURE_SPMU
Definition libcpuid.h:1108
@ CPU_FEATURE_S1POE
Definition libcpuid.h:1102
@ CPU_FEATURE_MTE_NO_ADDRESS_TAGS
Definition libcpuid.h:1090
@ CPU_FEATURE_DEBUGV7P1
Definition libcpuid.h:930
@ CPU_FEATURE_FPACCOMBINE
Definition libcpuid.h:991
@ CPU_FEATURE_CSV2_1P2
Definition libcpuid.h:940
@ CPU_FEATURE_AA32HPD
Definition libcpuid.h:962
@ CPU_FEATURE_TRF
Definition libcpuid.h:1017
@ CPU_FEATURE_CCIDX
Definition libcpuid.h:986
@ CPU_FEATURE_ADVSIMD
Definition libcpuid.h:937
@ CPU_FEATURE_ADX
Definition libcpuid.h:916
@ CPU_FEATURE_HPDS
Definition libcpuid.h:954
@ CPU_FEATURE_SVE2
Definition libcpuid.h:1110
@ CPU_FEATURE_DEBUGV8P8
Definition libcpuid.h:1066
@ CPU_FEATURE_EST
Definition libcpuid.h:844
@ CPU_FEATURE_LVA
Definition libcpuid.h:974
@ CPU_FEATURE_FP
Definition libcpuid.h:945
@ CPU_FEATURE_PMUV3P4
Definition libcpuid.h:1011
@ CPU_FEATURE_SSSE3
Definition libcpuid.h:846
@ CPU_FEATURE_DIT
Definition libcpuid.h:1001
@ CPU_FEATURE_EBEP
Definition libcpuid.h:1130
@ CPU_FEATURE_HAFT
Definition libcpuid.h:1085
@ CPU_FEATURE_APERFMPERF
Definition libcpuid.h:898
@ CPU_FEATURE_CONSTANT_TSC
Definition libcpuid.h:889
@ CPU_FEATURE_LS64_ACCDATA
Definition libcpuid.h:1055
@ CPU_FEATURE_MMX
Definition libcpuid.h:828
@ CPU_FEATURE_THE
Definition libcpuid.h:1109
@ CPU_FEATURE_SSE4_1
Definition libcpuid.h:852
@ CPU_FEATURE_RASV1P1
Definition libcpuid.h:1012
@ CPU_FEATURE_AVX512F
Definition libcpuid.h:906
@ CPU_FEATURE_SEBEP
Definition libcpuid.h:1135
@ CPU_FEATURE_BRBE
Definition libcpuid.h:1118
@ CPU_FEATURE_AVX512DQ
Definition libcpuid.h:907
@ CPU_FEATURE_DEBUGV8P4
Definition libcpuid.h:1002
@ CPU_FEATURE_SMX
Definition libcpuid.h:843
@ CPU_FEATURE_MEC
Definition libcpuid.h:1125
@ CPU_FEATURE_THUMBEE
Definition libcpuid.h:931
@ CPU_FEATURE_POPCNT
Definition libcpuid.h:857
@ CPU_FEATURE_DEBUGV7
Definition libcpuid.h:929
@ CPU_FEATURE_GCS
Definition libcpuid.h:1131
@ CPU_FEATURE_MPAM
Definition libcpuid.h:1010
@ CPU_FEATURE_LAHF_LM
Definition libcpuid.h:869
@ CPU_FEATURE_DCA
Definition libcpuid.h:851
@ CPU_FEATURE_SPEV1P3
Definition libcpuid.h:1072
@ CPU_FEATURE_MIXEDENDEL0
Definition libcpuid.h:947
@ CPU_FEATURE_CX8
Definition libcpuid.h:815
@ CPU_FEATURE_PAT
Definition libcpuid.h:822
@ CPU_FEATURE_ADVMULTS
Definition libcpuid.h:924
@ CPU_FEATURE_VID
Definition libcpuid.h:883
@ CPU_FEATURE_CRC32
Definition libcpuid.h:938
@ CPU_FEATURE_LSE2
Definition libcpuid.h:1009
@ CPU_FEATURE_ASID16
Definition libcpuid.h:936
@ CPU_FEATURE_TM2
Definition libcpuid.h:845
@ CPU_FEATURE_LOR
Definition libcpuid.h:955
@ CPU_FEATURE_PDCM
Definition libcpuid.h:850
@ CPU_FEATURE_SPEV1P4
Definition libcpuid.h:1107
@ CPU_FEATURE_RDTSCP
Definition libcpuid.h:867
@ CPU_FEATURE_RDSEED
Definition libcpuid.h:915
@ CPU_FEATURE_PMULL
Definition libcpuid.h:948
@ CPU_FEATURE_AA32BF16
Definition libcpuid.h:1038
@ CPU_FEATURE_HLE
Definition libcpuid.h:904
@ CPU_FEATURE_MTE4
Definition libcpuid.h:1087
@ CPU_FEATURE_WDT
Definition libcpuid.h:880
@ CPU_FEATURE_ATS1A
Definition libcpuid.h:1078
@ CPU_FEATURE_EVT
Definition libcpuid.h:1025
@ CPU_FEATURE_MTRR
Definition libcpuid.h:817
@ CPU_FEATURE_DOTPROD
Definition libcpuid.h:1003
@ CPU_FEATURE_SSE4A
Definition libcpuid.h:874
@ CPU_FEATURE_CMOV
Definition libcpuid.h:821
@ CPU_FEATURE_SVE_B16B16
Definition libcpuid.h:1139
@ CPU_FEATURE_SSE
Definition libcpuid.h:830
@ CPU_FEATURE_3DNOWPREFETCH
Definition libcpuid.h:875
@ CPU_FEATURE_EXS
Definition libcpuid.h:1026
@ CPU_FEATURE_PACQARMA5
Definition libcpuid.h:996
@ CPU_FEATURE_ABLE
Definition libcpuid.h:1127
@ CPU_FEATURE_PMUV3P9
Definition libcpuid.h:1097
@ CPU_FEATURE_DEBUGV8P9
Definition libcpuid.h:1081
@ CPU_FEATURE_THUMB2
Definition libcpuid.h:928
@ CPU_FEATURE_PRFMSLC
Definition libcpuid.h:1098
@ CPU_FEATURE_HYPERVISOR
Definition libcpuid.h:920
@ CPU_FEATURE_VMID16
Definition libcpuid.h:961
@ CPU_FEATURE_PA
Definition libcpuid.h:900
@ CPU_FEATURE_AVX512VBMI2
Definition libcpuid.h:919
@ CPU_FEATURE_CSV2_3
Definition libcpuid.h:942
@ CPU_FEATURE_RNG_TRAP
Definition libcpuid.h:1033
@ CPU_FEATURE_ANERR
Definition libcpuid.h:1077
@ CPU_FEATURE_SME_FA64
Definition libcpuid.h:1122
@ CPU_FEATURE_DE
Definition libcpuid.h:809
@ CPU_FEATURE_NMI
Definition libcpuid.h:1069
@ CPU_FEATURE_IESB
Definition libcpuid.h:971
@ CPU_FEATURE_SHA1
Definition libcpuid.h:950
@ CPU_FEATURE_TM_AMD
Definition libcpuid.h:885
@ CPU_FEATURE_S1PIE
Definition libcpuid.h:1101
@ CPU_FEATURE_BMI2
Definition libcpuid.h:903
@ CPU_FEATURE_DS_CPL
Definition libcpuid.h:841
@ CPU_FEATURE_TCR2
Definition libcpuid.h:1073
@ CPU_FEATURE_THUMB
Definition libcpuid.h:922
@ CPU_FEATURE_SS
Definition libcpuid.h:832
@ CPU_FEATURE_AVX512VBMI
Definition libcpuid.h:918
@ CPU_FEATURE_CMOW
Definition libcpuid.h:1065
@ CPU_FEATURE_FLAGM
Definition libcpuid.h:1006
@ CPU_FEATURE_S2FWB
Definition libcpuid.h:1013
@ CPU_FEATURE_FMA3
Definition libcpuid.h:891
@ CPU_FEATURE_PGE
Definition libcpuid.h:819
@ CPU_FEATURE_DOUBLEFAULT2
Definition libcpuid.h:1082
@ CPU_FEATURE_MTE2
Definition libcpuid.h:1030
@ CPU_FEATURE_IBS
Definition libcpuid.h:877
@ CPU_FEATURE_DOUBLEFAULT
Definition libcpuid.h:1004
@ CPU_FEATURE_EPAC
Definition libcpuid.h:988
@ CPU_FEATURE_MCA
Definition libcpuid.h:820
@ CPU_FEATURE_FXSR_OPT
Definition libcpuid.h:866
@ CPU_FEATURE_SPEV1P1
Definition libcpuid.h:998
@ CPU_FEATURE_SME
Definition libcpuid.h:1120
@ CPU_FEATURE_BBM
Definition libcpuid.h:1000
@ CPU_FEATURE_MOVBE
Definition libcpuid.h:856
@ CPU_FEATURE_LM
Definition libcpuid.h:868
@ CPU_FEATURE_PAE
Definition libcpuid.h:813
@ CPU_FEATURE_PACQARMA3
Definition libcpuid.h:995
@ CPU_FEATURE_MTE_PERM
Definition libcpuid.h:1091
@ CPU_FEATURE_S2PIE
Definition libcpuid.h:1103
@ CPU_FEATURE_TTCNP
Definition libcpuid.h:983
@ CPU_FEATURE_MMXEXT
Definition libcpuid.h:862
@ CPU_FEATURE_SME2P1
Definition libcpuid.h:1136
@ CPU_FEATURE_FP16
Definition libcpuid.h:968
@ CPU_FEATURE_AVX
Definition libcpuid.h:861
@ CPU_FEATURE_MTE_ASYM_FAULT
Definition libcpuid.h:1058
@ CPU_FEATURE_MOPS
Definition libcpuid.h:1068
@ CPU_FEATURE_XD
Definition libcpuid.h:855
@ CPU_FEATURE_3DNOW
Definition libcpuid.h:863
@ CPU_FEATURE_HAFDBS
Definition libcpuid.h:953
@ CPU_FEATURE_DTS64
Definition libcpuid.h:839
@ CPU_FEATURE_PMUV3P5
Definition libcpuid.h:1031
@ CPU_FEATURE_WFXT
Definition libcpuid.h:1063
@ CPU_FEATURE_LS64_V
Definition libcpuid.h:1056
@ CPU_FEATURE_FRINTTS
Definition libcpuid.h:1027
@ CPU_FEATURE_SVE_PMULL128
Definition libcpuid.h:1113
@ CPU_FEATURE_SHA3
Definition libcpuid.h:977
@ CPU_FEATURE_PFAR
Definition libcpuid.h:1094
@ CPU_FEATURE_TRBE_EXT
Definition libcpuid.h:1142
@ CPU_FEATURE_AVX512VL
Definition libcpuid.h:913
@ CPU_FEATURE_LPA2
Definition libcpuid.h:1053
@ CPU_FEATURE_TBM
Definition libcpuid.h:893
@ CPU_FEATURE_PN
Definition libcpuid.h:824
@ CPU_FEATURE_PFI
Definition libcpuid.h:899
@ CPU_FEATURE_TTL
Definition libcpuid.h:1018
@ CPU_FEATURE_IA64
Definition libcpuid.h:835
@ CPU_FEATURE_MPAMV0P1
Definition libcpuid.h:1045
@ CPU_FEATURE_BWE
Definition libcpuid.h:1128
@ CPU_FEATURE_XTPR
Definition libcpuid.h:849
@ CPU_FEATURE_CSV2
Definition libcpuid.h:1021
@ CPU_FEATURE_AES
Definition libcpuid.h:858
@ CPU_FEATURE_LS64
Definition libcpuid.h:1054
@ CPU_FEATURE_AVX512CD
Definition libcpuid.h:910
@ CPU_FEATURE_FXSR
Definition libcpuid.h:829
@ CPU_FEATURE_BMI1
Definition libcpuid.h:902
@ CPU_FEATURE_S2POE
Definition libcpuid.h:1104
@ CPU_FEATURE_PBE
Definition libcpuid.h:836
@ CPU_FEATURE_AVX512VNNI
Definition libcpuid.h:917
@ CPU_FEATURE_CSV3
Definition libcpuid.h:1022
@ CPU_FEATURE_RDM
Definition libcpuid.h:959
@ CPU_FEATURE_RME
Definition libcpuid.h:1119
@ CPU_FEATURE_CSSC
Definition libcpuid.h:1080
@ CPU_FEATURE_MTE3
Definition libcpuid.h:1057
@ CPU_FEATURE_DTS
Definition libcpuid.h:826
@ CPU_FEATURE_PMUV3P7
Definition libcpuid.h:1060
@ CPU_FEATURE_SPE_DPFZS
Definition libcpuid.h:1106
@ CPU_FEATURE_LSE
Definition libcpuid.h:956
@ CPU_FEATURE_LVA3
Definition libcpuid.h:1134
@ CPU_FEATURE_JAZELLE
Definition libcpuid.h:925
@ CPU_FEATURE_BF16
Definition libcpuid.h:1040
@ CPU_FEATURE_F64MM
Definition libcpuid.h:967
@ CPU_FEATURE_PMUV2
Definition libcpuid.h:935
@ CPU_FEATURE_MISALIGNSSE
Definition libcpuid.h:873
@ CPU_FEATURE_SCTLR2
Definition libcpuid.h:1071
@ CPU_FEATURE_MPAMV1P1
Definition libcpuid.h:1046
@ CPU_FEATURE_CPB
Definition libcpuid.h:897
@ CPU_FEATURE_DEBUGV6P1
Definition libcpuid.h:927
@ CPU_FEATURE_D128
Definition libcpuid.h:1129
@ CPU_FEATURE_SVE2P1
Definition libcpuid.h:1138
@ CPU_FEATURE_F16C
Definition libcpuid.h:894
@ ERR_BADFMT
Definition libcpuid.h:1197
@ ERR_NO_MEM
Definition libcpuid.h:1195
@ ERR_NO_PERMS
Definition libcpuid.h:1202
@ ERR_CPU_UNKN
Definition libcpuid.h:1199
@ ERR_NO_RDMSR
Definition libcpuid.h:1200
@ ERR_NOT_FOUND
Definition libcpuid.h:1209
@ ERR_NO_CPUID
Definition libcpuid.h:1193
@ ERR_INVMSR
Definition libcpuid.h:1205
@ ERR_NOT_IMP
Definition libcpuid.h:1198
@ ERR_INVRANGE
Definition libcpuid.h:1208
@ ERR_OPEN
Definition libcpuid.h:1196
@ ERR_IOCTL
Definition libcpuid.h:1210
@ ERR_NO_DRIVER
Definition libcpuid.h:1201
@ ERR_REQUEST
Definition libcpuid.h:1211
@ ERR_NO_RDTSC
Definition libcpuid.h:1194
@ ERR_OK
Definition libcpuid.h:1192
@ ERR_EXTRACT
Definition libcpuid.h:1203
@ ERR_HANDLE_R
Definition libcpuid.h:1207
@ ERR_INVCNB
Definition libcpuid.h:1206
@ ERR_HANDLE
Definition libcpuid.h:1204
@ INTEL_SGX1
Definition libcpuid.h:1181
@ INTEL_SGX2
Definition libcpuid.h:1182
@ FEATURE_LEVEL_ARM_V8_0_A
Definition libcpuid.h:225
@ FEATURE_LEVEL_ARM_V5
Definition libcpuid.h:215
@ FEATURE_LEVEL_ARM_V8_0_R
Definition libcpuid.h:227
@ FEATURE_LEVEL_ARM_V7E_M
Definition libcpuid.h:224
@ FEATURE_LEVEL_I586
Definition libcpuid.h:202
@ FEATURE_LEVEL_ARM_V6
Definition libcpuid.h:219
@ FEATURE_LEVEL_ARM_V8_7_A
Definition libcpuid.h:235
@ FEATURE_LEVEL_ARM_V3
Definition libcpuid.h:212
@ FEATURE_LEVEL_ARM_V5TEJ
Definition libcpuid.h:218
@ FEATURE_LEVEL_X86_64_V1
Definition libcpuid.h:204
@ FEATURE_LEVEL_ARM_V9_2_A
Definition libcpuid.h:240
@ FEATURE_LEVEL_ARM_V4T
Definition libcpuid.h:214
@ FEATURE_LEVEL_ARM_V4
Definition libcpuid.h:213
@ FEATURE_LEVEL_X86_64_V4
Definition libcpuid.h:207
@ FEATURE_LEVEL_ARM_V8_1_M
Definition libcpuid.h:229
@ FEATURE_LEVEL_I386
Definition libcpuid.h:200
@ FEATURE_LEVEL_ARM_V6_M
Definition libcpuid.h:220
@ FEATURE_LEVEL_ARM_V7_R
Definition libcpuid.h:223
@ FEATURE_LEVEL_ARM_V7_A
Definition libcpuid.h:221
@ FEATURE_LEVEL_ARM_V9_4_A
Definition libcpuid.h:242
@ FEATURE_LEVEL_ARM_V7_M
Definition libcpuid.h:222
@ FEATURE_LEVEL_X86_64_V3
Definition libcpuid.h:206
@ FEATURE_LEVEL_ARM_V1
Definition libcpuid.h:210
@ FEATURE_LEVEL_ARM_V9_3_A
Definition libcpuid.h:241
@ FEATURE_LEVEL_ARM_V9_0_A
Definition libcpuid.h:238
@ FEATURE_LEVEL_ARM_V8_8_A
Definition libcpuid.h:236
@ FEATURE_LEVEL_ARM_V8_5_A
Definition libcpuid.h:233
@ FEATURE_LEVEL_ARM_V8_2_A
Definition libcpuid.h:230
@ FEATURE_LEVEL_X86_64_V2
Definition libcpuid.h:205
@ FEATURE_LEVEL_ARM_V5TE
Definition libcpuid.h:217
@ FEATURE_LEVEL_ARM_V8_3_A
Definition libcpuid.h:231
@ FEATURE_LEVEL_ARM_V8_4_A
Definition libcpuid.h:232
@ FEATURE_LEVEL_ARM_V5T
Definition libcpuid.h:216
@ FEATURE_LEVEL_ARM_V9_1_A
Definition libcpuid.h:239
@ FEATURE_LEVEL_ARM_V8_6_A
Definition libcpuid.h:234
@ FEATURE_LEVEL_I486
Definition libcpuid.h:201
@ FEATURE_LEVEL_ARM_V8_9_A
Definition libcpuid.h:237
@ FEATURE_LEVEL_ARM_V8_1_A
Definition libcpuid.h:228
@ FEATURE_LEVEL_I686
Definition libcpuid.h:203
@ FEATURE_LEVEL_ARM_V8_0_M
Definition libcpuid.h:226
@ FEATURE_LEVEL_ARM_V2
Definition libcpuid.h:211
@ CPU_HINT_SSE_SIZE_AUTH
Definition libcpuid.h:1153
@ VENDOR_NEXGEN
Definition libcpuid.h:151
@ VENDOR_INTEL
Definition libcpuid.h:148
@ VENDOR_APPLE
Definition libcpuid.h:172
@ VENDOR_ARM
Definition libcpuid.h:159
@ VENDOR_NVIDIA
Definition libcpuid.h:167
@ VENDOR_RISE
Definition libcpuid.h:155
@ VENDOR_SIS
Definition libcpuid.h:156
@ VENDOR_SAMSUNG
Definition libcpuid.h:170
@ VENDOR_BROADCOM
Definition libcpuid.h:160
@ VENDOR_PHYTIUM
Definition libcpuid.h:175
@ VENDOR_MARVELL
Definition libcpuid.h:171
@ VENDOR_CAVIUM
Definition libcpuid.h:161
@ VENDOR_UMC
Definition libcpuid.h:153
@ VENDOR_MICROSOFT
Definition libcpuid.h:174
@ VENDOR_FREESCALE
Definition libcpuid.h:166
@ VENDOR_APM
Definition libcpuid.h:168
@ VENDOR_AMD
Definition libcpuid.h:149
@ VENDOR_NSC
Definition libcpuid.h:157
@ VENDOR_FARADAY
Definition libcpuid.h:173
@ VENDOR_INFINEON
Definition libcpuid.h:165
@ VENDOR_CENTAUR
Definition libcpuid.h:154
@ VENDOR_HYGON
Definition libcpuid.h:158
@ VENDOR_FUJITSU
Definition libcpuid.h:163
@ VENDOR_CYRIX
Definition libcpuid.h:150
@ VENDOR_DEC
Definition libcpuid.h:162
@ VENDOR_AMPERE
Definition libcpuid.h:176
@ VENDOR_TRANSMETA
Definition libcpuid.h:152
@ VENDOR_QUALCOMM
Definition libcpuid.h:169
@ VENDOR_HISILICON
Definition libcpuid.h:164
@ HYPERVISOR_PARALLELS
Definition libcpuid.h:271
@ HYPERVISOR_NONE
Definition libcpuid.h:267
@ HYPERVISOR_QEMU
Definition libcpuid.h:272
@ HYPERVISOR_XEN
Definition libcpuid.h:275
@ HYPERVISOR_BHYVE
Definition libcpuid.h:268
@ HYPERVISOR_VMWARE
Definition libcpuid.h:274
@ HYPERVISOR_VIRTUALBOX
Definition libcpuid.h:273
@ HYPERVISOR_KVM
Definition libcpuid.h:270
@ HYPERVISOR_HYPERV
Definition libcpuid.h:269
Contains ARM specific info.
Definition libcpuid.h:512
uint16_t part_num
Definition libcpuid.h:520
uint8_t implementer
Definition libcpuid.h:514
uint8_t variant
Definition libcpuid.h:517
uint8_t revision
Definition libcpuid.h:523
Internal structure, used in affinity_mask_str_r and affinity_mask_str.
Definition libcpuid_types.h:69
The return value of cpuid_get_epc().
Definition libcpuid.h:1698
This contains the recognized CPU features/info.
Definition libcpuid.h:529
int32_t l1_cacheline
Definition libcpuid.h:683
int32_t num_logical_cpus
Definition libcpuid.h:611
char brand_str[BRAND_STR_MAX]
Definition libcpuid.h:544
int32_t l4_cache
Definition libcpuid.h:653
int32_t l1_data_assoc
Definition libcpuid.h:664
int32_t l3_cacheline
Definition libcpuid.h:696
int32_t ext_model
Definition libcpuid.h:591
int32_t l2_cache
Definition libcpuid.h:647
int32_t l3_cache
Definition libcpuid.h:650
int32_t l1_instruction_assoc
Definition libcpuid.h:667
int32_t l4_assoc
Definition libcpuid.h:676
int32_t l1_assoc
Definition libcpuid.h:660
cpu_purpose_t purpose
Definition libcpuid.h:757
int32_t l1_data_cache
Definition libcpuid.h:633
cpu_feature_level_t feature_level
Definition libcpuid.h:538
cpu_vendor_t vendor
Definition libcpuid.h:547
int32_t family
Definition libcpuid.h:562
int32_t l3_instances
Definition libcpuid.h:711
int32_t stepping
Definition libcpuid.h:576
int32_t l3_assoc
Definition libcpuid.h:673
char vendor_str[VENDOR_STR_MAX]
Definition libcpuid.h:541
int32_t l1_data_instances
Definition libcpuid.h:702
char cpu_codename[CODENAME_STR_MAX]
Definition libcpuid.h:730
struct cpu_sgx_t sgx
Definition libcpuid.h:751
cpu_architecture_t architecture
Definition libcpuid.h:531
int32_t l2_cacheline
Definition libcpuid.h:693
int32_t l4_cacheline
Definition libcpuid.h:699
uint8_t detection_hints[CPU_HINTS_MAX]
Definition libcpuid.h:744
int32_t ext_family
Definition libcpuid.h:583
int32_t num_cores
Definition libcpuid.h:604
int32_t model
Definition libcpuid.h:569
cpu_affinity_mask_t affinity_mask
Definition libcpuid.h:754
int32_t l1_instruction_cacheline
Definition libcpuid.h:690
int32_t l1_data_cacheline
Definition libcpuid.h:687
int32_t l2_instances
Definition libcpuid.h:708
int32_t sse_size
Definition libcpuid.h:737
int32_t l1_instruction_instances
Definition libcpuid.h:705
int32_t l4_instances
Definition libcpuid.h:714
int32_t total_logical_cpus
Definition libcpuid.h:627
int32_t l1_instruction_cache
Definition libcpuid.h:641
int32_t l2_assoc
Definition libcpuid.h:670
uint8_t flags[CPU_FLAGS_MAX]
Definition libcpuid.h:554
a structure that holds a list of processor names
Definition libcpuid.h:1782
char ** names
Definition libcpuid.h:1786
int num_entries
Definition libcpuid.h:1784
Internal structure, used in cpu_tsc_mark, cpu_tsc_unmark and cpu_clock_by_mark.
Definition libcpuid.h:1218
uint64_t sys_clock
Definition libcpuid.h:1220
uint64_t tsc
Definition libcpuid.h:1219
Contains an array of raw CPUID data.
Definition libcpuid.h:397
logical_cpu_t num_raw
Definition libcpuid.h:406
struct cpu_raw_data_t * raw
Definition libcpuid.h:409
bool with_affinity
Definition libcpuid.h:403
Contains just the raw CPUID data.
Definition libcpuid.h:288
uint64_t arm_mpidr
Definition libcpuid.h:334
uint64_t arm_id_aa64zfr[MAX_ARM_ID_AA64ZFR_REGS]
Definition libcpuid.h:386
uint32_t intel_fn4[MAX_INTELFN4_LEVEL][NUM_REGS]
Definition libcpuid.h:298
uint32_t arm_id_afr[MAX_ARM_ID_AFR_REGS]
Definition libcpuid.h:342
uint32_t arm_id_dfr[MAX_ARM_ID_DFR_REGS]
Definition libcpuid.h:346
uint32_t arm_id_isar[MAX_ARM_ID_ISAR_REGS]
Definition libcpuid.h:350
uint64_t arm_id_aa64isar[MAX_ARM_ID_AA64ISAR_REGS]
Definition libcpuid.h:370
uint64_t arm_revidr
Definition libcpuid.h:338
uint32_t arm_id_mmfr[MAX_ARM_ID_MMFR_REGS]
Definition libcpuid.h:354
uint32_t arm_id_pfr[MAX_ARM_ID_PFR_REGS]
Definition libcpuid.h:358
uint64_t arm_id_aa64afr[MAX_ARM_ID_AA64AFR_REGS]
Definition libcpuid.h:362
uint64_t arm_midr
Definition libcpuid.h:330
uint64_t arm_id_aa64smfr[MAX_ARM_ID_AA64SMFR_REGS]
Definition libcpuid.h:382
uint32_t basic_cpuid[MAX_CPUID_LEVEL][NUM_REGS]
Definition libcpuid.h:290
uint32_t amd_fn80000026h[MAX_AMDFN80000026H_LEVEL][NUM_REGS]
Definition libcpuid.h:326
uint32_t intel_fn12h[MAX_INTELFN12H_LEVEL][NUM_REGS]
Definition libcpuid.h:308
uint64_t arm_id_aa64pfr[MAX_ARM_ID_AA64PFR_REGS]
Definition libcpuid.h:378
uint32_t intel_fn14h[MAX_INTELFN14H_LEVEL][NUM_REGS]
Definition libcpuid.h:314
uint64_t arm_id_aa64mmfr[MAX_ARM_ID_AA64MMFR_REGS]
Definition libcpuid.h:374
uint32_t amd_fn8000001dh[MAX_AMDFN8000001DH_LEVEL][NUM_REGS]
Definition libcpuid.h:320
uint32_t ext_cpuid[MAX_EXT_CPUID_LEVEL][NUM_REGS]
Definition libcpuid.h:293
uint32_t intel_fn11[MAX_INTELFN11_LEVEL][NUM_REGS]
Definition libcpuid.h:303
uint64_t arm_id_aa64dfr[MAX_ARM_ID_AA64DFR_REGS]
Definition libcpuid.h:366
This contains information about SGX features of the processor Example usage:
Definition libcpuid.h:435
uint8_t max_enclave_32bit
Definition libcpuid.h:442
uint64_t secs_attributes
Definition libcpuid.h:468
uint8_t flags[SGX_FLAGS_MAX]
Definition libcpuid.h:453
uint8_t max_enclave_64bit
Definition libcpuid.h:447
uint32_t misc_select
Definition libcpuid.h:463
uint64_t secs_xfrm
Definition libcpuid.h:473
uint32_t present
Definition libcpuid.h:437
int num_epc_sections
Definition libcpuid.h:458
This contains the recognized features/info for all CPUs on the system.
Definition libcpuid.h:763
int32_t l2_total_instances
Definition libcpuid.h:777
int32_t l1_instruction_total_instances
Definition libcpuid.h:774
int32_t l3_total_instances
Definition libcpuid.h:780
struct cpu_id_t * cpu_types
Definition libcpuid.h:768
uint8_t num_cpu_types
Definition libcpuid.h:765
int32_t l1_data_total_instances
Definition libcpuid.h:771
int32_t l4_total_instances
Definition libcpuid.h:783
Contains x86 specific info.
Definition libcpuid.h:481
int32_t model
Definition libcpuid.h:486
struct cpu_sgx_t sgx
Definition libcpuid.h:504
int32_t family
Definition libcpuid.h:483
int32_t ext_model
Definition libcpuid.h:498
int32_t ext_family
Definition libcpuid.h:492
int32_t stepping
Definition libcpuid.h:489
int32_t sse_size
Definition libcpuid.h:501