linux/arch/x86/include/asm/disabled-features.h

#ifndef _ASM_X86_DISABLED_FEATURES_H
#define _ASM_X86_DISABLED_FEATURES_H

/* These features, although they might be available in a CPU
 * will not be used because the compile options to support
 * them are not present.
 *
 * This code allows them to be checked and disabled at
 * compile time without an explicit #ifdef.  Use
 * cpu_feature_enabled().
 */

#ifdef CONFIG_X86_UMIP
#define DISABLE_UMIP
#else
#define DISABLE_UMIP
#endif

#ifdef CONFIG_X86_64
#define DISABLE_VME
#define DISABLE_K6_MTRR
#define DISABLE_CYRIX_ARR
#define DISABLE_CENTAUR_MCR
#define DISABLE_PCID
#else
#define DISABLE_VME
#define DISABLE_K6_MTRR
#define DISABLE_CYRIX_ARR
#define DISABLE_CENTAUR_MCR
#define DISABLE_PCID
#endif /* CONFIG_X86_64 */

#ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
#define DISABLE_PKU
#define DISABLE_OSPKE
#else
#define DISABLE_PKU
#define DISABLE_OSPKE
#endif /* CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS */

#ifdef CONFIG_X86_5LEVEL
#define DISABLE_LA57
#else
#define DISABLE_LA57
#endif

#ifdef CONFIG_MITIGATION_PAGE_TABLE_ISOLATION
#define DISABLE_PTI
#else
#define DISABLE_PTI
#endif

#ifdef CONFIG_MITIGATION_RETPOLINE
#define DISABLE_RETPOLINE
#else
#define DISABLE_RETPOLINE
#endif

#ifdef CONFIG_MITIGATION_RETHUNK
#define DISABLE_RETHUNK
#else
#define DISABLE_RETHUNK
#endif

#ifdef CONFIG_MITIGATION_UNRET_ENTRY
#define DISABLE_UNRET
#else
#define DISABLE_UNRET
#endif

#ifdef CONFIG_MITIGATION_CALL_DEPTH_TRACKING
#define DISABLE_CALL_DEPTH_TRACKING
#else
#define DISABLE_CALL_DEPTH_TRACKING
#endif

#ifdef CONFIG_ADDRESS_MASKING
#define DISABLE_LAM
#else
#define DISABLE_LAM
#endif

#ifdef CONFIG_INTEL_IOMMU_SVM
#define DISABLE_ENQCMD
#else
#define DISABLE_ENQCMD
#endif

#ifdef CONFIG_X86_SGX
#define DISABLE_SGX
#else
#define DISABLE_SGX
#endif

#ifdef CONFIG_XEN_PV
#define DISABLE_XENPV
#else
#define DISABLE_XENPV
#endif

#ifdef CONFIG_INTEL_TDX_GUEST
#define DISABLE_TDX_GUEST
#else
#define DISABLE_TDX_GUEST
#endif

#ifdef CONFIG_X86_USER_SHADOW_STACK
#define DISABLE_USER_SHSTK
#else
#define DISABLE_USER_SHSTK
#endif

#ifdef CONFIG_X86_KERNEL_IBT
#define DISABLE_IBT
#else
#define DISABLE_IBT
#endif

#ifdef CONFIG_X86_FRED
#define DISABLE_FRED
#else
#define DISABLE_FRED
#endif

#ifdef CONFIG_KVM_AMD_SEV
#define DISABLE_SEV_SNP
#else
#define DISABLE_SEV_SNP
#endif

/*
 * Make sure to add features to the correct mask
 */
#define DISABLED_MASK0
#define DISABLED_MASK1
#define DISABLED_MASK2
#define DISABLED_MASK3
#define DISABLED_MASK4
#define DISABLED_MASK5
#define DISABLED_MASK6
#define DISABLED_MASK7
#define DISABLED_MASK8
#define DISABLED_MASK9
#define DISABLED_MASK10
#define DISABLED_MASK11
#define DISABLED_MASK12
#define DISABLED_MASK13
#define DISABLED_MASK14
#define DISABLED_MASK15
#define DISABLED_MASK16
#define DISABLED_MASK17
#define DISABLED_MASK18
#define DISABLED_MASK19
#define DISABLED_MASK20
#define DISABLED_MASK21
#define DISABLED_MASK_CHECK

#endif /* _ASM_X86_DISABLED_FEATURES_H */