|
84 | 84 |
|
85 | 85 | /* CPU types for specific tunings: */
|
86 | 86 | #define X86_FEATURE_K8 ( 3*32+ 4) /* "" Opteron, Athlon64 */
|
87 |
| -#define X86_FEATURE_K7 ( 3*32+ 5) /* "" Athlon */ |
| 87 | +/* FREE, was #define X86_FEATURE_K7 ( 3*32+ 5) "" Athlon */ |
88 | 88 | #define X86_FEATURE_P3 ( 3*32+ 6) /* "" P3 */
|
89 | 89 | #define X86_FEATURE_P4 ( 3*32+ 7) /* "" P4 */
|
90 | 90 | #define X86_FEATURE_CONSTANT_TSC ( 3*32+ 8) /* TSC ticks at a constant rate */
|
|
236 | 236 | #define X86_FEATURE_EPT_AD ( 8*32+17) /* Intel Extended Page Table access-dirty bit */
|
237 | 237 | #define X86_FEATURE_VMCALL ( 8*32+18) /* "" Hypervisor supports the VMCALL instruction */
|
238 | 238 | #define X86_FEATURE_VMW_VMMCALL ( 8*32+19) /* "" VMware prefers VMMCALL hypercall instruction */
|
| 239 | +#define X86_FEATURE_PVUNLOCK ( 8*32+20) /* "" PV unlock function */ |
| 240 | +#define X86_FEATURE_VCPUPREEMPT ( 8*32+21) /* "" PV vcpu_is_preempted function */ |
239 | 241 |
|
240 | 242 | /* Intel-defined CPU features, CPUID level 0x00000007:0 (EBX), word 9 */
|
241 | 243 | #define X86_FEATURE_FSGSBASE ( 9*32+ 0) /* RDFSBASE, WRFSBASE, RDGSBASE, WRGSBASE instructions*/
|
|
290 | 292 | #define X86_FEATURE_FENCE_SWAPGS_KERNEL (11*32+ 5) /* "" LFENCE in kernel entry SWAPGS path */
|
291 | 293 | #define X86_FEATURE_SPLIT_LOCK_DETECT (11*32+ 6) /* #AC for split lock */
|
292 | 294 | #define X86_FEATURE_PER_THREAD_MBA (11*32+ 7) /* "" Per-thread Memory Bandwidth Allocation */
|
| 295 | +#define X86_FEATURE_SGX1 (11*32+ 8) /* "" Basic SGX */ |
| 296 | +#define X86_FEATURE_SGX2 (11*32+ 9) /* "" SGX Enclave Dynamic Memory Management (EDMM) */ |
293 | 297 |
|
294 | 298 | /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */
|
295 | 299 | #define X86_FEATURE_AVX_VNNI (12*32+ 4) /* AVX VNNI instructions */
|
|
336 | 340 | #define X86_FEATURE_AVIC (15*32+13) /* Virtual Interrupt Controller */
|
337 | 341 | #define X86_FEATURE_V_VMSAVE_VMLOAD (15*32+15) /* Virtual VMSAVE VMLOAD */
|
338 | 342 | #define X86_FEATURE_VGIF (15*32+16) /* Virtual GIF */
|
| 343 | +#define X86_FEATURE_V_SPEC_CTRL (15*32+20) /* Virtual SPEC_CTRL */ |
339 | 344 | #define X86_FEATURE_SVME_ADDR_CHK (15*32+28) /* "" SVME addr check */
|
340 | 345 |
|
341 | 346 | /* Intel-defined CPU features, CPUID level 0x00000007:0 (ECX), word 16 */
|
|
354 | 359 | #define X86_FEATURE_AVX512_VPOPCNTDQ (16*32+14) /* POPCNT for vectors of DW/QW */
|
355 | 360 | #define X86_FEATURE_LA57 (16*32+16) /* 5-level page tables */
|
356 | 361 | #define X86_FEATURE_RDPID (16*32+22) /* RDPID instruction */
|
| 362 | +#define X86_FEATURE_BUS_LOCK_DETECT (16*32+24) /* Bus Lock detect */ |
357 | 363 | #define X86_FEATURE_CLDEMOTE (16*32+25) /* CLDEMOTE instruction */
|
358 | 364 | #define X86_FEATURE_MOVDIRI (16*32+27) /* MOVDIRI instruction */
|
359 | 365 | #define X86_FEATURE_MOVDIR64B (16*32+28) /* MOVDIR64B instruction */
|
|
374 | 380 | #define X86_FEATURE_MD_CLEAR (18*32+10) /* VERW clears CPU buffers */
|
375 | 381 | #define X86_FEATURE_TSX_FORCE_ABORT (18*32+13) /* "" TSX_FORCE_ABORT */
|
376 | 382 | #define X86_FEATURE_SERIALIZE (18*32+14) /* SERIALIZE instruction */
|
| 383 | +#define X86_FEATURE_HYBRID_CPU (18*32+15) /* "" This part has CPUs of more than one type */ |
377 | 384 | #define X86_FEATURE_TSXLDTRK (18*32+16) /* TSX Suspend Load Address Tracking */
|
378 | 385 | #define X86_FEATURE_PCONFIG (18*32+18) /* Intel PCONFIG */
|
379 | 386 | #define X86_FEATURE_ARCH_LBR (18*32+19) /* Intel ARCH LBR */
|
|
0 commit comments