Blame view

arch/x86/Kconfig.cpu 15.8 KB
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
1
2
3
4
5
  # Put here option for CPU selection and depending optimization
  if !X86_ELAN
  
  choice
  	prompt "Processor family"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
6
7
  	default M686 if X86_32
  	default GENERIC_CPU if X86_64
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
8
9
10
  
  config M386
  	bool "386"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
11
  	depends on X86_32 && !UML
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
12
13
14
15
16
17
18
19
20
21
22
23
  	---help---
  	  This is the processor type of your CPU. This information is used for
  	  optimizing purposes. In order to compile a kernel that can run on
  	  all x86 CPU types (albeit not optimally fast), you can specify
  	  "386" here.
  
  	  The kernel will not necessarily run on earlier architectures than
  	  the one you have chosen, e.g. a Pentium optimized kernel will run on
  	  a PPro, but not necessarily on a i486.
  
  	  Here are the settings recommended for greatest speed:
  	  - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI
f7f17a67c   Dmitri Vorobiev   x86: remove NexGe...
24
25
  	  486DLC/DLC2, and UMC 486SX-S.  Only "386" kernels will run on a 386
  	  class machine.
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  	  - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or
  	  SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
  	  - "586" for generic Pentium CPUs lacking the TSC
  	  (time stamp counter) register.
  	  - "Pentium-Classic" for the Intel Pentium.
  	  - "Pentium-MMX" for the Intel Pentium MMX.
  	  - "Pentium-Pro" for the Intel Pentium Pro.
  	  - "Pentium-II" for the Intel Pentium II or pre-Coppermine Celeron.
  	  - "Pentium-III" for the Intel Pentium III or Coppermine Celeron.
  	  - "Pentium-4" for the Intel Pentium 4 or P4-based Celeron.
  	  - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
  	  - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
  	  - "Crusoe" for the Transmeta Crusoe series.
  	  - "Efficeon" for the Transmeta Efficeon series.
  	  - "Winchip-C6" for original IDT Winchip.
69d45dd1c   Krzysztof Helt   x86: merge winchi...
41
  	  - "Winchip-2" for IDT Winchips with 3dNow! capabilities.
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
42
  	  - "GeodeGX1" for Geode GX1 (Cyrix MediaGX).
f90b81160   Jordan Crouse   [PATCH] Base supp...
43
  	  - "Geode GX/LX" For AMD Geode GX and LX processors.
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
44
  	  - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
48a1204c4   Egry Gabor   i386: Trivial typ...
45
  	  - "VIA C3-2" for VIA C3-2 "Nehemiah" (model 9 and above).
0949be350   Simon Arlott   [PATCH] i386: Add...
46
  	  - "VIA C7" for VIA C7.
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
47
48
49
50
51
  
  	  If you don't know what to do, choose "386".
  
  config M486
  	bool "486"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
52
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
53
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
54
55
56
57
58
59
60
  	  Select this for a 486 series processor, either Intel or one of the
  	  compatible processors from AMD, Cyrix, IBM, or Intel.  Includes DX,
  	  DX2, and DX4 variants; also SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or
  	  U5S.
  
  config M586
  	bool "586/K5/5x86/6x86/6x86MX"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
61
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
62
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
63
64
65
66
67
68
  	  Select this for an 586 or 686 series processor such as the AMD K5,
  	  the Cyrix 5x86, 6x86 and 6x86MX.  This choice does not
  	  assume the RDTSC (Read Time Stamp Counter) instruction.
  
  config M586TSC
  	bool "Pentium-Classic"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
69
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
70
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
71
72
73
74
75
  	  Select this for a Pentium Classic processor with the RDTSC (Read
  	  Time Stamp Counter) instruction for benchmarking.
  
  config M586MMX
  	bool "Pentium-MMX"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
76
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
77
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
78
79
80
81
82
  	  Select this for a Pentium with the MMX graphics/multimedia
  	  extended instructions.
  
  config M686
  	bool "Pentium-Pro"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
