|
13 | 13 | /*
|
14 | 14 | * Defines x86 CPU feature bits
|
15 | 15 | */
|
16 |
| -#define NCAPINTS 21 /* N 32-bit words worth of info */ |
| 16 | +#define NCAPINTS 22 /* N 32-bit words worth of info */ |
17 | 17 | #define NBUGINTS 2 /* N 32-bit bug flags */
|
18 | 18 |
|
19 | 19 | /*
|
|
81 | 81 | #define X86_FEATURE_K6_MTRR ( 3*32+ 1) /* AMD K6 nonstandard MTRRs */
|
82 | 82 | #define X86_FEATURE_CYRIX_ARR ( 3*32+ 2) /* Cyrix ARRs (= MTRRs) */
|
83 | 83 | #define X86_FEATURE_CENTAUR_MCR ( 3*32+ 3) /* Centaur MCRs (= MTRRs) */
|
84 |
| - |
85 |
| -/* CPU types for specific tunings: */ |
86 | 84 | #define X86_FEATURE_K8 ( 3*32+ 4) /* "" Opteron, Athlon64 */
|
87 |
| -/* FREE, was #define X86_FEATURE_K7 ( 3*32+ 5) "" Athlon */ |
| 85 | +#define X86_FEATURE_ZEN5 ( 3*32+ 5) /* "" CPU based on Zen5 microarchitecture */ |
88 | 86 | #define X86_FEATURE_P3 ( 3*32+ 6) /* "" P3 */
|
89 | 87 | #define X86_FEATURE_P4 ( 3*32+ 7) /* "" P4 */
|
90 | 88 | #define X86_FEATURE_CONSTANT_TSC ( 3*32+ 8) /* TSC ticks at a constant rate */
|
|
97 | 95 | #define X86_FEATURE_SYSENTER32 ( 3*32+15) /* "" sysenter in IA32 userspace */
|
98 | 96 | #define X86_FEATURE_REP_GOOD ( 3*32+16) /* REP microcode works well */
|
99 | 97 | #define X86_FEATURE_AMD_LBR_V2 ( 3*32+17) /* AMD Last Branch Record Extension Version 2 */
|
100 |
| -/* FREE, was #define X86_FEATURE_LFENCE_RDTSC ( 3*32+18) "" LFENCE synchronizes RDTSC */ |
| 98 | +#define X86_FEATURE_CLEAR_CPU_BUF ( 3*32+18) /* "" Clear CPU buffers using VERW */ |
101 | 99 | #define X86_FEATURE_ACC_POWER ( 3*32+19) /* AMD Accumulated Power Mechanism */
|
102 | 100 | #define X86_FEATURE_NOPL ( 3*32+20) /* The NOPL (0F 1F) instructions */
|
103 | 101 | #define X86_FEATURE_ALWAYS ( 3*32+21) /* "" Always-present feature */
|
|
461 | 459 | #define X86_FEATURE_IBPB_BRTYPE (20*32+28) /* "" MSR_PRED_CMD[IBPB] flushes all branch type predictions */
|
462 | 460 | #define X86_FEATURE_SRSO_NO (20*32+29) /* "" CPU is not affected by SRSO */
|
463 | 461 |
|
| 462 | +/* |
| 463 | + * Extended auxiliary flags: Linux defined - for features scattered in various |
| 464 | + * CPUID levels like 0x80000022, etc. |
| 465 | + * |
| 466 | + * Reuse free bits when adding new feature flags! |
| 467 | + */ |
| 468 | +#define X86_FEATURE_AMD_LBR_PMC_FREEZE (21*32+ 0) /* AMD LBR and PMC Freeze */ |
| 469 | + |
464 | 470 | /*
|
465 | 471 | * BUG word(s)
|
466 | 472 | */
|
|
508 | 514 | /* BUG word 2 */
|
509 | 515 | #define X86_BUG_SRSO X86_BUG(1*32 + 0) /* AMD SRSO bug */
|
510 | 516 | #define X86_BUG_DIV0 X86_BUG(1*32 + 1) /* AMD DIV0 speculation bug */
|
| 517 | +#define X86_BUG_RFDS X86_BUG(1*32 + 2) /* CPU is vulnerable to Register File Data Sampling */ |
511 | 518 | #endif /* _ASM_X86_CPUFEATURES_H */
|
0 commit comments