# SPDX-License-Identifier: GPL-2.0 # # x86 feature bits (see arch/x86/include/asm/cpufeatures.h) that are # either REQUIRED to be enabled, or DISABLED (always ignored) for this # particular compile-time configuration. The tests for these features # are turned into compile-time constants via the generated # . # # The naming of these variables *must* match asm/cpufeatures.h, e.g., # X86_FEATURE_ALWAYS <==> X86_REQUIRED_FEATURE_ALWAYS # X86_FEATURE_FRED <==> X86_DISABLED_FEATURE_FRED # # And these REQUIRED and DISABLED config options are manipulated in an # AWK script as the following example: # # +----------------------+ # | X86_FRED = y ? | # +----------------------+ # / \ # Y / \ N # +-------------------------------------+ +-------------------------------+ # | X86_DISABLED_FEATURE_FRED undefined | | X86_DISABLED_FEATURE_FRED = y | # +-------------------------------------+ +-------------------------------+ # | # | # +-------------------------------------------+ | # | X86_FEATURE_FRED: feature word 12, bit 17 | ---->| # +-------------------------------------------+ | # | # | # +-------------------------------+ # | set bit 17 of DISABLED_MASK12 | # +-------------------------------+ # config X86_REQUIRED_FEATURE_ALWAYS def_bool y config X86_REQUIRED_FEATURE_NOPL def_bool y depends on X86_64 || X86_P6_NOP config X86_REQUIRED_FEATURE_CX8 def_bool y depends on X86_CX8 # this should be set for all -march=.. options where the compiler # generates cmov. config X86_REQUIRED_FEATURE_CMOV def_bool y depends on X86_CMOV # this should be set for all -march= options where the compiler # generates movbe. config X86_REQUIRED_FEATURE_MOVBE def_bool y depends on MATOM config X86_REQUIRED_FEATURE_CPUID def_bool y depends on X86_64 config X86_REQUIRED_FEATURE_UP def_bool y depends on !SMP config X86_REQUIRED_FEATURE_FPU def_bool y depends on !MATH_EMULATION config X86_REQUIRED_FEATURE_PAE def_bool y depends on X86_64 || X86_PAE config X86_REQUIRED_FEATURE_PSE def_bool y depends on X86_64 && !PARAVIRT_XXL config X86_REQUIRED_FEATURE_PGE def_bool y depends on X86_64 && !PARAVIRT_XXL config X86_REQUIRED_FEATURE_MSR def_bool y depends on X86_64 config X86_REQUIRED_FEATURE_FXSR def_bool y depends on X86_64 config X86_REQUIRED_FEATURE_XMM def_bool y depends on X86_64 config X86_REQUIRED_FEATURE_XMM2 def_bool y depends on X86_64 config X86_REQUIRED_FEATURE_LM def_bool y depends on X86_64 config X86_DISABLED_FEATURE_UMIP def_bool y depends on !X86_UMIP config X86_DISABLED_FEATURE_VME def_bool y depends on X86_64 config X86_DISABLED_FEATURE_K6_MTRR def_bool y depends on X86_64 config X86_DISABLED_FEATURE_CYRIX_ARR def_bool y depends on X86_64 config X86_DISABLED_FEATURE_CENTAUR_MCR def_bool y depends on X86_64 config X86_DISABLED_FEATURE_PCID def_bool y depends on !X86_64 config X86_DISABLED_FEATURE_PKU def_bool y depends on !X86_INTEL_MEMORY_PROTECTION_KEYS config X86_DISABLED_FEATURE_OSPKE def_bool y depends on !X86_INTEL_MEMORY_PROTECTION_KEYS config X86_DISABLED_FEATURE_LA57 def_bool y depends on !X86_5LEVEL config X86_DISABLED_FEATURE_PTI def_bool y depends on !MITIGATION_PAGE_TABLE_ISOLATION config X86_DISABLED_FEATURE_RETPOLINE def_bool y depends on !MITIGATION_RETPOLINE config X86_DISABLED_FEATURE_RETPOLINE_LFENCE def_bool y depends on !MITIGATION_RETPOLINE config X86_DISABLED_FEATURE_RETHUNK def_bool y depends on !MITIGATION_RETHUNK config X86_DISABLED_FEATURE_UNRET def_bool y depends on !MITIGATION_UNRET_ENTRY config X86_DISABLED_FEATURE_CALL_DEPTH def_bool y depends on !MITIGATION_CALL_DEPTH_TRACKING config X86_DISABLED_FEATURE_LAM def_bool y depends on !ADDRESS_MASKING config X86_DISABLED_FEATURE_ENQCMD def_bool y depends on !INTEL_IOMMU_SVM config X86_DISABLED_FEATURE_SGX def_bool y depends on !X86_SGX config X86_DISABLED_FEATURE_XENPV def_bool y depends on !XEN_PV config X86_DISABLED_FEATURE_TDX_GUEST def_bool y depends on !INTEL_TDX_GUEST config X86_DISABLED_FEATURE_USER_SHSTK def_bool y depends on !X86_USER_SHADOW_STACK config X86_DISABLED_FEATURE_IBT def_bool y depends on !X86_KERNEL_IBT config X86_DISABLED_FEATURE_FRED def_bool y depends on !X86_FRED config X86_DISABLED_FEATURE_SEV_SNP def_bool y depends on !KVM_AMD_SEV config X86_DISABLED_FEATURE_INVLPGB def_bool y depends on !BROADCAST_TLB_FLUSH