83
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
84
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
85
86
87
88
89
90
  	  Select this for Intel Pentium Pro chips.  This enables the use of
  	  Pentium Pro extended instructions, and disables the init-time guard
  	  against the f00f bug found in earlier Pentiums.
  
  config MPENTIUMII
  	bool "Pentium-II/Celeron(pre-Coppermine)"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
91
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
92
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
93
94
95
96
97
98
99
100
  	  Select this for Intel chips based on the Pentium-II and
  	  pre-Coppermine Celeron core.  This option enables an unaligned
  	  copy optimization, compiles the kernel with optimization flags
  	  tailored for the chip, and applies any applicable Pentium Pro
  	  optimizations.
  
  config MPENTIUMIII
  	bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
101
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
102
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
103
104
105
106
107
108
109
  	  Select this for Intel chips based on the Pentium-III and
  	  Celeron-Coppermine core.  This option enables use of some
  	  extended prefetch instructions in addition to the Pentium II
  	  extensions.
  
  config MPENTIUMM
  	bool "Pentium M"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
110
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
111
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
112
113
114
115
  	  Select this for Intel Pentium M (not Pentium-4 M)
  	  notebook chips.
  
  config MPENTIUM4
c55d92d14   Andi Kleen   [PATCH] i386: Add...
116
  	bool "Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
117
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
118
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
119
  	  Select this for Intel Pentium 4 chips.  This includes the
75e3808b6   Oliver Pinter   x86: add cpu code...
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
  	  Pentium 4, Pentium D, P4-based Celeron and Xeon, and
  	  Pentium-4 M (not Pentium M) chips.  This option enables compile
  	  flags optimized for the chip, uses the correct cache line size, and
  	  applies any applicable optimizations.
  
  	  CPUIDs: F[0-6][1-A] (in /proc/cpuinfo show = cpu family : 15 )
  
  	  Select this for:
  	    Pentiums (Pentium 4, Pentium D, Celeron, Celeron D) corename:
  		-Willamette
  		-Northwood
  		-Mobile Pentium 4
  		-Mobile Pentium 4 M
  		-Extreme Edition (Gallatin)
  		-Prescott
  		-Prescott 2M
  		-Cedar Mill
  		-Presler
  		-Smithfiled
  	    Xeons (Intel Xeon, Xeon MP, Xeon LV, Xeon MV) corename:
  		-Foster
  		-Prestonia
  		-Gallatin
  		-Nocona
  		-Irwindale
  		-Cranford
  		-Potomac
  		-Paxville
  		-Dempsey
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
149
150
151
  
  config MK6
  	bool "K6/K6-II/K6-III"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
152
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
153
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
154
155
156
157
158
159
  	  Select this for an AMD K6-family processor.  Enables use of
  	  some extended instructions, and passes appropriate optimization
  	  flags to GCC.
  
  config MK7
  	bool "Athlon/Duron/K7"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
160
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
161
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
162
163
164
165
166
167
  	  Select this for an AMD Athlon K7-family processor.  Enables use of
  	  some extended instructions, and passes appropriate optimization
  	  flags to GCC.
  
  config MK8
  	bool "Opteron/Athlon64/Hammer/K8"
8f9ca475c   Ingo Molnar   x86: clean up arc...
168
  	---help---
36723bfe8   Borislav Petkov   x86/Kconfig.cpu: ...
169
170
171
  	  Select this for an AMD Opteron or Athlon64 Hammer-family processor.
  	  Enables use of some extended instructions, and passes appropriate
  	  optimization flags to GCC.
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
172
173
174
  
  config MCRUSOE
  	bool "Crusoe"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
175
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
176
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
177
178
179
180
181
182
  	  Select this for a Transmeta Crusoe processor.  Treats the processor
  	  like a 586 with TSC, and sets some GCC optimization flags (like a
  	  Pentium Pro with no alignment requirements).
  
  config MEFFICEON
  	bool "Efficeon"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
183
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
184
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
185
186
187
188
  	  Select this for a Transmeta Efficeon processor.
  
  config MWINCHIPC6
  	bool "Winchip-C6"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
