.. | .. |
---|
4 | 4 | prompt "Processor family" |
---|
5 | 5 | default M686 if X86_32 |
---|
6 | 6 | default GENERIC_CPU if X86_64 |
---|
7 | | - ---help--- |
---|
| 7 | + help |
---|
8 | 8 | This is the processor type of your CPU. This information is |
---|
9 | 9 | used for optimizing purposes. In order to compile a kernel |
---|
10 | 10 | that can run on all supported x86 CPU types (albeit not |
---|
.. | .. |
---|
50 | 50 | See each option's help text for additional details. If you don't know |
---|
51 | 51 | what to do, choose "486". |
---|
52 | 52 | |
---|
53 | | -config M486 |
---|
54 | | - bool "486" |
---|
| 53 | +config M486SX |
---|
| 54 | + bool "486SX" |
---|
55 | 55 | depends on X86_32 |
---|
56 | | - ---help--- |
---|
| 56 | + help |
---|
| 57 | + Select this for an 486-class CPU without an FPU such as |
---|
| 58 | + AMD/Cyrix/IBM/Intel SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5S. |
---|
| 59 | + |
---|
| 60 | +config M486 |
---|
| 61 | + bool "486DX" |
---|
| 62 | + depends on X86_32 |
---|
| 63 | + help |
---|
57 | 64 | Select this for an 486-class CPU such as AMD/Cyrix/IBM/Intel |
---|
58 | | - 486DX/DX2/DX4 or SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S. |
---|
| 65 | + 486DX/DX2/DX4 and UMC U5D. |
---|
59 | 66 | |
---|
60 | 67 | config M586 |
---|
61 | 68 | bool "586/K5/5x86/6x86/6x86MX" |
---|
62 | 69 | depends on X86_32 |
---|
63 | | - ---help--- |
---|
| 70 | + help |
---|
64 | 71 | Select this for an 586 or 686 series processor such as the AMD K5, |
---|
65 | 72 | the Cyrix 5x86, 6x86 and 6x86MX. This choice does not |
---|
66 | 73 | assume the RDTSC (Read Time Stamp Counter) instruction. |
---|
.. | .. |
---|
68 | 75 | config M586TSC |
---|
69 | 76 | bool "Pentium-Classic" |
---|
70 | 77 | depends on X86_32 |
---|
71 | | - ---help--- |
---|
| 78 | + help |
---|
72 | 79 | Select this for a Pentium Classic processor with the RDTSC (Read |
---|
73 | 80 | Time Stamp Counter) instruction for benchmarking. |
---|
74 | 81 | |
---|
75 | 82 | config M586MMX |
---|
76 | 83 | bool "Pentium-MMX" |
---|
77 | 84 | depends on X86_32 |
---|
78 | | - ---help--- |
---|
| 85 | + help |
---|
79 | 86 | Select this for a Pentium with the MMX graphics/multimedia |
---|
80 | 87 | extended instructions. |
---|
81 | 88 | |
---|
82 | 89 | config M686 |
---|
83 | 90 | bool "Pentium-Pro" |
---|
84 | 91 | depends on X86_32 |
---|
85 | | - ---help--- |
---|
| 92 | + help |
---|
86 | 93 | Select this for Intel Pentium Pro chips. This enables the use of |
---|
87 | 94 | Pentium Pro extended instructions, and disables the init-time guard |
---|
88 | 95 | against the f00f bug found in earlier Pentiums. |
---|
.. | .. |
---|
90 | 97 | config MPENTIUMII |
---|
91 | 98 | bool "Pentium-II/Celeron(pre-Coppermine)" |
---|
92 | 99 | depends on X86_32 |
---|
93 | | - ---help--- |
---|
| 100 | + help |
---|
94 | 101 | Select this for Intel chips based on the Pentium-II and |
---|
95 | 102 | pre-Coppermine Celeron core. This option enables an unaligned |
---|
96 | 103 | copy optimization, compiles the kernel with optimization flags |
---|
.. | .. |
---|
100 | 107 | config MPENTIUMIII |
---|
101 | 108 | bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon" |
---|
102 | 109 | depends on X86_32 |
---|
103 | | - ---help--- |
---|
| 110 | + help |
---|
104 | 111 | Select this for Intel chips based on the Pentium-III and |
---|
105 | 112 | Celeron-Coppermine core. This option enables use of some |
---|
106 | 113 | extended prefetch instructions in addition to the Pentium II |
---|
.. | .. |
---|
109 | 116 | config MPENTIUMM |
---|
110 | 117 | bool "Pentium M" |
---|
111 | 118 | depends on X86_32 |
---|
112 | | - ---help--- |
---|
| 119 | + help |
---|
113 | 120 | Select this for Intel Pentium M (not Pentium-4 M) |
---|
114 | 121 | notebook chips. |
---|
115 | 122 | |
---|
116 | 123 | config MPENTIUM4 |
---|
117 | 124 | bool "Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon" |
---|
118 | 125 | depends on X86_32 |
---|
119 | | - ---help--- |
---|
| 126 | + help |
---|
120 | 127 | Select this for Intel Pentium 4 chips. This includes the |
---|
121 | 128 | Pentium 4, Pentium D, P4-based Celeron and Xeon, and |
---|
122 | 129 | Pentium-4 M (not Pentium M) chips. This option enables compile |
---|
.. | .. |
---|
152 | 159 | config MK6 |
---|
153 | 160 | bool "K6/K6-II/K6-III" |
---|
154 | 161 | depends on X86_32 |
---|
155 | | - ---help--- |
---|
| 162 | + help |
---|
156 | 163 | Select this for an AMD K6-family processor. Enables use of |
---|
157 | 164 | some extended instructions, and passes appropriate optimization |
---|
158 | 165 | flags to GCC. |
---|
.. | .. |
---|
160 | 167 | config MK7 |
---|
161 | 168 | bool "Athlon/Duron/K7" |
---|
162 | 169 | depends on X86_32 |
---|
163 | | - ---help--- |
---|
| 170 | + help |
---|
164 | 171 | Select this for an AMD Athlon K7-family processor. Enables use of |
---|
165 | 172 | some extended instructions, and passes appropriate optimization |
---|
166 | 173 | flags to GCC. |
---|
167 | 174 | |
---|
168 | 175 | config MK8 |
---|
169 | 176 | bool "Opteron/Athlon64/Hammer/K8" |
---|
170 | | - ---help--- |
---|
| 177 | + help |
---|
171 | 178 | Select this for an AMD Opteron or Athlon64 Hammer-family processor. |
---|
172 | 179 | Enables use of some extended instructions, and passes appropriate |
---|
173 | 180 | optimization flags to GCC. |
---|
.. | .. |
---|
175 | 182 | config MCRUSOE |
---|
176 | 183 | bool "Crusoe" |
---|
177 | 184 | depends on X86_32 |
---|
178 | | - ---help--- |
---|
| 185 | + help |
---|
179 | 186 | Select this for a Transmeta Crusoe processor. Treats the processor |
---|
180 | 187 | like a 586 with TSC, and sets some GCC optimization flags (like a |
---|
181 | 188 | Pentium Pro with no alignment requirements). |
---|
.. | .. |
---|
183 | 190 | config MEFFICEON |
---|
184 | 191 | bool "Efficeon" |
---|
185 | 192 | depends on X86_32 |
---|
186 | | - ---help--- |
---|
| 193 | + help |
---|
187 | 194 | Select this for a Transmeta Efficeon processor. |
---|
188 | 195 | |
---|
189 | 196 | config MWINCHIPC6 |
---|
190 | 197 | bool "Winchip-C6" |
---|
191 | 198 | depends on X86_32 |
---|
192 | | - ---help--- |
---|
| 199 | + help |
---|
193 | 200 | Select this for an IDT Winchip C6 chip. Linux and GCC |
---|
194 | 201 | treat this chip as a 586TSC with some extended instructions |
---|
195 | 202 | and alignment requirements. |
---|
.. | .. |
---|
197 | 204 | config MWINCHIP3D |
---|
198 | 205 | bool "Winchip-2/Winchip-2A/Winchip-3" |
---|
199 | 206 | depends on X86_32 |
---|
200 | | - ---help--- |
---|
| 207 | + help |
---|
201 | 208 | Select this for an IDT Winchip-2, 2A or 3. Linux and GCC |
---|
202 | 209 | treat this chip as a 586TSC with some extended instructions |
---|
203 | 210 | and alignment requirements. Also enable out of order memory |
---|
.. | .. |
---|
207 | 214 | config MELAN |
---|
208 | 215 | bool "AMD Elan" |
---|
209 | 216 | depends on X86_32 |
---|
210 | | - ---help--- |
---|
| 217 | + help |
---|
211 | 218 | Select this for an AMD Elan processor. |
---|
212 | 219 | |
---|
213 | 220 | Do not use this option for K6/Athlon/Opteron processors! |
---|
.. | .. |
---|
215 | 222 | config MGEODEGX1 |
---|
216 | 223 | bool "GeodeGX1" |
---|
217 | 224 | depends on X86_32 |
---|
218 | | - ---help--- |
---|
| 225 | + help |
---|
219 | 226 | Select this for a Geode GX1 (Cyrix MediaGX) chip. |
---|
220 | 227 | |
---|
221 | 228 | config MGEODE_LX |
---|
222 | 229 | bool "Geode GX/LX" |
---|
223 | 230 | depends on X86_32 |
---|
224 | | - ---help--- |
---|
| 231 | + help |
---|
225 | 232 | Select this for AMD Geode GX and LX processors. |
---|
226 | 233 | |
---|
227 | 234 | config MCYRIXIII |
---|
228 | 235 | bool "CyrixIII/VIA-C3" |
---|
229 | 236 | depends on X86_32 |
---|
230 | | - ---help--- |
---|
| 237 | + help |
---|
231 | 238 | Select this for a Cyrix III or C3 chip. Presently Linux and GCC |
---|
232 | 239 | treat this chip as a generic 586. Whilst the CPU is 686 class, |
---|
233 | 240 | it lacks the cmov extension which gcc assumes is present when |
---|
.. | .. |
---|
239 | 246 | config MVIAC3_2 |
---|
240 | 247 | bool "VIA C3-2 (Nehemiah)" |
---|
241 | 248 | depends on X86_32 |
---|
242 | | - ---help--- |
---|
| 249 | + help |
---|
243 | 250 | Select this for a VIA C3 "Nehemiah". Selecting this enables usage |
---|
244 | 251 | of SSE and tells gcc to treat the CPU as a 686. |
---|
245 | 252 | Note, this kernel will not boot on older (pre model 9) C3s. |
---|
.. | .. |
---|
247 | 254 | config MVIAC7 |
---|
248 | 255 | bool "VIA C7" |
---|
249 | 256 | depends on X86_32 |
---|
250 | | - ---help--- |
---|
| 257 | + help |
---|
251 | 258 | Select this for a VIA C7. Selecting this uses the correct cache |
---|
252 | 259 | shift and tells gcc to treat the CPU as a 686. |
---|
253 | 260 | |
---|
254 | 261 | config MPSC |
---|
255 | 262 | bool "Intel P4 / older Netburst based Xeon" |
---|
256 | 263 | depends on X86_64 |
---|
257 | | - ---help--- |
---|
| 264 | + help |
---|
258 | 265 | Optimize for Intel Pentium 4, Pentium D and older Nocona/Dempsey |
---|
259 | 266 | Xeon CPUs with Intel 64bit which is compatible with x86-64. |
---|
260 | 267 | Note that the latest Xeons (Xeon 51xx and 53xx) are not based on the |
---|
.. | .. |
---|
264 | 271 | |
---|
265 | 272 | config MCORE2 |
---|
266 | 273 | bool "Core 2/newer Xeon" |
---|
267 | | - ---help--- |
---|
| 274 | + help |
---|
268 | 275 | |
---|
269 | 276 | Select this for Intel Core 2 and newer Core 2 Xeons (Xeon 51xx and |
---|
270 | 277 | 53xx) CPUs. You can distinguish newer from older Xeons by the CPU |
---|
.. | .. |
---|
273 | 280 | |
---|
274 | 281 | config MATOM |
---|
275 | 282 | bool "Intel Atom" |
---|
276 | | - ---help--- |
---|
| 283 | + help |
---|
277 | 284 | |
---|
278 | 285 | Select this for the Intel Atom platform. Intel Atom CPUs have an |
---|
279 | 286 | in-order pipelining architecture and thus can benefit from |
---|
.. | .. |
---|
283 | 290 | config GENERIC_CPU |
---|
284 | 291 | bool "Generic-x86-64" |
---|
285 | 292 | depends on X86_64 |
---|
286 | | - ---help--- |
---|
| 293 | + help |
---|
287 | 294 | Generic x86-64 CPU. |
---|
288 | 295 | Run equally well on all x86-64 CPUs. |
---|
289 | 296 | |
---|
.. | .. |
---|
292 | 299 | config X86_GENERIC |
---|
293 | 300 | bool "Generic x86 support" |
---|
294 | 301 | depends on X86_32 |
---|
295 | | - ---help--- |
---|
| 302 | + help |
---|
296 | 303 | Instead of just including optimizations for the selected |
---|
297 | 304 | x86 variant (e.g. PII, Crusoe or Athlon), include some more |
---|
298 | 305 | generic optimizations as well. This will make the kernel |
---|
.. | .. |
---|
312 | 319 | int |
---|
313 | 320 | default "7" if MPENTIUM4 || MPSC |
---|
314 | 321 | default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 || MATOM || MVIAC7 || X86_GENERIC || GENERIC_CPU |
---|
315 | | - default "4" if MELAN || M486 || MGEODEGX1 |
---|
| 322 | + default "4" if MELAN || M486SX || M486 || MGEODEGX1 |
---|
316 | 323 | default "5" if MWINCHIP3D || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX |
---|
317 | 324 | |
---|
318 | 325 | config X86_F00F_BUG |
---|
319 | 326 | def_bool y |
---|
320 | | - depends on M586MMX || M586TSC || M586 || M486 |
---|
| 327 | + depends on M586MMX || M586TSC || M586 || M486SX || M486 |
---|
321 | 328 | |
---|
322 | 329 | config X86_INVD_BUG |
---|
323 | 330 | def_bool y |
---|
324 | | - depends on M486 |
---|
| 331 | + depends on M486SX || M486 |
---|
325 | 332 | |
---|
326 | 333 | config X86_ALIGNMENT_16 |
---|
327 | 334 | def_bool y |
---|
328 | | - depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1 |
---|
| 335 | + depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MELAN || MK6 || M586MMX || M586TSC || M586 || M486SX || M486 || MVIAC3_2 || MGEODEGX1 |
---|
329 | 336 | |
---|
330 | 337 | config X86_INTEL_USERCOPY |
---|
331 | 338 | def_bool y |
---|
.. | .. |
---|
378 | 385 | |
---|
379 | 386 | config X86_DEBUGCTLMSR |
---|
380 | 387 | def_bool y |
---|
381 | | - depends on !(MK6 || MWINCHIPC6 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486) && !UML |
---|
| 388 | + depends on !(MK6 || MWINCHIPC6 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486SX || M486) && !UML |
---|
| 389 | + |
---|
| 390 | +config IA32_FEAT_CTL |
---|
| 391 | + def_bool y |
---|
| 392 | + depends on CPU_SUP_INTEL || CPU_SUP_CENTAUR || CPU_SUP_ZHAOXIN |
---|
| 393 | + |
---|
| 394 | +config X86_VMX_FEATURE_NAMES |
---|
| 395 | + def_bool y |
---|
| 396 | + depends on IA32_FEAT_CTL && X86_FEATURE_NAMES |
---|
382 | 397 | |
---|
383 | 398 | menuconfig PROCESSOR_SELECT |
---|
384 | 399 | bool "Supported processor vendors" if EXPERT |
---|
385 | | - ---help--- |
---|
| 400 | + help |
---|
386 | 401 | This lets you choose what x86 vendor support code your kernel |
---|
387 | 402 | will include. |
---|
388 | 403 | |
---|
389 | 404 | config CPU_SUP_INTEL |
---|
390 | 405 | default y |
---|
391 | 406 | bool "Support Intel processors" if PROCESSOR_SELECT |
---|
392 | | - ---help--- |
---|
| 407 | + help |
---|
393 | 408 | This enables detection, tunings and quirks for Intel processors |
---|
394 | 409 | |
---|
395 | 410 | You need this enabled if you want your kernel to run on an |
---|
.. | .. |
---|
402 | 417 | config CPU_SUP_CYRIX_32 |
---|
403 | 418 | default y |
---|
404 | 419 | bool "Support Cyrix processors" if PROCESSOR_SELECT |
---|
405 | | - depends on M486 || M586 || M586TSC || M586MMX || (EXPERT && !64BIT) |
---|
406 | | - ---help--- |
---|
| 420 | + depends on M486SX || M486 || M586 || M586TSC || M586MMX || (EXPERT && !64BIT) |
---|
| 421 | + help |
---|
407 | 422 | This enables detection, tunings and quirks for Cyrix processors |
---|
408 | 423 | |
---|
409 | 424 | You need this enabled if you want your kernel to run on a |
---|
.. | .. |
---|
416 | 431 | config CPU_SUP_AMD |
---|
417 | 432 | default y |
---|
418 | 433 | bool "Support AMD processors" if PROCESSOR_SELECT |
---|
419 | | - ---help--- |
---|
| 434 | + help |
---|
420 | 435 | This enables detection, tunings and quirks for AMD processors |
---|
421 | 436 | |
---|
422 | 437 | You need this enabled if you want your kernel to run on an |
---|
.. | .. |
---|
426 | 441 | |
---|
427 | 442 | If unsure, say N. |
---|
428 | 443 | |
---|
| 444 | +config CPU_SUP_HYGON |
---|
| 445 | + default y |
---|
| 446 | + bool "Support Hygon processors" if PROCESSOR_SELECT |
---|
| 447 | + select CPU_SUP_AMD |
---|
| 448 | + help |
---|
| 449 | + This enables detection, tunings and quirks for Hygon processors |
---|
| 450 | + |
---|
| 451 | + You need this enabled if you want your kernel to run on an |
---|
| 452 | + Hygon CPU. Disabling this option on other types of CPUs |
---|
| 453 | + makes the kernel a tiny bit smaller. Disabling it on an Hygon |
---|
| 454 | + CPU might render the kernel unbootable. |
---|
| 455 | + |
---|
| 456 | + If unsure, say N. |
---|
| 457 | + |
---|
429 | 458 | config CPU_SUP_CENTAUR |
---|
430 | 459 | default y |
---|
431 | 460 | bool "Support Centaur processors" if PROCESSOR_SELECT |
---|
432 | | - ---help--- |
---|
| 461 | + help |
---|
433 | 462 | This enables detection, tunings and quirks for Centaur processors |
---|
434 | 463 | |
---|
435 | 464 | You need this enabled if you want your kernel to run on a |
---|
.. | .. |
---|
443 | 472 | default y |
---|
444 | 473 | bool "Support Transmeta processors" if PROCESSOR_SELECT |
---|
445 | 474 | depends on !64BIT |
---|
446 | | - ---help--- |
---|
| 475 | + help |
---|
447 | 476 | This enables detection, tunings and quirks for Transmeta processors |
---|
448 | 477 | |
---|
449 | 478 | You need this enabled if you want your kernel to run on a |
---|
.. | .. |
---|
456 | 485 | config CPU_SUP_UMC_32 |
---|
457 | 486 | default y |
---|
458 | 487 | bool "Support UMC processors" if PROCESSOR_SELECT |
---|
459 | | - depends on M486 || (EXPERT && !64BIT) |
---|
460 | | - ---help--- |
---|
| 488 | + depends on M486SX || M486 || (EXPERT && !64BIT) |
---|
| 489 | + help |
---|
461 | 490 | This enables detection, tunings and quirks for UMC processors |
---|
462 | 491 | |
---|
463 | 492 | You need this enabled if you want your kernel to run on a |
---|
.. | .. |
---|
466 | 495 | CPU might render the kernel unbootable. |
---|
467 | 496 | |
---|
468 | 497 | If unsure, say N. |
---|
| 498 | + |
---|
| 499 | +config CPU_SUP_ZHAOXIN |
---|
| 500 | + default y |
---|
| 501 | + bool "Support Zhaoxin processors" if PROCESSOR_SELECT |
---|
| 502 | + help |
---|
| 503 | + This enables detection, tunings and quirks for Zhaoxin processors |
---|
| 504 | + |
---|
| 505 | + You need this enabled if you want your kernel to run on a |
---|
| 506 | + Zhaoxin CPU. Disabling this option on other types of CPUs |
---|
| 507 | + makes the kernel a tiny bit smaller. Disabling it on a Zhaoxin |
---|
| 508 | + CPU might render the kernel unbootable. |
---|
| 509 | + |
---|
| 510 | + If unsure, say N. |
---|