|
198 | 198 | #define X86_FEATURE_CAT_L3 ( 7*32+ 4) /* Cache Allocation Technology L3 */
|
199 | 199 | #define X86_FEATURE_CAT_L2 ( 7*32+ 5) /* Cache Allocation Technology L2 */
|
200 | 200 | #define X86_FEATURE_CDP_L3 ( 7*32+ 6) /* Code and Data Prioritization L3 */
|
201 |
| -#define X86_FEATURE_INVPCID_SINGLE ( 7*32+ 7) /* Effectively INVPCID && CR4.PCIDE=1 */ |
202 | 201 | #define X86_FEATURE_HW_PSTATE ( 7*32+ 8) /* AMD HW-PState */
|
203 | 202 | #define X86_FEATURE_PROC_FEEDBACK ( 7*32+ 9) /* AMD ProcFeedbackInterface */
|
204 | 203 | #define X86_FEATURE_XCOMPACTED ( 7*32+10) /* "" Use compacted XSTATE (XSAVES or XSAVEC) */
|
|
308 | 307 | #define X86_FEATURE_MSR_TSX_CTRL (11*32+20) /* "" MSR IA32_TSX_CTRL (Intel) implemented */
|
309 | 308 | #define X86_FEATURE_SMBA (11*32+21) /* "" Slow Memory Bandwidth Allocation */
|
310 | 309 | #define X86_FEATURE_BMEC (11*32+22) /* "" Bandwidth Monitoring Event Configuration */
|
| 310 | +#define X86_FEATURE_USER_SHSTK (11*32+23) /* Shadow stack support for user mode applications */ |
| 311 | + |
| 312 | +#define X86_FEATURE_SRSO (11*32+24) /* "" AMD BTB untrain RETs */ |
| 313 | +#define X86_FEATURE_SRSO_ALIAS (11*32+25) /* "" AMD BTB untrain RETs through aliasing */ |
| 314 | +#define X86_FEATURE_IBPB_ON_VMEXIT (11*32+26) /* "" Issue an IBPB only on VMEXIT */ |
311 | 315 |
|
312 | 316 | /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */
|
313 | 317 | #define X86_FEATURE_AVX_VNNI (12*32+ 4) /* AVX VNNI instructions */
|
|
380 | 384 | #define X86_FEATURE_OSPKE (16*32+ 4) /* OS Protection Keys Enable */
|
381 | 385 | #define X86_FEATURE_WAITPKG (16*32+ 5) /* UMONITOR/UMWAIT/TPAUSE Instructions */
|
382 | 386 | #define X86_FEATURE_AVX512_VBMI2 (16*32+ 6) /* Additional AVX512 Vector Bit Manipulation Instructions */
|
| 387 | +#define X86_FEATURE_SHSTK (16*32+ 7) /* "" Shadow stack */ |
383 | 388 | #define X86_FEATURE_GFNI (16*32+ 8) /* Galois Field New Instructions */
|
384 | 389 | #define X86_FEATURE_VAES (16*32+ 9) /* Vector AES */
|
385 | 390 | #define X86_FEATURE_VPCLMULQDQ (16*32+10) /* Carry-Less Multiplication Double Quadword */
|
|
438 | 443 |
|
439 | 444 | /* AMD-defined Extended Feature 2 EAX, CPUID level 0x80000021 (EAX), word 20 */
|
440 | 445 | #define X86_FEATURE_NO_NESTED_DATA_BP (20*32+ 0) /* "" No Nested Data Breakpoints */
|
| 446 | +#define X86_FEATURE_WRMSR_XX_BASE_NS (20*32+ 1) /* "" WRMSR to {FS,GS,KERNEL_GS}_BASE is non-serializing */ |
441 | 447 | #define X86_FEATURE_LFENCE_RDTSC (20*32+ 2) /* "" LFENCE always serializing / synchronizes RDTSC */
|
442 | 448 | #define X86_FEATURE_NULL_SEL_CLR_BASE (20*32+ 6) /* "" Null Selector Clears Base */
|
443 | 449 | #define X86_FEATURE_AUTOIBRS (20*32+ 8) /* "" Automatic IBRS */
|
444 | 450 | #define X86_FEATURE_NO_SMM_CTL_MSR (20*32+ 9) /* "" SMM_CTL MSR is not present */
|
445 | 451 |
|
| 452 | +#define X86_FEATURE_SBPB (20*32+27) /* "" Selective Branch Prediction Barrier */ |
| 453 | +#define X86_FEATURE_IBPB_BRTYPE (20*32+28) /* "" MSR_PRED_CMD[IBPB] flushes all branch type predictions */ |
| 454 | +#define X86_FEATURE_SRSO_NO (20*32+29) /* "" CPU is not affected by SRSO */ |
| 455 | + |
446 | 456 | /*
|
447 | 457 | * BUG word(s)
|
448 | 458 | */
|
|
484 | 494 | #define X86_BUG_RETBLEED X86_BUG(27) /* CPU is affected by RETBleed */
|
485 | 495 | #define X86_BUG_EIBRS_PBRSB X86_BUG(28) /* EIBRS is vulnerable to Post Barrier RSB Predictions */
|
486 | 496 | #define X86_BUG_SMT_RSB X86_BUG(29) /* CPU is vulnerable to Cross-Thread Return Address Predictions */
|
| 497 | +#define X86_BUG_GDS X86_BUG(30) /* CPU is affected by Gather Data Sampling */ |
487 | 498 |
|
| 499 | +/* BUG word 2 */ |
| 500 | +#define X86_BUG_SRSO X86_BUG(1*32 + 0) /* AMD SRSO bug */ |
| 501 | +#define X86_BUG_DIV0 X86_BUG(1*32 + 1) /* AMD DIV0 speculation bug */ |
488 | 502 | #endif /* _ASM_X86_CPUFEATURES_H */
|
0 commit comments