189
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
190
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
191
192
193
  	  Select this for an IDT Winchip C6 chip.  Linux and GCC
  	  treat this chip as a 586TSC with some extended instructions
  	  and alignment requirements.
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
194
  config MWINCHIP3D
69d45dd1c   Krzysztof Helt   x86: merge winchi...
195
  	bool "Winchip-2/Winchip-2A/Winchip-3"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
196
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
197
  	---help---
69d45dd1c   Krzysztof Helt   x86: merge winchi...
198
  	  Select this for an IDT Winchip-2, 2A or 3.  Linux and GCC
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
199
  	  treat this chip as a 586TSC with some extended instructions
3dde6ad8f   David Sterba   Fix trivial typos...
200
  	  and alignment requirements.  Also enable out of order memory
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
201
202
203
204
205
  	  stores for this CPU, which can increase performance of some
  	  operations.
  
  config MGEODEGX1
  	bool "GeodeGX1"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
206
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
207
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
208
  	  Select this for a Geode GX1 (Cyrix MediaGX) chip.
f90b81160   Jordan Crouse   [PATCH] Base supp...
209
  config MGEODE_LX
96daa8cd5   Harvey Harrison   x86: use def_bool...
210
  	bool "Geode GX/LX"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
211
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
212
  	---help---
96daa8cd5   Harvey Harrison   x86: use def_bool...
213
  	  Select this for AMD Geode GX and LX processors.
f90b81160   Jordan Crouse   [PATCH] Base supp...
214

96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
215
216
  config MCYRIXIII
  	bool "CyrixIII/VIA-C3"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
217
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
218
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
219
220
221
222
223
224
225
226
227
228
  	  Select this for a Cyrix III or C3 chip.  Presently Linux and GCC
  	  treat this chip as a generic 586. Whilst the CPU is 686 class,
  	  it lacks the cmov extension which gcc assumes is present when
  	  generating 686 code.
  	  Note that Nehemiah (Model 9) and above will not boot with this
  	  kernel due to them lacking the 3DNow! instructions used in earlier
  	  incarnations of the CPU.
  
  config MVIAC3_2
  	bool "VIA C3-2 (Nehemiah)"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
229
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
230
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
231
232
233
  	  Select this for a VIA C3 "Nehemiah". Selecting this enables usage
  	  of SSE and tells gcc to treat the CPU as a 686.
  	  Note, this kernel will not boot on older (pre model 9) C3s.
0949be350   Simon Arlott   [PATCH] i386: Add...
234
235
  config MVIAC7
  	bool "VIA C7"
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
236
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
237
  	---help---
0949be350   Simon Arlott   [PATCH] i386: Add...
238
239
  	  Select this for a VIA C7.  Selecting this uses the correct cache
  	  shift and tells gcc to treat the CPU as a 686.
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
240
241
242
  config MPSC
  	bool "Intel P4 / older Netburst based Xeon"
  	depends on X86_64
8f9ca475c   Ingo Molnar   x86: clean up arc...
243
  	---help---
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
244
245
246
  	  Optimize for Intel Pentium 4, Pentium D and older Nocona/Dempsey
  	  Xeon CPUs with Intel 64bit which is compatible with x86-64.
  	  Note that the latest Xeons (Xeon 51xx and 53xx) are not based on the
96daa8cd5   Harvey Harrison   x86: use def_bool...
247
  	  Netburst core and shouldn't use this option. You can distinguish them
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
248
249
250
251
252
  	  using the cpu family field
  	  in /proc/cpuinfo. Family 15 is an older Xeon, Family 6 a newer one.
  
  config MCORE2
  	bool "Core 2/newer Xeon"
8f9ca475c   Ingo Molnar   x86: clean up arc...
253
  	---help---
36723bfe8   Borislav Petkov   x86/Kconfig.cpu: ...
254
255
256
257
258
  
  	  Select this for Intel Core 2 and newer Core 2 Xeons (Xeon 51xx and
  	  53xx) CPUs. You can distinguish newer from older Xeons by the CPU
  	  family in /proc/cpuinfo. Newer ones have 6 and older ones 15
  	  (not a typo)
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
259

