1# SPDX-License-Identifier: GPL-2.0 2# 3# x86 feature bits (see arch/x86/include/asm/cpufeatures.h) that are 4# either REQUIRED to be enabled, or DISABLED (always ignored) for this 5# particular compile-time configuration. The tests for these features 6# are turned into compile-time constants via the generated 7# <asm/cpufeaturemasks.h>. 8# 9# The naming of these variables *must* match asm/cpufeatures.h, e.g., 10# X86_FEATURE_ALWAYS <==> X86_REQUIRED_FEATURE_ALWAYS 11# X86_FEATURE_FRED <==> X86_DISABLED_FEATURE_FRED 12# 13# And these REQUIRED and DISABLED config options are manipulated in an 14# AWK script as the following example: 15# 16# +----------------------+ 17# | X86_FRED = y ? | 18# +----------------------+ 19# / \ 20# Y / \ N 21# +-------------------------------------+ +-------------------------------+ 22# | X86_DISABLED_FEATURE_FRED undefined | | X86_DISABLED_FEATURE_FRED = y | 23# +-------------------------------------+ +-------------------------------+ 24# | 25# | 26# +-------------------------------------------+ | 27# | X86_FEATURE_FRED: feature word 12, bit 17 | ---->| 28# +-------------------------------------------+ | 29# | 30# | 31# +-------------------------------+ 32# | set bit 17 of DISABLED_MASK12 | 33# +-------------------------------+ 34# 35 36config X86_REQUIRED_FEATURE_ALWAYS 37 def_bool y 38 39config X86_REQUIRED_FEATURE_NOPL 40 def_bool y 41 depends on X86_64 || X86_P6_NOP 42 43config X86_REQUIRED_FEATURE_CX8 44 def_bool y 45 depends on X86_CX8 46 47# this should be set for all -march=.. options where the compiler 48# generates cmov. 49config X86_REQUIRED_FEATURE_CMOV 50 def_bool y 51 depends on X86_CMOV 52 53# this should be set for all -march= options where the compiler 54# generates movbe. 55config X86_REQUIRED_FEATURE_MOVBE 56 def_bool y 57 depends on MATOM 58 59config X86_REQUIRED_FEATURE_CPUID 60 def_bool y 61 depends on X86_64 62 63config X86_REQUIRED_FEATURE_UP 64 def_bool y 65 depends on !SMP 66 67config X86_REQUIRED_FEATURE_FPU 68 def_bool y 69 depends on !MATH_EMULATION 70 71config X86_REQUIRED_FEATURE_PAE 72 def_bool y 73 depends on X86_64 || X86_PAE 74 75config X86_REQUIRED_FEATURE_PSE 76 def_bool y 77 depends on X86_64 && !PARAVIRT_XXL 78 79config X86_REQUIRED_FEATURE_PGE 80 def_bool y 81 depends on X86_64 && !PARAVIRT_XXL 82 83config X86_REQUIRED_FEATURE_MSR 84 def_bool y 85 depends on X86_64 86 87config X86_REQUIRED_FEATURE_FXSR 88 def_bool y 89 depends on X86_64 90 91config X86_REQUIRED_FEATURE_XMM 92 def_bool y 93 depends on X86_64 94 95config X86_REQUIRED_FEATURE_XMM2 96 def_bool y 97 depends on X86_64 98 99config X86_REQUIRED_FEATURE_LM 100 def_bool y 101 depends on X86_64 102 103config X86_DISABLED_FEATURE_UMIP 104 def_bool y 105 depends on !X86_UMIP 106 107config X86_DISABLED_FEATURE_VME 108 def_bool y 109 depends on X86_64 110 111config X86_DISABLED_FEATURE_K6_MTRR 112 def_bool y 113 depends on X86_64 114 115config X86_DISABLED_FEATURE_CYRIX_ARR 116 def_bool y 117 depends on X86_64 118 119config X86_DISABLED_FEATURE_CENTAUR_MCR 120 def_bool y 121 depends on X86_64 122 123config X86_DISABLED_FEATURE_PCID 124 def_bool y 125 depends on !X86_64 126 127config X86_DISABLED_FEATURE_PKU 128 def_bool y 129 depends on !X86_INTEL_MEMORY_PROTECTION_KEYS 130 131config X86_DISABLED_FEATURE_OSPKE 132 def_bool y 133 depends on !X86_INTEL_MEMORY_PROTECTION_KEYS 134 135config X86_DISABLED_FEATURE_LA57 136 def_bool y 137 depends on !X86_5LEVEL 138 139config X86_DISABLED_FEATURE_PTI 140 def_bool y 141 depends on !MITIGATION_PAGE_TABLE_ISOLATION 142 143config X86_DISABLED_FEATURE_RETPOLINE 144 def_bool y 145 depends on !MITIGATION_RETPOLINE 146 147config X86_DISABLED_FEATURE_RETPOLINE_LFENCE 148 def_bool y 149 depends on !MITIGATION_RETPOLINE 150 151config X86_DISABLED_FEATURE_RETHUNK 152 def_bool y 153 depends on !MITIGATION_RETHUNK 154 155config X86_DISABLED_FEATURE_UNRET 156 def_bool y 157 depends on !MITIGATION_UNRET_ENTRY 158 159config X86_DISABLED_FEATURE_CALL_DEPTH 160 def_bool y 161 depends on !MITIGATION_CALL_DEPTH_TRACKING 162 163config X86_DISABLED_FEATURE_LAM 164 def_bool y 165 depends on !ADDRESS_MASKING 166 167config X86_DISABLED_FEATURE_ENQCMD 168 def_bool y 169 depends on !INTEL_IOMMU_SVM 170 171config X86_DISABLED_FEATURE_SGX 172 def_bool y 173 depends on !X86_SGX 174 175config X86_DISABLED_FEATURE_XENPV 176 def_bool y 177 depends on !XEN_PV 178 179config X86_DISABLED_FEATURE_TDX_GUEST 180 def_bool y 181 depends on !INTEL_TDX_GUEST 182 183config X86_DISABLED_FEATURE_USER_SHSTK 184 def_bool y 185 depends on !X86_USER_SHADOW_STACK 186 187config X86_DISABLED_FEATURE_IBT 188 def_bool y 189 depends on !X86_KERNEL_IBT 190 191config X86_DISABLED_FEATURE_FRED 192 def_bool y 193 depends on !X86_FRED 194 195config X86_DISABLED_FEATURE_SEV_SNP 196 def_bool y 197 depends on !KVM_AMD_SEV 198 199config X86_DISABLED_FEATURE_INVLPGB 200 def_bool y 201 depends on !BROADCAST_TLB_FLUSH 202