Skip to content

Commit 4053717

Browse files
committed
tools headers: Synchoronize x86 features UAPI headers
Sync tools/arch/x86/include/asm/{cpu,disabled-,required-}features.h with the changes in: 2961298 ("x86/cpufeatures: Clean up Spectre v2 related CPUID flags") 20ffa1c ("x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support") 5d10cbc ("x86/cpufeatures: Add AMD feature bits for Speculation Control") fc67dd7 ("x86/cpufeatures: Add Intel feature bits for Speculation Control") 95ca0ee ("x86/cpufeatures: Add CPUID_7_EDX CPUID leaf") a511e79 ("x86/intel_rdt: Enumerate L2 Code and Data Prioritization (CDP) feature") 4fdec20 ("x86/cpufeature: Move processor tracing out of scattered features") c995efd ("x86/retpoline: Fill RSB on context switch for affected CPUs") 76b0438 ("x86/retpoline: Add initial retpoline support") 99c6fa2 ("x86/cpufeatures: Add X86_BUG_SPECTRE_V[12]") de79182 ("x86/pti: Rename BUG_CPU_INSECURE to BUG_CPU_MELTDOWN") 6cff64b ("x86/mm: Use INVPCID for __native_flush_tlb_single()") None will entail changes in the tools/perf/, synchronizing to elliminate these perf build warnings: Warning: Kernel ABI header at 'tools/arch/x86/include/asm/disabled-features.h' differs from latest version at 'arch/x86/include/asm/disabled-features.h' Warning: Kernel ABI header at 'tools/arch/x86/include/asm/required-features.h' differs from latest version at 'arch/x86/include/asm/required-features.h' Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h' Cc: Adrian Hunter <[email protected]> Cc: Dave Hansen <[email protected]> Cc: David Ahern <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Fenghua Yu <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paolo Bonzini <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Wang Nan <[email protected]> Link: https://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
1 parent 7a16c7e commit 4053717

File tree

3 files changed

+24
-6
lines changed

3 files changed

+24
-6
lines changed

tools/arch/x86/include/asm/cpufeatures.h

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
/*
1414
* Defines x86 CPU feature bits
1515
*/
16-
#define NCAPINTS 18 /* N 32-bit words worth of info */
16+
#define NCAPINTS 19 /* N 32-bit words worth of info */
1717
#define NBUGINTS 1 /* N 32-bit bug flags */
1818

1919
/*
@@ -203,12 +203,15 @@
203203
#define X86_FEATURE_PROC_FEEDBACK ( 7*32+ 9) /* AMD ProcFeedbackInterface */
204204
#define X86_FEATURE_SME ( 7*32+10) /* AMD Secure Memory Encryption */
205205
#define X86_FEATURE_PTI ( 7*32+11) /* Kernel Page Table Isolation enabled */
206+
#define X86_FEATURE_RETPOLINE ( 7*32+12) /* "" Generic Retpoline mitigation for Spectre variant 2 */
207+
#define X86_FEATURE_RETPOLINE_AMD ( 7*32+13) /* "" AMD Retpoline mitigation for Spectre variant 2 */
206208
#define X86_FEATURE_INTEL_PPIN ( 7*32+14) /* Intel Processor Inventory Number */
207-
#define X86_FEATURE_INTEL_PT ( 7*32+15) /* Intel Processor Trace */
208-
#define X86_FEATURE_AVX512_4VNNIW ( 7*32+16) /* AVX-512 Neural Network Instructions */
209-
#define X86_FEATURE_AVX512_4FMAPS ( 7*32+17) /* AVX-512 Multiply Accumulation Single precision */
209+
#define X86_FEATURE_CDP_L2 ( 7*32+15) /* Code and Data Prioritization L2 */
210210

211211
#define X86_FEATURE_MBA ( 7*32+18) /* Memory Bandwidth Allocation */
212+
#define X86_FEATURE_RSB_CTXSW ( 7*32+19) /* "" Fill RSB on context switches */
213+
214+
#define X86_FEATURE_USE_IBPB ( 7*32+21) /* "" Indirect Branch Prediction Barrier enabled */
212215