366d19e18   Tobias Doerffel   x86: add specific...
260
261
262
263
264
265
266
267
  config MATOM
  	bool "Intel Atom"
  	---help---
  
  	  Select this for the Intel Atom platform. Intel Atom CPUs have an
  	  in-order pipelining architecture and thus can benefit from
  	  accordingly optimized code. Use a recent GCC with specific Atom
  	  support in order to fully benefit from selecting this option.
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
268
269
270
  config GENERIC_CPU
  	bool "Generic-x86-64"
  	depends on X86_64
8f9ca475c   Ingo Molnar   x86: clean up arc...
271
  	---help---
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
272
273
  	  Generic x86-64 CPU.
  	  Run equally well on all x86-64 CPUs.
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
274
275
276
  endchoice
  
  config X86_GENERIC
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
277
278
  	bool "Generic x86 support"
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
279
  	---help---
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
280
281
282
283
284
285
286
287
288
  	  Instead of just including optimizations for the selected
  	  x86 variant (e.g. PII, Crusoe or Athlon), include some more
  	  generic optimizations as well. This will make the kernel
  	  perform better on x86 CPUs other than that selected.
  
  	  This is really intended for distributors who need more
  	  generic optimizations.
  
  endif
acbaa93e3   Ingo Molnar   x86: CONFIG_X86_E...
289
290
291
292
  config X86_CPU
  	def_bool y
  	select GENERIC_FIND_FIRST_BIT
  	select GENERIC_FIND_NEXT_BIT
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
293
294
  #
  # Define implied options from the CPU selection here
350f8f563   Jan Beulich   x86: Eliminate re...
295
  config X86_INTERNODE_CACHE_SHIFT
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
296
  	int
350f8f563   Jan Beulich   x86: Eliminate re...
297
298
299
  	default "12" if X86_VSMP
  	default "7" if NUMA
  	default X86_L1_CACHE_SHIFT
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
300

96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
301
  config X86_CMPXCHG
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
302
  	def_bool X86_64 || (X86_32 && !M386)
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
303

96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
304
305
  config X86_L1_CACHE_SHIFT
  	int
0a2a18b72   Ingo Molnar   x86: change the d...
306
  	default "7" if MPENTIUM4 || MPSC
350f8f563   Jan Beulich   x86: Eliminate re...
307
  	default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 || MATOM || MVIAC7 || X86_GENERIC || GENERIC_CPU
f90b81160   Jordan Crouse   [PATCH] Base supp...
308
  	default "4" if X86_ELAN || M486 || M386 || MGEODEGX1
69d45dd1c   Krzysztof Helt   x86: merge winchi...
309
  	default "5" if MWINCHIP3D || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
310

c7f81c945   Andi Kleen   [PATCH] i386: Ver...
311
  config X86_XADD
96daa8cd5   Harvey Harrison   x86: use def_bool...
312
  	def_bool y
bafaecd11   Linus Torvalds   x86-64: support n...
313
  	depends on X86_64 || !M386
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
314
315
  
  config X86_PPRO_FENCE
fb0328e2e   Nick Piggin   x86: reduce CONFI...
316
  	bool "PentiumPro memory ordering errata workaround"
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
317
  	depends on M686 || M586MMX || M586TSC || M586 || M486 || M386 || MGEODEGX1
8f9ca475c   Ingo Molnar   x86: clean up arc...
318
  	---help---
36723bfe8   Borislav Petkov   x86/Kconfig.cpu: ...
319
320
321
322
323
324
325
326
  	  Old PentiumPro multiprocessor systems had errata that could cause
  	  memory operations to violate the x86 ordering standard in rare cases.
  	  Enabling this option will attempt to work around some (but not all)
  	  occurances of this problem, at the cost of much heavier spinlock and
  	  memory barrier operations.
  
  	  If unsure, say n here. Even distro kernels should think twice before
  	  enabling this: there are few systems, and an unlikely bug.
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
327
328
  
  config X86_F00F_BUG
