Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools headers: Synchoronize x86 features UAPI headers

Sync tools/arch/x86/include/asm/{cpu,disabled-,required-}features.h with
the changes in:

2961298efe1e ("x86/cpufeatures: Clean up Spectre v2 related CPUID flags")
20ffa1caecca ("x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support")
5d10cbc91d9e ("x86/cpufeatures: Add AMD feature bits for Speculation Control")
fc67dd70adb7 ("x86/cpufeatures: Add Intel feature bits for Speculation Control")
95ca0ee86360 ("x86/cpufeatures: Add CPUID_7_EDX CPUID leaf")
a511e7935378 ("x86/intel_rdt: Enumerate L2 Code and Data Prioritization (CDP) feature")
4fdec2034b75 ("x86/cpufeature: Move processor tracing out of scattered features")
c995efd5a740 ("x86/retpoline: Fill RSB on context switch for affected CPUs")
76b043848fd2 ("x86/retpoline: Add initial retpoline support")
99c6fa2511d8 ("x86/cpufeatures: Add X86_BUG_SPECTRE_V[12]")
de791821c295 ("x86/pti: Rename BUG_CPU_INSECURE to BUG_CPU_MELTDOWN")
6cff64b86aaa ("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 <adrian.hunter@intel.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: David Woodhouse <dwmw@amazon.co.uk>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Wang Nan <wangnan0@huawei.com>
Link: https://lkml.kernel.org/n/tip-dbdjack1k92xar5ccuq4el1h@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

+24 -6
+20 -4
tools/arch/x86/include/asm/cpufeatures.h
··· 13 13 /* 14 14 * Defines x86 CPU feature bits 15 15 */ 16 - #define NCAPINTS 18 /* N 32-bit words worth of info */ 16 + #define NCAPINTS 19 /* N 32-bit words worth of info */ 17 17 #define NBUGINTS 1 /* N 32-bit bug flags */ 18 18 19 19 /* ··· 203 203 #define X86_FEATURE_PROC_FEEDBACK ( 7*32+ 9) /* AMD ProcFeedbackInterface */ 204 204 #define X86_FEATURE_SME ( 7*32+10) /* AMD Secure Memory Encryption */ 205 205 #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 */ 206 208 #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 */ 210 210 211 211 #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 */ 212 215 213 216 /* Virtualization flags: Linux defined, word 8 */ 214 217 #define X86_FEATURE_TPR_SHADOW ( 8*32+ 0) /* Intel TPR Shadow */ ··· 246 243 #define X86_FEATURE_AVX512IFMA ( 9*32+21) /* AVX-512 Integer Fused Multiply-Add instructions */ 247 244 #define X86_FEATURE_CLFLUSHOPT ( 9*32+23) /* CLFLUSHOPT instruction */ 248 245 #define X86_FEATURE_CLWB ( 9*32+24) /* CLWB instruction */ 246 + #define X86_FEATURE_INTEL_PT ( 9*32+25) /* Intel Processor Trace */ 249 247 #define X86_FEATURE_AVX512PF ( 9*32+26) /* AVX-512 Prefetch */ 250 248 #define X86_FEATURE_AVX512ER ( 9*32+27) /* AVX-512 Exponential and Reciprocal */ 251 249 #define X86_FEATURE_AVX512CD ( 9*32+28) /* AVX-512 Conflict Detection */ ··· 272 268 #define X86_FEATURE_CLZERO (13*32+ 0) /* CLZERO instruction */ 273 269 #define X86_FEATURE_IRPERF (13*32+ 1) /* Instructions Retired Count */ 274 270 #define X86_FEATURE_XSAVEERPTR (13*32+ 2) /* Always save/restore FP error pointers */ 271 + #define X86_FEATURE_IBPB (13*32+12) /* Indirect Branch Prediction Barrier */ 272 + #define X86_FEATURE_IBRS (13*32+14) /* Indirect Branch Restricted Speculation */ 273 + #define X86_FEATURE_STIBP (13*32+15) /* Single Thread Indirect Branch Predictors */ 275 274 276 275 /* Thermal and Power Management Leaf, CPUID level 0x00000006 (EAX), word 14 */ 277 276 #define X86_FEATURE_DTHERM (14*32+ 0) /* Digital Thermal Sensor */ ··· 323 316 #define X86_FEATURE_SUCCOR (17*32+ 1) /* Uncorrectable error containment and recovery */ 324 317 #define X86_FEATURE_SMCA (17*32+ 3) /* Scalable MCA */ 325 318 319 + /* Intel-defined CPU features, CPUID level 0x00000007:0 (EDX), word 18 */ 320 + #define X86_FEATURE_AVX512_4VNNIW (18*32+ 2) /* AVX-512 Neural Network Instructions */ 321 + #define X86_FEATURE_AVX512_4FMAPS (18*32+ 3) /* AVX-512 Multiply Accumulation Single precision */ 322 + #define X86_FEATURE_SPEC_CTRL (18*32+26) /* "" Speculation Control (IBRS + IBPB) */ 323 + #define X86_FEATURE_INTEL_STIBP (18*32+27) /* "" Single Thread Indirect Branch Predictors */ 324 + #define X86_FEATURE_ARCH_CAPABILITIES (18*32+29) /* IA32_ARCH_CAPABILITIES MSR (Intel) */ 325 + 326 326 /* 327 327 * BUG word(s) 328 328 */ ··· 356 342 #define X86_BUG_MONITOR X86_BUG(12) /* IPI required to wake up remote CPU */ 357 343 #define X86_BUG_AMD_E400 X86_BUG(13) /* CPU is among the affected by Erratum 400 */ 358 344 #define X86_BUG_CPU_MELTDOWN X86_BUG(14) /* CPU is affected by meltdown attack and needs kernel page table isolation */ 345 + #define X86_BUG_SPECTRE_V1 X86_BUG(15) /* CPU is affected by Spectre variant 1 attack with conditional branches */ 346 + #define X86_BUG_SPECTRE_V2 X86_BUG(16) /* CPU is affected by Spectre variant 2 attack with indirect branches */ 359 347 360 348 #endif /* _ASM_X86_CPUFEATURES_H */
+2 -1
tools/arch/x86/include/asm/disabled-features.h
··· 77 77 #define DISABLED_MASK15 0 78 78 #define DISABLED_MASK16 (DISABLE_PKU|DISABLE_OSPKE|DISABLE_LA57|DISABLE_UMIP) 79 79 #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) 81 82 82 83 #endif /* _ASM_X86_DISABLED_FEATURES_H */
+2 -1
tools/arch/x86/include/asm/required-features.h
··· 106 106 #define REQUIRED_MASK15 0 107 107 #define REQUIRED_MASK16 (NEED_LA57) 108 108 #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) 110 111 111 112 #endif /* _ASM_X86_REQUIRED_FEATURES_H */