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 42 43config X86_REQUIRED_FEATURE_CX8 44 def_bool y 45 46# this should be set for all -march=.. options where the compiler 47# generates cmov. 48config X86_REQUIRED_FEATURE_CMOV 49 def_bool y 50 depends on X86_CMOV 51 52# this should be set for all -march= options where the compiler 53# generates movbe. 54config X86_REQUIRED_FEATURE_MOVBE 55 def_bool y 56 depends on MATOM 57 58config X86_REQUIRED_FEATURE_SYSFAST32 59 def_bool y 60 depends on X86_64 && !X86_FRED 61 62config X86_REQUIRED_FEATURE_CPUID 63 def_bool y 64 depends on X86_64 65 66config X86_REQUIRED_FEATURE_UP 67 def_bool y 68 depends on !SMP 69 70config X86_REQUIRED_FEATURE_FPU 71 def_bool y 72 73config X86_REQUIRED_FEATURE_PAE 74 def_bool y 75 depends on X86_64 || X86_PAE 76 77config X86_REQUIRED_FEATURE_PSE 78 def_bool y 79 depends on X86_64 && !PARAVIRT_XXL 80 81config X86_REQUIRED_FEATURE_PGE 82 def_bool y 83 depends on X86_64 && !PARAVIRT_XXL 84 85config X86_REQUIRED_FEATURE_MSR 86 def_bool y 87 depends on X86_64 88 89config X86_REQUIRED_FEATURE_FXSR 90 def_bool y 91 depends on X86_64 92 93config X86_REQUIRED_FEATURE_XMM 94 def_bool y 95 depends on X86_64 96 97config X86_REQUIRED_FEATURE_XMM2 98 def_bool y 99 depends on X86_64 100 101config X86_REQUIRED_FEATURE_LM 102 def_bool y 103 depends on X86_64 104 105config X86_DISABLED_FEATURE_UMIP 106 def_bool y 107 depends on !X86_UMIP 108 109config X86_DISABLED_FEATURE_VME 110 def_bool y 111 depends on X86_64 112 113config X86_DISABLED_FEATURE_K6_MTRR 114 def_bool y 115 depends on X86_64 116 117config X86_DISABLED_FEATURE_CYRIX_ARR 118 def_bool y 119 depends on X86_64 120 121config X86_DISABLED_FEATURE_CENTAUR_MCR 122 def_bool y 123 depends on X86_64 124 125config X86_DISABLED_FEATURE_SYSCALL32 126 def_bool y 127 depends on !X86_64 128 129config X86_DISABLED_FEATURE_PCID 130 def_bool y 131 depends on !X86_64 132 133config X86_DISABLED_FEATURE_LASS 134 def_bool y 135 depends on X86_32 136 137config X86_DISABLED_FEATURE_PKU 138 def_bool y 139 depends on !X86_INTEL_MEMORY_PROTECTION_KEYS 140 141config X86_DISABLED_FEATURE_OSPKE 142 def_bool y 143 depends on !X86_INTEL_MEMORY_PROTECTION_KEYS 144 145config X86_DISABLED_FEATURE_PTI 146 def_bool y 147 depends on !MITIGATION_PAGE_TABLE_ISOLATION 148 149config X86_DISABLED_FEATURE_RETPOLINE 150 def_bool y 151 depends on !MITIGATION_RETPOLINE 152 153config X86_DISABLED_FEATURE_RETPOLINE_LFENCE 154 def_bool y 155 depends on !MITIGATION_RETPOLINE 156 157config X86_DISABLED_FEATURE_RETHUNK 158 def_bool y 159 depends on !MITIGATION_RETHUNK 160 161config X86_DISABLED_FEATURE_UNRET 162 def_bool y 163 depends on !MITIGATION_UNRET_ENTRY 164 165config X86_DISABLED_FEATURE_CALL_DEPTH 166 def_bool y 167 depends on !MITIGATION_CALL_DEPTH_TRACKING 168 169config X86_DISABLED_FEATURE_LAM 170 def_bool y 171 depends on !ADDRESS_MASKING 172 173config X86_DISABLED_FEATURE_ENQCMD 174 def_bool y 175 depends on !INTEL_IOMMU_SVM 176 177config X86_DISABLED_FEATURE_SGX 178 def_bool y 179 depends on !X86_SGX 180 181config X86_DISABLED_FEATURE_XENPV 182 def_bool y 183 depends on !XEN_PV 184 185config X86_DISABLED_FEATURE_TDX_GUEST 186 def_bool y 187 depends on !INTEL_TDX_GUEST 188 189config X86_DISABLED_FEATURE_USER_SHSTK 190 def_bool y 191 depends on !X86_USER_SHADOW_STACK 192 193config X86_DISABLED_FEATURE_IBT 194 def_bool y 195 depends on !X86_KERNEL_IBT 196 197config X86_DISABLED_FEATURE_FRED 198 def_bool y 199 depends on !X86_FRED 200 201config X86_DISABLED_FEATURE_SEV_SNP 202 def_bool y 203 depends on !KVM_AMD_SEV 204 205config X86_DISABLED_FEATURE_INVLPGB 206 def_bool y 207 depends on !BROADCAST_TLB_FLUSH 208