96daa8cd5   Harvey Harrison   x86: use def_bool...
329
  	def_bool y
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
330
  	depends on M586MMX || M586TSC || M586 || M486 || M386
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
331

40d2e7631   Brian Gerst   x86-32: Rework ca...
332
333
334
  config X86_INVD_BUG
  	def_bool y
  	depends on M486 || M386
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
335
  config X86_WP_WORKS_OK
96daa8cd5   Harvey Harrison   x86: use def_bool...
336
  	def_bool y
293e6a252   Glauber Costa   x86: mark x86_64 ...
337
  	depends on !M386
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
338
339
  
  config X86_INVLPG
96daa8cd5   Harvey Harrison   x86: use def_bool...
340
  	def_bool y
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
341
  	depends on X86_32 && !M386
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
342
343
  
  config X86_BSWAP
96daa8cd5   Harvey Harrison   x86: use def_bool...
344
  	def_bool y
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
345
  	depends on X86_32 && !M386
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
346
347
  
  config X86_POPAD_OK
96daa8cd5   Harvey Harrison   x86: use def_bool...
348
  	def_bool y
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
349
  	depends on X86_32 && !M386
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
350

96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
351
  config X86_ALIGNMENT_16
96daa8cd5   Harvey Harrison   x86: use def_bool...
352
  	def_bool y
69d45dd1c   Krzysztof Helt   x86: merge winchi...
353
  	depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
354

96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
355
  config X86_INTEL_USERCOPY
96daa8cd5   Harvey Harrison   x86: use def_bool...
356
  	def_bool y
c55d92d14   Andi Kleen   [PATCH] i386: Add...
357
  	depends on MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M586MMX || X86_GENERIC || MK8 || MK7 || MEFFICEON || MCORE2
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
358
359
  
  config X86_USE_PPRO_CHECKSUM
96daa8cd5   Harvey Harrison   x86: use def_bool...
360
  	def_bool y
366d19e18   Tobias Doerffel   x86: add specific...
361
  	depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2 || MEFFICEON || MGEODE_LX || MCORE2 || MATOM
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
362
363
  
  config X86_USE_3DNOW
96daa8cd5   Harvey Harrison   x86: use def_bool...
364
  	def_bool y
1b4ad242f   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: fix ...
365
  	depends on (MCYRIXIII || MK7 || MGEODE_LX) && !UML
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
366
367
  
  config X86_OOSTORE
96daa8cd5   Harvey Harrison   x86: use def_bool...
368
  	def_bool y
69d45dd1c   Krzysztof Helt   x86: merge winchi...
369
  	depends on (MWINCHIP3D || MWINCHIPC6) && MTRR
96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
370

959b3be64   H. Peter Anvin   x86: don't use P6...
371
372
373
374
  #
  # P6_NOPs are a relatively minor optimization that require a family >=
  # 6 processor, except that it is broken on certain VIA chips.
  # Furthermore, AMD chips prefer a totally different sequence of NOPs
14469a8dd   Linus Torvalds   x86: disable stat...
375
376
377
378
379
380
  # (which work on all CPUs).  In addition, it looks like Virtual PC
  # does not understand them.
  #
  # As a result, disallow these if we're not compiling for X86_64 (these
  # NOPs do work on all x86-64 capable chips); the list of processors in
  # the right-hand clause are the cores that benefit from this optimization.
959b3be64   H. Peter Anvin   x86: don't use P6...
381
  #
7343b3b3a   H. Peter Anvin   x86: require fami...
382
383
  config X86_P6_NOP
  	def_bool y
14469a8dd   Linus Torvalds   x86: disable stat...
384
385
  	depends on X86_64
  	depends on (MCORE2 || MPENTIUM4 || MPSC)
7343b3b3a   H. Peter Anvin   x86: require fami...
386

