summaryrefslogtreecommitdiff
path: root/arch/x86/Kconfig.cpufeatures
blob: e12d5b7e39a25b9554656d27e018d242d57a2fe0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
# 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_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