@@ -59,18 +59,17 @@ typedef enum eth_cpuid_eax_flag_t
59
59
60
60
typedef enum eth_cpuid_ecx_flag_t
61
61
{
62
- ETH_CPUID_EXT_FEAT_ECX_PAGE_1 = 0x0 ,
63
- ETH_CPUID_EXT_FEAT_ECX_PAGE_2 = 0x1 ,
64
- ETH_CPUID_EXT_FEAT_ECX_PAGE_3 = 0x2 ,
65
- ETH_CPUID_XSAVE_FEAT_ECX_PAGE_1 = 0x0 ,
66
- ETH_CPUID_XSAVE_FEAT_ECX_PAGE_2 = 0x1 ,
67
- ETH_CPUID_SGX_ECX_PAGE_1 = 0x0 ,
68
- ETH_CPUID_SGX_ECX_PAGE_2 = 0x1 ,
69
- ETH_CPUID_SGX_ECX_PAGE_3 = 0x2 ,
70
- ETH_CPUID_PROC_TRACE_ECX = 0x0 ,
71
- ETH_CPUID_SOC_VENDOR_ATTRIB_ECX = 0x0 ,
72
- ETH_CPUID_AVX10_FEAT_ECX = 0x0 ,
73
- ETH_CPUID_DISCRET_AVX10_FEAT_ECX = 0x1
62
+ FEAT_ECX_PAGE_1 = 0x1 ,
63
+ FEAT_ECX_PAGE_2 = 0x2 ,
64
+ XSAVE_FEAT_ECX_PAGE_1 = 0x0 ,
65
+ XSAVE_FEAT_ECX_PAGE_2 = 0x1 ,
66
+ SGX_ECX_PAGE_1 = 0x0 ,
67
+ SGX_ECX_PAGE_2 = 0x1 ,
68
+ SGX_ECX_PAGE_3 = 0x2 ,
69
+ PROC_TRACE_ECX = 0x0 ,
70
+ SOC_VENDOR_ATTRIB_ECX = 0x0 ,
71
+ AVX10_FEAT_ECX = 0x0 ,
72
+ DISCRET_AVX10_FEAT_ECX = 0x1
74
73
} eth_cpuid_ecx_flag_t ;
75
74
76
75
typedef enum eth_cpuid_reg_index_t
@@ -85,68 +84,200 @@ typedef enum eth_cpuid_reg_index_t
85
84
#pragma GCC diagnostic ignored "-Wpedantic"
86
85
typedef enum eth_cpuid_feat_flag_t
87
86
{
88
- ETH_CPUID_FEAT_FPU = BIN_NUM_1 (0 ),
89
- ETH_CPUID_FEAT_VME = BIN_NUM_1 (1 ),
90
- ETH_CPUID_FEAT_DE = BIN_NUM_1 (2 ),
91
- ETH_CPUID_FEAT_PSE = BIN_NUM_1 (3 ),
92
- ETH_CPUID_FEAT_TSC = BIN_NUM_1 (4 ),
93
- ETH_CPUID_FEAT_MSR = BIN_NUM_1 (5 ),
94
- ETH_CPUID_FEAT_PAE = BIN_NUM_1 (6 ),
95
- ETH_CPUID_FEAT_MCE = BIN_NUM_1 (7 ),
96
- ETH_CPUID_FEAT_CX8 = BIN_NUM_1 (8 ),
97
- ETH_CPUID_FEAT_APIC = BIN_NUM_1 (9 ),
98
- ETH_CPUID_FEAT_SEP = BIN_NUM_1 (11 ),
99
- ETH_CPUID_FEAT_MTRR = BIN_NUM_1 (12 ),
100
- ETH_CPUID_FEAT_PGE = BIN_NUM_1 (13 ),
101
- ETH_CPUID_FEAT_MCA = BIN_NUM_1 (14 ),
102
- ETH_CPUID_FEAT_CMOV = BIN_NUM_1 (15 ),
103
- ETH_CPUID_FEAT_PAT = BIN_NUM_1 (16 ),
104
- ETH_CPUID_FEAT_PSE36 = BIN_NUM_1 (17 ),
105
- ETH_CPUID_FEAT_PSN = BIN_NUM_1 (18 ),
106
- ETH_CPUID_FEAT_CLFSH = BIN_NUM_1 (19 ),
107
- ETH_CPUID_FEAT_NX = BIN_NUM_1 (20 ),
108
- ETH_CPUID_FEAT_DS = BIN_NUM_1 (21 ),
109
- ETH_CPUID_FEAT_ACPI = BIN_NUM_1 (22 ),
110
- ETH_CPUID_FEAT_MMX = BIN_NUM_1 (23 ),
111
- ETH_CPUID_FEAT_FXSR = BIN_NUM_1 (24 ),
112
- ETH_CPUID_FEAT_SSE = BIN_NUM_1 (25 ),
113
- ETH_CPUID_FEAT_SSE2 = BIN_NUM_1 (26 ),
114
- ETH_CPUID_FEAT_SS = BIN_NUM_1 (27 ),
115
- ETH_CPUID_FEAT_HTT = BIN_NUM_1 (28 ),
116
- ETH_CPUID_FEAT_TM = BIN_NUM_1 (29 ),
117
- ETH_CPUID_FEAT_IA64 = BIN_NUM_1 (30 ),
118
- ETH_CPUID_FEAT_PBE = BIN_NUM_1 (31 ),
119
- ETH_CPUID_FEAT_SSE3 = BIN_NUM_1 (0 ),
120
- ETH_CPUID_FEAT_PCLMULQDQ = BIN_NUM_1 (1 ),
121
- ETH_CPUID_FEAT_DTES64 = BIN_NUM_1 (2 ),
122
- ETH_CPUID_FEAT_MONITOR = BIN_NUM_1 (3 ),
123
- ETH_CPUID_FEAT_DS_CPL = BIN_NUM_1 (4 ),
124
- ETH_CPUID_FEAT_VMX = BIN_NUM_1 (5 ),
125
- ETH_CPUID_FEAT_SMX = BIN_NUM_1 (6 ),
126
- ETH_CPUID_FEAT_EST = BIN_NUM_1 (7 ),
127
- ETH_CPUID_FEAT_TM2 = BIN_NUM_1 (8 ),
128
- ETH_CPUID_FEAT_SSSE3 = BIN_NUM_1 (9 ),
129
- ETH_CPUID_FEAT_CNXT_ID = BIN_NUM_1 (10 ),
130
- ETH_CPUID_FEAT_SDBG = BIN_NUM_1 (11 ),
131
- ETH_CPUID_FEAT_FMA = BIN_NUM_1 (12 ),
132
- ETH_CPUID_FEAT_CX16 = BIN_NUM_1 (13 ),
133
- ETH_CPUID_FEAT_XTPR = BIN_NUM_1 (14 ),
134
- ETH_CPUID_FEAT_PDCM = BIN_NUM_1 (15 ),
135
- ETH_CPUID_FEAT_PCID = BIN_NUM_1 (17 ),
136
- ETH_CPUID_FEAT_DCA = BIN_NUM_1 (18 ),
137
- ETH_CPUID_FEAT_SSE41 = BIN_NUM_1 (19 ),
138
- ETH_CPUID_FEAT_SSE42 = BIN_NUM_1 (20 ),
139
- ETH_CPUID_FEAT_X2APIC = BIN_NUM_1 (21 ),
140
- ETH_CPUID_FEAT_MOVBE = BIN_NUM_1 (22 ),
141
- ETH_CPUID_FEAT_POPCNT = BIN_NUM_1 (23 ),
142
- ETH_CPUID_FEAT_TSC_DLINE = BIN_NUM_1 (24 ),
143
- ETH_CPUID_FEAT_AES_NI = BIN_NUM_1 (25 ),
144
- ETH_CPUID_FEAT_XSAVE = BIN_NUM_1 (26 ),
145
- ETH_CPUID_FEAT_OSXSAVE = BIN_NUM_1 (27 ),
146
- ETH_CPUID_FEAT_AVX = BIN_NUM_1 (28 ),
147
- ETH_CPUID_FEAT_F16C = BIN_NUM_1 (29 ),
148
- ETH_CPUID_FEAT_RDRND = BIN_NUM_1 (30 ),
149
- ETH_CPUID_FEAT_HYPERVISOR = BIN_NUM_1 (31 )
87
+ ETH_CPUID_FEAT_FPU = BIN_NUM_1 (0 ),
88
+ ETH_CPUID_FEAT_VME = BIN_NUM_1 (1 ),
89
+ ETH_CPUID_FEAT_DE = BIN_NUM_1 (2 ),
90
+ ETH_CPUID_FEAT_PSE = BIN_NUM_1 (3 ),
91
+ ETH_CPUID_FEAT_TSC = BIN_NUM_1 (4 ),
92
+ ETH_CPUID_FEAT_MSR = BIN_NUM_1 (5 ),
93
+ ETH_CPUID_FEAT_PAE = BIN_NUM_1 (6 ),
94
+ ETH_CPUID_FEAT_MCE = BIN_NUM_1 (7 ),
95
+ ETH_CPUID_FEAT_CX8 = BIN_NUM_1 (8 ),
96
+ ETH_CPUID_FEAT_APIC = BIN_NUM_1 (9 ),
97
+ ETH_CPUID_FEAT_SEP = BIN_NUM_1 (11 ),
98
+ ETH_CPUID_FEAT_MTRR = BIN_NUM_1 (12 ),
99
+ ETH_CPUID_FEAT_PGE = BIN_NUM_1 (13 ),
100
+ ETH_CPUID_FEAT_MCA = BIN_NUM_1 (14 ),
101
+ ETH_CPUID_FEAT_CMOV = BIN_NUM_1 (15 ),
102
+ ETH_CPUID_FEAT_PAT = BIN_NUM_1 (16 ),
103
+ ETH_CPUID_FEAT_PSE36 = BIN_NUM_1 (17 ),
104
+ ETH_CPUID_FEAT_PSN = BIN_NUM_1 (18 ),
105
+ ETH_CPUID_FEAT_CLFSH = BIN_NUM_1 (19 ),
106
+ ETH_CPUID_FEAT_NX = BIN_NUM_1 (20 ),
107
+ ETH_CPUID_FEAT_DS = BIN_NUM_1 (21 ),
108
+ ETH_CPUID_FEAT_ACPI = BIN_NUM_1 (22 ),
109
+ ETH_CPUID_FEAT_MMX = BIN_NUM_1 (23 ),
110
+ ETH_CPUID_FEAT_FXSR = BIN_NUM_1 (24 ),
111
+ ETH_CPUID_FEAT_SSE = BIN_NUM_1 (25 ),
112
+ ETH_CPUID_FEAT_SSE2 = BIN_NUM_1 (26 ),
113
+ ETH_CPUID_FEAT_SS = BIN_NUM_1 (27 ),
114
+ ETH_CPUID_FEAT_HTT = BIN_NUM_1 (28 ),
115
+ ETH_CPUID_FEAT_TM = BIN_NUM_1 (29 ),
116
+ ETH_CPUID_FEAT_IA64 = BIN_NUM_1 (30 ),
117
+ ETH_CPUID_FEAT_PBE = BIN_NUM_1 (31 ),
118
+ ETH_CPUID_FEAT_SSE3 = BIN_NUM_1 (0 ),
119
+ ETH_CPUID_FEAT_PCLMULQDQ = BIN_NUM_1 (1 ),
120
+ ETH_CPUID_FEAT_DTES64 = BIN_NUM_1 (2 ),
121
+ ETH_CPUID_FEAT_MONITOR = BIN_NUM_1 (3 ),
122
+ ETH_CPUID_FEAT_DS_CPL = BIN_NUM_1 (4 ),
123
+ ETH_CPUID_FEAT_VMX = BIN_NUM_1 (5 ),
124
+ ETH_CPUID_FEAT_SMX = BIN_NUM_1 (6 ),
125
+ ETH_CPUID_FEAT_EST = BIN_NUM_1 (7 ),
126
+ ETH_CPUID_FEAT_TM2 = BIN_NUM_1 (8 ),
127
+ ETH_CPUID_FEAT_SSSE3 = BIN_NUM_1 (9 ),
128
+ ETH_CPUID_FEAT_CNXT_ID = BIN_NUM_1 (10 ),
129
+ ETH_CPUID_FEAT_SDBG = BIN_NUM_1 (11 ),
130
+ ETH_CPUID_FEAT_FMA = BIN_NUM_1 (12 ),
131
+ ETH_CPUID_FEAT_CX16 = BIN_NUM_1 (13 ),
132
+ ETH_CPUID_FEAT_XTPR = BIN_NUM_1 (14 ),
133
+ ETH_CPUID_FEAT_PDCM = BIN_NUM_1 (15 ),
134
+ ETH_CPUID_FEAT_PCID = BIN_NUM_1 (17 ),
135
+ ETH_CPUID_FEAT_DCA = BIN_NUM_1 (18 ),
136
+ ETH_CPUID_FEAT_SSE41 = BIN_NUM_1 (19 ),
137
+ ETH_CPUID_FEAT_SSE42 = BIN_NUM_1 (20 ),
138
+ ETH_CPUID_FEAT_X2APIC = BIN_NUM_1 (21 ),
139
+ ETH_CPUID_FEAT_MOVBE = BIN_NUM_1 (22 ),
140
+ ETH_CPUID_FEAT_POPCNT = BIN_NUM_1 (23 ),
141
+ ETH_CPUID_FEAT_TSC_DLINE = BIN_NUM_1 (24 ),
142
+ ETH_CPUID_FEAT_AES_NI = BIN_NUM_1 (25 ),
143
+ ETH_CPUID_FEAT_XSAVE = BIN_NUM_1 (26 ),
144
+ ETH_CPUID_FEAT_OSXSAVE = BIN_NUM_1 (27 ),
145
+ ETH_CPUID_FEAT_AVX = BIN_NUM_1 (28 ),
146
+ ETH_CPUID_FEAT_F16C = BIN_NUM_1 (29 ),
147
+ ETH_CPUID_FEAT_RDRND = BIN_NUM_1 (30 ),
148
+ ETH_CPUID_FEAT_HYPERVISOR = BIN_NUM_1 (31 ),
149
+ ETH_CPUID_EXT_FEAT_FSGSBASE = BIN_NUM_1 (0 ),
150
+ ETH_CPUID_EXT_FEAT_IA32_TSC_ADJUST_MSR = BIN_NUM_1 (1 ),
151
+ ETH_CPUID_EXT_FEAT_SGX = BIN_NUM_1 (2 ),
152
+ ETH_CPUID_EXT_FEAT_BMI1 = BIN_NUM_1 (3 ),
153
+ ETH_CPUID_EXT_FEAT_HLE = BIN_NUM_1 (4 ),
154
+ ETH_CPUID_EXT_FEAT_AVX2 = BIN_NUM_1 (5 ),
155
+ ETH_CPUID_EXT_FEAT_FDP = BIN_NUM_1 (6 ),
156
+ ETH_CPUID_EXT_FEAT_SMEP = BIN_NUM_1 (7 ),
157
+ ETH_CPUID_EXT_FEAT_BMI2 = BIN_NUM_1 (8 ),
158
+ ETH_CPUID_EXT_FEAT_ERMS = BIN_NUM_1 (9 ),
159
+ ETH_CPUID_EXT_FEAT_INVPCID = BIN_NUM_1 (10 ),
160
+ ETH_CPUID_EXT_FEAT_RTM = BIN_NUM_1 (11 ),
161
+ ETH_CPUID_EXT_FEAT_RDTM_PQM = BIN_NUM_1 (12 ),
162
+ ETH_CPUID_EXT_FEAT_X87_FPU = BIN_NUM_1 (13 ),
163
+ ETH_CPUID_EXT_FEAT_MPX = BIN_NUM_1 (14 ),
164
+ ETH_CPUID_EXT_FEAT_RDTA_PQE = BIN_NUM_1 (15 ),
165
+ ETH_CPUID_EXT_FEAT_AVX512F = BIN_NUM_1 (16 ),
166
+ ETH_CPUID_EXT_FEAT_AVX512DQ = BIN_NUM_1 (17 ),
167
+ ETH_CPUID_EXT_FEAT_RDSEED = BIN_NUM_1 (18 ),
168
+ ETH_CPUID_EXT_FEAT_ADX = BIN_NUM_1 (19 ),
169
+ ETH_CPUID_EXT_FEAT_SMAP = BIN_NUM_1 (20 ),
170
+ ETH_CPUID_EXT_FEAT_AVX512_IFMA = BIN_NUM_1 (21 ),
171
+ ETH_CPUID_EXT_FEAT_PCOMMIT = BIN_NUM_1 (22 ),
172
+ ETH_CPUID_EXT_FEAT_CLFLUSHOPT = BIN_NUM_1 (23 ),
173
+ ETH_CPUID_EXT_FEAT_CLWB = BIN_NUM_1 (24 ),
174
+ ETH_CPUID_EXT_FEAT_PT = BIN_NUM_1 (25 ),
175
+ ETH_CPUID_EXT_FEAT_AVX512_PF = BIN_NUM_1 (26 ),
176
+ ETH_CPUID_EXT_FEAT_AVX512_ER = BIN_NUM_1 (27 ),
177
+ ETH_CPUID_EXT_FEAT_AVX512_CD = BIN_NUM_1 (28 ),
178
+ ETH_CPUID_EXT_FEAT_SHA = BIN_NUM_1 (29 ),
179
+ ETH_CPUID_EXT_FEAT_AVX512_BW = BIN_NUM_1 (30 ),
180
+ ETH_CPUID_EXT_FEAT_AVX512_VL = BIN_NUM_1 (31 ),
181
+ ETH_CPUID_EXT_FEAT_PREFETCHWT1 = BIN_NUM_1 (0 ),
182
+ ETH_CPUID_EXT_FEAT_AVX512_VBMI = BIN_NUM_1 (1 ),
183
+ ETH_CPUID_EXT_FEAT_UMIP = BIN_NUM_1 (2 ),
184
+ ETH_CPUID_EXT_FEAT_PKU = BIN_NUM_1 (3 ),
185
+ ETH_CPUID_EXT_FEAT_OSPKE = BIN_NUM_1 (4 ),
186
+ ETH_CPUID_EXT_FEAT_WAITPKG = BIN_NUM_1 (5 ),
187
+ ETH_CPUID_EXT_FEAT_AVX512_VBMI2 = BIN_NUM_1 (6 ),
188
+ ETH_CPUID_EXT_FEAT_CET_SS = BIN_NUM_1 (7 ),
189
+ ETH_CPUID_EXT_FEAT_GFNI = BIN_NUM_1 (8 ),
190
+ ETH_CPUID_EXT_FEAT_VAES = BIN_NUM_1 (9 ),
191
+ ETH_CPUID_EXT_FEAT_VPCLMULQDQ = BIN_NUM_1 (10 ),
192
+ ETH_CPUID_EXT_FEAT_AVX512_VNNI = BIN_NUM_1 (11 ),
193
+ ETH_CPUID_EXT_FEAT_AVX512_BITALG = BIN_NUM_1 (12 ),
194
+ ETH_CPUID_EXT_FEAT_TME_EN = BIN_NUM_1 (13 ),
195
+ ETH_CPUID_EXT_FEAT_AVX512_VPOPCNTDQ = BIN_NUM_1 (14 ),
196
+ ETH_CPUID_EXT_FEAT_FZM = BIN_NUM_1 (15 ),
197
+ ETH_CPUID_EXT_FEAT_LA57 = BIN_NUM_1 (16 ),
198
+ ETH_CPUID_EXT_FEAT_MAWAU = BIN_NUM_5 (17 ),
199
+ ETH_CPUID_EXT_FEAT_RDPID = BIN_NUM_1 (22 ),
200
+ ETH_CPUID_EXT_FEAT_KL = BIN_NUM_1 (23 ),
201
+ ETH_CPUID_EXT_FEAT_BUS_LOCK_DETECT = BIN_NUM_1 (24 ),
202
+ ETH_CPUID_EXT_FEAT_CLDEMOTE = BIN_NUM_1 (25 ),
203
+ ETH_CPUID_EXT_FEAT_MPRR = BIN_NUM_1 (26 ),
204
+ ETH_CPUID_EXT_FEAT_MOVDIRI = BIN_NUM_1 (27 ),
205
+ ETH_CPUID_EXT_FEAT_MOVDIR64B = BIN_NUM_1 (28 ),
206
+ ETH_CPUID_EXT_FEAT_ENQCMD = BIN_NUM_1 (29 ),
207
+ ETH_CPUID_EXT_FEAT_SGX_LC = BIN_NUM_1 (30 ),
208
+ ETH_CPUID_EXT_FEAT_PKS = BIN_NUM_1 (31 ),
209
+ ETH_CPUID_EXT_FEAT_SGX_TERM = BIN_NUM_1 (0 ),
210
+ ETH_CPUID_EXT_FEAT_SGX_KEYS = BIN_NUM_1 (1 ),
211
+ ETH_CPUID_EXT_FEAT_AVX512_4VNNIW = BIN_NUM_1 (2 ),
212
+ ETH_CPUID_EXT_FEAT_AVX512_4FMAPS = BIN_NUM_1 (3 ),
213
+ ETH_CPUID_EXT_FEAT_FSRM = BIN_NUM_1 (4 ),
214
+ ETH_CPUID_EXT_FEAT_UINTR = BIN_NUM_1 (5 ),
215
+ ETH_CPUID_EXT_FEAT_AVX512_VP2INTERSECT = BIN_NUM_1 (8 ),
216
+ ETH_CPUID_EXT_FEAT_SRBDS_CTRL = BIN_NUM_1 (9 ),
217
+ ETH_CPUID_EXT_FEAT_MD_CLEAR = BIN_NUM_1 (10 ),
218
+ ETH_CPUID_EXT_FEAT_RTM_ALWAYS_ABORT = BIN_NUM_1 (11 ),
219
+ ETH_CPUID_EXT_FEAT_RTM_FORCE_ABORT = BIN_NUM_1 (13 ),
220
+ ETH_CPUID_EXT_FEAT_SERIALIZE = BIN_NUM_1 (14 ),
221
+ ETH_CPUID_EXT_FEAT_HYBRID = BIN_NUM_1 (15 ),
222
+ ETH_CPUID_EXT_FEAT_TSXLDTRK = BIN_NUM_1 (16 ),
223
+ ETH_CPUID_EXT_FEAT_PCONFIG = BIN_NUM_1 (18 ),
224
+ ETH_CPUID_EXT_FEAT_LBR = BIN_NUM_1 (19 ),
225
+ ETH_CPUID_EXT_FEAT_CET_IBT = BIN_NUM_1 (20 ),
226
+ ETH_CPUID_EXT_FEAT_AMX_BF16 = BIN_NUM_1 (22 ),
227
+ ETH_CPUID_EXT_FEAT_AVX512_FP16 = BIN_NUM_1 (23 ),
228
+ ETH_CPUID_EXT_FEAT_AMX_TILE = BIN_NUM_1 (24 ),
229
+ ETH_CPUID_EXT_FEAT_AMX_INT8 = BIN_NUM_1 (25 ),
230
+ ETH_CPUID_EXT_FEAT_IBRS = BIN_NUM_1 (26 ),
231
+ ETH_CPUID_EXT_FEAT_STIBP = BIN_NUM_1 (27 ),
232
+ ETH_CPUID_EXT_FEAT_L1D_FLUSH = BIN_NUM_1 (28 ),
233
+ ETH_CPUID_EXT_FEAT_IA32_ARCH_CAP_MSR = BIN_NUM_1 (29 ),
234
+ ETH_CPUID_EXT_FEAT_IA32_CORE_CAP_MSR = BIN_NUM_1 (30 ),
235
+ ETH_CPUID_EXT_FEAT_SSBD = BIN_NUM_1 (31 ),
236
+ ETH_CPUID_EXT_FEAT_SHA512 = BIN_NUM_1 (0 ),
237
+ ETH_CPUID_EXT_FEAT_SM3 = BIN_NUM_1 (1 ),
238
+ ETH_CPUID_EXT_FEAT_SM4 = BIN_NUM_1 (2 ),
239
+ ETH_CPUID_EXT_FEAT_RAO_INT = BIN_NUM_1 (3 ),
240
+ ETH_CPUID_EXT_FEAT_AVX_VNNI = BIN_NUM_1 (4 ),
241
+ ETH_CPUID_EXT_FEAT_AVX512_BF16 = BIN_NUM_1 (5 ),
242
+ ETH_CPUID_EXT_FEAT_LASS = BIN_NUM_1 (6 ),
243
+ ETH_CPUID_EXT_FEAT_CMPCCXADD = BIN_NUM_1 (7 ),
244
+ ETH_CPUID_EXT_FEAT_ARCHPERFMONEXT = BIN_NUM_1 (8 ),
245
+ ETH_CPUID_EXT_FEAT_DEDUP = BIN_NUM_1 (9 ),
246
+ ETH_CPUID_EXT_FEAT_FZRM = BIN_NUM_1 (10 ),
247
+ ETH_CPUID_EXT_FEAT_FSRS = BIN_NUM_1 (11 ),
248
+ ETH_CPUID_EXT_FEAT_RSRCS = BIN_NUM_1 (12 ),
249
+ ETH_CPUID_EXT_FEAT_FRED = BIN_NUM_1 (17 ),
250
+ ETH_CPUID_EXT_FEAT_LKGS = BIN_NUM_1 (18 ),
251
+ ETH_CPUID_EXT_FEAT_WRMSRNS = BIN_NUM_1 (19 ),
252
+ ETH_CPUID_EXT_FEAT_NMI_SRC = BIN_NUM_1 (20 ),
253
+ ETH_CPUID_EXT_FEAT_AMX_FP16 = BIN_NUM_1 (21 ),
254
+ ETH_CPUID_EXT_FEAT_HRESET = BIN_NUM_1 (22 ),
255
+ ETH_CPUID_EXT_FEAT_AVX_IFMA = BIN_NUM_1 (23 ),
256
+ ETH_CPUID_EXT_FEAT_LAM = BIN_NUM_1 (26 ),
257
+ ETH_CPUID_EXT_FEAT_MSRLIST = BIN_NUM_1 (27 ),
258
+ ETH_CPUID_EXT_FEAT_INVD_DISABLE_POST_BIOS_DONE = BIN_NUM_1 (30 ),
259
+ ETH_CPUID_EXT_FEAT_IA32_PPIN_CTL = BIN_NUM_1 (0 ),
260
+ ETH_CPUID_EXT_FEAT_PBNDKB = BIN_NUM_1 (1 ),
261
+ ETH_CPUID_EXT_FEAT_LEGACY_REDUCED_ISA = BIN_NUM_1 (2 ),
262
+ ETH_CPUID_EXT_FEAT_SIPI_64 = BIN_NUM_1 (4 ),
263
+ ETH_CPUID_EXT_FEAT_AVX_VNNI_INT8 = BIN_NUM_1 (4 ),
264
+ ETH_CPUID_EXT_FEAT_AVX_NE_CONVERT = BIN_NUM_1 (5 ),
265
+ ETH_CPUID_EXT_FEAT_AMX_COMPLEX = BIN_NUM_1 (8 ),
266
+ ETH_CPUID_EXT_FEAT_AVX_VNNI_INT16 = BIN_NUM_1 (10 ),
267
+ ETH_CPUID_EXT_FEAT_UTMR = BIN_NUM_1 (13 ),
268
+ ETH_CPUID_EXT_FEAT_PREFETCHI = BIN_NUM_1 (14 ),
269
+ ETH_CPUID_EXT_FEAT_USER_MSR = BIN_NUM_1 (15 ),
270
+ ETH_CPUID_EXT_FEAT_UIRET_UIF_FROM_RFLAGS = BIN_NUM_1 (17 ),
271
+ ETH_CPUID_EXT_FEAT_CET_SSS = BIN_NUM_1 (18 ),
272
+ ETH_CPUID_EXT_FEAT_AVX10 = BIN_NUM_1 (19 ),
273
+ ETH_CPUID_EXT_FEAT_APX_F = BIN_NUM_1 (21 ),
274
+ ETH_CPUID_EXT_FEAT_MWAIT = BIN_NUM_1 (23 ),
275
+ ETH_CPUID_EXT_FEAT_PSFD = BIN_NUM_1 (0 ),
276
+ ETH_CPUID_EXT_FEAT_IPRED_CTRL = BIN_NUM_1 (1 ),
277
+ ETH_CPUID_EXT_FEAT_RRSBA_CTRL = BIN_NUM_1 (2 ),
278
+ ETH_CPUID_EXT_FEAT_DDPD_U = BIN_NUM_1 (3 ),
279
+ ETH_CPUID_EXT_FEAT_BHI_CTRL = BIN_NUM_1 (4 ),
280
+ ETH_CPUID_EXT_FEAT_MCDT_NO = BIN_NUM_1 (5 )
150
281
} eth_cpuid_feat_flag_t ;
151
282
#pragma GCC diagnostic pop
152
283
@@ -196,6 +327,7 @@ struct eth_cpuid_feat_ext_t
196
327
//////////////////////////////////////
197
328
198
329
199
- #define DEF_BASIC_FEAT (n ,r ,sz ) eth_cpuid_feat_ext_t *n = e_cpuid_basic_feat(r,sz)
330
+ #define DEF_BASIC_FEAT (n ,index ) const eth_cpuid_feat_ext_t *n = e_cpuid_feat(index,0,0)
331
+ #define DEF_EXT_FEAT (n , index , page ) const eth_cpuid_feat_ext_t *n = e_cpuid_feat(index, 1, page)
200
332
201
333
#endif
0 commit comments