96d55b882   Paolo 'Blaisorblade' Giarrusso   [PATCH] uml: reus...
387
  config X86_TSC
96daa8cd5   Harvey Harrison   x86: use def_bool...
388
  	def_bool y
366d19e18   Tobias Doerffel   x86: add specific...
389
  	depends on ((MWINCHIP3D || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2 || MATOM) && !X86_NUMAQ) || X86_64
c7f81c945   Andi Kleen   [PATCH] i386: Ver...
390

f8096f92b   Jan Beulich   x86: separate cmp...
391
392
  config X86_CMPXCHG64
  	def_bool y
db677ffa5   Rusty Russell   Revert "x86: Side...
393
  	depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MATOM
f8096f92b   Jan Beulich   x86: separate cmp...
394

c7f81c945   Andi Kleen   [PATCH] i386: Ver...
395
396
397
  # this should be set for all -march=.. options where the compiler
  # generates cmov.
  config X86_CMOV
96daa8cd5   Harvey Harrison   x86: use def_bool...
398
  	def_bool y
98059e346   Matteo Croce   x86: AMD Geode LX...
399
  	depends on (MK8 || MK7 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON || X86_64 || MATOM || MGEODE_LX)
c7f81c945   Andi Kleen   [PATCH] i386: Ver...
400

de32e0417   H. Peter Anvin   x86 Kconfig: chan...
401
  config X86_MINIMUM_CPU_FAMILY
c7f81c945   Andi Kleen   [PATCH] i386: Ver...
402
  	int
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
403
  	default "64" if X86_64
7343b3b3a   H. Peter Anvin   x86: require fami...
404
  	default "6" if X86_32 && X86_P6_NOP
982d007a6   Linus Torvalds   x86: Optimize cmp...
405
  	default "5" if X86_32 && X86_CMPXCHG64
1032c0ba9   Sam Ravnborg   x86: arch/x86/Kco...
406
  	default "4" if X86_32 && (X86_XADD || X86_CMPXCHG || X86_BSWAP || X86_WP_WORKS_OK)
de32e0417   H. Peter Anvin   x86 Kconfig: chan...
407
  	default "3"
c7f81c945   Andi Kleen   [PATCH] i386: Ver...
408

0a049bb0a   Roland McGrath   x86: debugctlmsr ...
409
  config X86_DEBUGCTLMSR
96daa8cd5   Harvey Harrison   x86: use def_bool...
410
  	def_bool y
5641f1fde   Al Viro   X86_DEBUGCTLMSR w...
411
  	depends on !(MK6 || MWINCHIPC6 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486 || M386) && !UML
8d02c2110   Thomas Petazzoni   x86: configuratio...
412
413
  
  menuconfig PROCESSOR_SELECT
8d02c2110   Thomas Petazzoni   x86: configuratio...
414
  	bool "Supported processor vendors" if EMBEDDED
8f9ca475c   Ingo Molnar   x86: clean up arc...
415
  	---help---
8d02c2110   Thomas Petazzoni   x86: configuratio...
416
417
  	  This lets you choose what x86 vendor support code your kernel
  	  will include.
879d792b6   Yinghai Lu   x86: let intel 64...
418
  config CPU_SUP_INTEL
8d02c2110   Thomas Petazzoni   x86: configuratio...
419
420
  	default y
  	bool "Support Intel processors" if PROCESSOR_SELECT
8f9ca475c   Ingo Molnar   x86: clean up arc...
421
  	---help---
b7b3a4253   Ingo Molnar   x86: extend proce...
422
423
424
425
426
427
428
429
  	  This enables detection, tunings and quirks for Intel processors
  
  	  You need this enabled if you want your kernel to run on an
  	  Intel CPU. Disabling this option on other types of CPUs
  	  makes the kernel a tiny bit smaller. Disabling it on an Intel
  	  CPU might render the kernel unbootable.
  
  	  If unsure, say N.
8d02c2110   Thomas Petazzoni   x86: configuratio...
430
431
432
433
434
  
  config CPU_SUP_CYRIX_32
  	default y
  	bool "Support Cyrix processors" if PROCESSOR_SELECT
  	depends on !64BIT
