mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-27 06:50:37 +00:00

Both Intel and AMD CPUs support 5-level paging, which is expected to become more widely adopted in the future. All major x86 Linux distributions have the feature enabled. Remove CONFIG_X86_5LEVEL and related #ifdeffery for it to make it more readable. Suggested-by: Borislav Petkov <bp@alien8.de> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Reviewed-by: Borislav Petkov (AMD) <bp@alien8.de> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: https://lore.kernel.org/r/20250516123306.3812286-4-kirill.shutemov@linux.intel.com
198 lines
4.8 KiB
Plaintext
198 lines
4.8 KiB
Plaintext
# 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
|
|
# <asm/cpufeaturemasks.h>.
|
|
#
|
|
# 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_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
|