213216
/* Virtualization flags: Linux defined, word 8 */
214217
#define X86_FEATURE_TPR_SHADOW ( 8*32+ 0) /* Intel TPR Shadow */
@@ -243,6 +246,7 @@
243246
#define X86_FEATURE_AVX512IFMA ( 9*32+21) /* AVX-512 Integer Fused Multiply-Add instructions */
244247
#define X86_FEATURE_CLFLUSHOPT ( 9*32+23) /* CLFLUSHOPT instruction */
245248
#define X86_FEATURE_CLWB ( 9*32+24) /* CLWB instruction */
249+
#define X86_FEATURE_INTEL_PT ( 9*32+25) /* Intel Processor Trace */
246250
#define X86_FEATURE_AVX512PF ( 9*32+26) /* AVX-512 Prefetch */
247251
#define X86_FEATURE_AVX512ER ( 9*32+27) /* AVX-512 Exponential and Reciprocal */
248252
#define X86_FEATURE_AVX512CD ( 9*32+28) /* AVX-512 Conflict Detection */
@@ -268,6 +272,9 @@
268272
#define X86_FEATURE_CLZERO (13*32+ 0) /* CLZERO instruction */
269273
#define X86_FEATURE_IRPERF (13*32+ 1) /* Instructions Retired Count */
270274
#define X86_FEATURE_XSAVEERPTR (13*32+ 2) /* Always save/restore FP error pointers */
275+
#define X86_FEATURE_IBPB (13*32+12) /* Indirect Branch Prediction Barrier */
276+
#define X86_FEATURE_IBRS (13*32+14) /* Indirect Branch Restricted Speculation */
277+
#define X86_FEATURE_STIBP (13*32+15) /* Single Thread Indirect Branch Predictors */
271278

272279
/* Thermal and Power Management Leaf, CPUID level 0x00000006 (EAX), word 14 */
273280
#define X86_FEATURE_DTHERM (14*32+ 0) /* Digital Thermal Sensor */
@@ -316,6 +323,13 @@
316323
#define X86_FEATURE_SUCCOR (17*32+ 1) /* Uncorrectable error containment and recovery */
317324
#define X86_FEATURE_SMCA (17*32+ 3) /* Scalable MCA */
318325

326+
/* Intel-defined CPU features, CPUID level 0x00000007:0 (EDX), word 18 */
327+
#define X86_FEATURE_AVX512_4VNNIW (18*32+ 2) /* AVX-512 Neural Network Instructions */
328+
#define X86_FEATURE_AVX512_4FMAPS (18*32+ 3) /* AVX-512 Multiply Accumulation Single precision */
329+
#define X86_FEATURE_SPEC_CTRL (18*32+26) /* "" Speculation Control (IBRS + IBPB) */
330+
#define X86_FEATURE_INTEL_STIBP (18*32+27) /* "" Single Thread Indirect Branch Predictors */
331+
#define X86_FEATURE_ARCH_CAPABILITIES (18*32+29) /* IA32_ARCH_CAPABILITIES MSR (Intel) */
332+
319333
/*
320334
* BUG word(s)
321335
*/
@@ -342,5 +356,7 @@
342356
#define X86_BUG_MONITOR X86_BUG(12) /* IPI required to wake up remote CPU */
343357
#define X86_BUG_AMD_E400 X86_BUG(13) /* CPU is among the affected by Erratum 400 */
344358
#define X86_BUG_CPU_MELTDOWN X86_BUG(14) /* CPU is affected by meltdown attack and needs kernel page table isolation */
359+
#define X86_BUG_SPECTRE_V1 X86_BUG(15) /* CPU is affected by Spectre variant 1 attack with conditional branches */
360+
#define X86_BUG_SPECTRE_V2 X86_BUG(16) /* CPU is affected by Spectre variant 2 attack with indirect branches */
345361

346362
#endif /* _ASM_X86_CPUFEATURES_H */

tools/arch/x86/include/asm/disabled-features.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
#define DISABLED_MASK15 0
7878
#define DISABLED_MASK16 (DISABLE_PKU|DISABLE_OSPKE|DISABLE_LA57|DISABLE_UMIP)
7979
#define DISABLED_MASK17 0
80-
#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 18)
80+
#define DISABLED_MASK18 0
81+
#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 19)
8182

8283
#endif /* _ASM_X86_DISABLED_FEATURES_H */

tools/arch/x86/include/asm/required-features.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@
106106
#define REQUIRED_MASK15 0
107107
#define REQUIRED_MASK16 (NEED_LA57)
108108
#define REQUIRED_MASK17 0
109-
#define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 18)
109+
#define REQUIRED_MASK18 0
110+
#define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 19)
110111

111112
#endif /* _ASM_X86_REQUIRED_FEATURES_H */

0 commit comments

Comments
 (0)