8f9ca475c   Ingo Molnar   x86: clean up arc...
435
  	---help---
b7b3a4253   Ingo Molnar   x86: extend proce...
436
437
438
439
440
441
442
443
  	  This enables detection, tunings and quirks for Cyrix processors
  
  	  You need this enabled if you want your kernel to run on a
  	  Cyrix CPU. Disabling this option on other types of CPUs
  	  makes the kernel a tiny bit smaller. Disabling it on a Cyrix
  	  CPU might render the kernel unbootable.
  
  	  If unsure, say N.
8d02c2110   Thomas Petazzoni   x86: configuratio...
444

ff73152ce   Yinghai Lu   x86: make 64 bit ...
445
  config CPU_SUP_AMD
8d02c2110   Thomas Petazzoni   x86: configuratio...
446
447
  	default y
  	bool "Support AMD processors" if PROCESSOR_SELECT
8f9ca475c   Ingo Molnar   x86: clean up arc...
448
  	---help---
b7b3a4253   Ingo Molnar   x86: extend proce...
449
450
451
452
453
454
455
456
  	  This enables detection, tunings and quirks for AMD processors
  
  	  You need this enabled if you want your kernel to run on an
  	  AMD CPU. Disabling this option on other types of CPUs
  	  makes the kernel a tiny bit smaller. Disabling it on an AMD
  	  CPU might render the kernel unbootable.
  
  	  If unsure, say N.
8d02c2110   Thomas Petazzoni   x86: configuratio...
457

48f4c485c   Sebastian Andrzej Siewior   x86/centaur: merg...
458
  config CPU_SUP_CENTAUR
8d02c2110   Thomas Petazzoni   x86: configuratio...
459
460
  	default y
  	bool "Support Centaur processors" if PROCESSOR_SELECT
8f9ca475c   Ingo Molnar   x86: clean up arc...
461
  	---help---
b7b3a4253   Ingo Molnar   x86: extend proce...
462
463
464
465
466
467
468
469
  	  This enables detection, tunings and quirks for Centaur processors
  
  	  You need this enabled if you want your kernel to run on a
  	  Centaur CPU. Disabling this option on other types of CPUs
  	  makes the kernel a tiny bit smaller. Disabling it on a Centaur
  	  CPU might render the kernel unbootable.
  
  	  If unsure, say N.
8d02c2110   Thomas Petazzoni   x86: configuratio...
470
471
472
473
474
  
  config CPU_SUP_TRANSMETA_32
  	default y
  	bool "Support Transmeta processors" if PROCESSOR_SELECT
  	depends on !64BIT
8f9ca475c   Ingo Molnar   x86: clean up arc...
475
  	---help---
b7b3a4253   Ingo Molnar   x86: extend proce...
476
477
478
479
480
481
482
483
  	  This enables detection, tunings and quirks for Transmeta processors
  
  	  You need this enabled if you want your kernel to run on a
  	  Transmeta CPU. Disabling this option on other types of CPUs
  	  makes the kernel a tiny bit smaller. Disabling it on a Transmeta
  	  CPU might render the kernel unbootable.
  
  	  If unsure, say N.
8d02c2110   Thomas Petazzoni   x86: configuratio...
484
485
486
487
488
  
  config CPU_SUP_UMC_32
  	default y
  	bool "Support UMC processors" if PROCESSOR_SELECT
  	depends on !64BIT
8f9ca475c   Ingo Molnar   x86: clean up arc...
489
  	---help---
b7b3a4253   Ingo Molnar   x86: extend proce...
490
491
492
493
494
495
496
497
  	  This enables detection, tunings and quirks for UMC processors
  
  	  You need this enabled if you want your kernel to run on a
  	  UMC CPU. Disabling this option on other types of CPUs
  	  makes the kernel a tiny bit smaller. Disabling it on a UMC
  	  CPU might render the kernel unbootable.
  
  	  If unsure, say N.