diff options
Diffstat (limited to 'arch/x86/Kconfig.cpu')
-rw-r--r-- | arch/x86/Kconfig.cpu | 149 |
1 files changed, 130 insertions, 19 deletions
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu index b225219c448c..0b7c4a3f0651 100644 --- a/arch/x86/Kconfig.cpu +++ b/arch/x86/Kconfig.cpu | |||
@@ -38,8 +38,7 @@ config M386 | |||
38 | - "Crusoe" for the Transmeta Crusoe series. | 38 | - "Crusoe" for the Transmeta Crusoe series. |
39 | - "Efficeon" for the Transmeta Efficeon series. | 39 | - "Efficeon" for the Transmeta Efficeon series. |
40 | - "Winchip-C6" for original IDT Winchip. | 40 | - "Winchip-C6" for original IDT Winchip. |
41 | - "Winchip-2" for IDT Winchip 2. | 41 | - "Winchip-2" for IDT Winchips with 3dNow! capabilities. |
42 | - "Winchip-2A" for IDT Winchips with 3dNow! capabilities. | ||
43 | - "GeodeGX1" for Geode GX1 (Cyrix MediaGX). | 42 | - "GeodeGX1" for Geode GX1 (Cyrix MediaGX). |
44 | - "Geode GX/LX" For AMD Geode GX and LX processors. | 43 | - "Geode GX/LX" For AMD Geode GX and LX processors. |
45 | - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3. | 44 | - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3. |
@@ -194,19 +193,11 @@ config MWINCHIPC6 | |||
194 | treat this chip as a 586TSC with some extended instructions | 193 | treat this chip as a 586TSC with some extended instructions |
195 | and alignment requirements. | 194 | and alignment requirements. |
196 | 195 | ||
197 | config MWINCHIP2 | ||
198 | bool "Winchip-2" | ||
199 | depends on X86_32 | ||
200 | help | ||
201 | Select this for an IDT Winchip-2. Linux and GCC | ||
202 | treat this chip as a 586TSC with some extended instructions | ||
203 | and alignment requirements. | ||
204 | |||
205 | config MWINCHIP3D | 196 | config MWINCHIP3D |
206 | bool "Winchip-2A/Winchip-3" | 197 | bool "Winchip-2/Winchip-2A/Winchip-3" |
207 | depends on X86_32 | 198 | depends on X86_32 |
208 | help | 199 | help |
209 | Select this for an IDT Winchip-2A or 3. Linux and GCC | 200 | Select this for an IDT Winchip-2, 2A or 3. Linux and GCC |
210 | treat this chip as a 586TSC with some extended instructions | 201 | treat this chip as a 586TSC with some extended instructions |
211 | and alignment requirements. Also enable out of order memory | 202 | and alignment requirements. Also enable out of order memory |
212 | stores for this CPU, which can increase performance of some | 203 | stores for this CPU, which can increase performance of some |
@@ -318,7 +309,7 @@ config X86_L1_CACHE_SHIFT | |||
318 | int | 309 | int |
319 | default "7" if MPENTIUM4 || X86_GENERIC || GENERIC_CPU || MPSC | 310 | default "7" if MPENTIUM4 || X86_GENERIC || GENERIC_CPU || MPSC |
320 | default "4" if X86_ELAN || M486 || M386 || MGEODEGX1 | 311 | default "4" if X86_ELAN || M486 || M386 || MGEODEGX1 |
321 | default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX | 312 | default "5" if MWINCHIP3D || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX |
322 | default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 || MVIAC7 | 313 | default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 || MVIAC7 |
323 | 314 | ||
324 | config X86_XADD | 315 | config X86_XADD |
@@ -360,7 +351,7 @@ config X86_POPAD_OK | |||
360 | 351 | ||
361 | config X86_ALIGNMENT_16 | 352 | config X86_ALIGNMENT_16 |
362 | def_bool y | 353 | def_bool y |
363 | depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1 | 354 | depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1 |
364 | 355 | ||
365 | config X86_INTEL_USERCOPY | 356 | config X86_INTEL_USERCOPY |
366 | def_bool y | 357 | def_bool y |
@@ -368,7 +359,7 @@ config X86_INTEL_USERCOPY | |||
368 | 359 | ||
369 | config X86_USE_PPRO_CHECKSUM | 360 | config X86_USE_PPRO_CHECKSUM |
370 | def_bool y | 361 | def_bool y |
371 | depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2 || MEFFICEON || MGEODE_LX || MCORE2 | 362 | depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2 || MEFFICEON || MGEODE_LX || MCORE2 |
372 | 363 | ||
373 | config X86_USE_3DNOW | 364 | config X86_USE_3DNOW |
374 | def_bool y | 365 | def_bool y |
@@ -376,7 +367,7 @@ config X86_USE_3DNOW | |||
376 | 367 | ||
377 | config X86_OOSTORE | 368 | config X86_OOSTORE |
378 | def_bool y | 369 | def_bool y |
379 | depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6) && MTRR | 370 | depends on (MWINCHIP3D || MWINCHIPC6) && MTRR |
380 | 371 | ||
381 | # | 372 | # |
382 | # P6_NOPs are a relatively minor optimization that require a family >= | 373 | # P6_NOPs are a relatively minor optimization that require a family >= |
@@ -396,7 +387,7 @@ config X86_P6_NOP | |||
396 | 387 | ||
397 | config X86_TSC | 388 | config X86_TSC |
398 | def_bool y | 389 | def_bool y |
399 | depends on ((MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2) && !X86_NUMAQ) || X86_64 | 390 | depends on ((MWINCHIP3D || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2) && !X86_NUMAQ) || X86_64 |
400 | 391 | ||
401 | config X86_CMPXCHG64 | 392 | config X86_CMPXCHG64 |
402 | def_bool y | 393 | def_bool y |
@@ -406,7 +397,7 @@ config X86_CMPXCHG64 | |||
406 | # generates cmov. | 397 | # generates cmov. |
407 | config X86_CMOV | 398 | config X86_CMOV |
408 | def_bool y | 399 | def_bool y |
409 | depends on (MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || X86_64) | 400 | depends on (MK8 || MK7 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON || X86_64) |
410 | 401 | ||
411 | config X86_MINIMUM_CPU_FAMILY | 402 | config X86_MINIMUM_CPU_FAMILY |
412 | int | 403 | int |
@@ -417,4 +408,124 @@ config X86_MINIMUM_CPU_FAMILY | |||
417 | 408 | ||
418 | config X86_DEBUGCTLMSR | 409 | config X86_DEBUGCTLMSR |
419 | def_bool y | 410 | def_bool y |
420 | depends on !(MK6 || MWINCHIPC6 || MWINCHIP2 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486 || M386) | 411 | depends on !(MK6 || MWINCHIPC6 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486 || M386) |
412 | |||
413 | menuconfig PROCESSOR_SELECT | ||
414 | bool "Supported processor vendors" if EMBEDDED | ||
415 | help | ||
416 | This lets you choose what x86 vendor support code your kernel | ||
417 | will include. | ||
418 | |||
419 | config CPU_SUP_INTEL | ||
420 | default y | ||
421 | bool "Support Intel processors" if PROCESSOR_SELECT | ||
422 | help | ||
423 | This enables detection, tunings and quirks for Intel processors | ||
424 | |||
425 | You need this enabled if you want your kernel to run on an | ||
426 | Intel CPU. Disabling this option on other types of CPUs | ||
427 | makes the kernel a tiny bit smaller. Disabling it on an Intel | ||
428 | CPU might render the kernel unbootable. | ||
429 | |||
430 | If unsure, say N. | ||
431 | |||
432 | config CPU_SUP_CYRIX_32 | ||
433 | default y | ||
434 | bool "Support Cyrix processors" if PROCESSOR_SELECT | ||
435 | depends on !64BIT | ||
436 | help | ||
437 | This enables detection, tunings and quirks for Cyrix processors | ||
438 | |||
439 | You need this enabled if you want your kernel to run on a | ||
440 | Cyrix CPU. Disabling this option on other types of CPUs | ||
441 | makes the kernel a tiny bit smaller. Disabling it on a Cyrix | ||
442 | CPU might render the kernel unbootable. | ||
443 | |||
444 | If unsure, say N. | ||
445 | |||
446 | config CPU_SUP_AMD | ||
447 | default y | ||
448 | bool "Support AMD processors" if PROCESSOR_SELECT | ||
449 | help | ||
450 | This enables detection, tunings and quirks for AMD processors | ||
451 | |||
452 | You need this enabled if you want your kernel to run on an | ||
453 | AMD CPU. Disabling this option on other types of CPUs | ||
454 | makes the kernel a tiny bit smaller. Disabling it on an AMD | ||
455 | CPU might render the kernel unbootable. | ||
456 | |||
457 | If unsure, say N. | ||
458 | |||
459 | config CPU_SUP_CENTAUR_32 | ||
460 | default y | ||
461 | bool "Support Centaur processors" if PROCESSOR_SELECT | ||
462 | depends on !64BIT | ||
463 | help | ||
464 | This enables detection, tunings and quirks for Centaur processors | ||
465 | |||
466 | You need this enabled if you want your kernel to run on a | ||
467 | Centaur CPU. Disabling this option on other types of CPUs | ||
468 | makes the kernel a tiny bit smaller. Disabling it on a Centaur | ||
469 | CPU might render the kernel unbootable. | ||
470 | |||
471 | If unsure, say N. | ||
472 | |||
473 | config CPU_SUP_CENTAUR_64 | ||
474 | default y | ||
475 | bool "Support Centaur processors" if PROCESSOR_SELECT | ||
476 | depends on 64BIT | ||
477 | help | ||
478 | This enables detection, tunings and quirks for Centaur processors | ||
479 | |||
480 | You need this enabled if you want your kernel to run on a | ||
481 | Centaur CPU. Disabling this option on other types of CPUs | ||
482 | makes the kernel a tiny bit smaller. Disabling it on a Centaur | ||
483 | CPU might render the kernel unbootable. | ||
484 | |||
485 | If unsure, say N. | ||
486 | |||
487 | config CPU_SUP_TRANSMETA_32 | ||
488 | default y | ||
489 | bool "Support Transmeta processors" if PROCESSOR_SELECT | ||
490 | depends on !64BIT | ||
491 | help | ||
492 | This enables detection, tunings and quirks for Transmeta processors | ||
493 | |||
494 | You need this enabled if you want your kernel to run on a | ||
495 | Transmeta CPU. Disabling this option on other types of CPUs | ||
496 | makes the kernel a tiny bit smaller. Disabling it on a Transmeta | ||
497 | CPU might render the kernel unbootable. | ||
498 | |||
499 | If unsure, say N. | ||
500 | |||
501 | config CPU_SUP_UMC_32 | ||
502 | default y | ||
503 | bool "Support UMC processors" if PROCESSOR_SELECT | ||
504 | depends on !64BIT | ||
505 | help | ||
506 | This enables detection, tunings and quirks for UMC processors | ||
507 | |||
508 | You need this enabled if you want your kernel to run on a | ||
509 | UMC CPU. Disabling this option on other types of CPUs | ||
510 | makes the kernel a tiny bit smaller. Disabling it on a UMC | ||
511 | CPU might render the kernel unbootable. | ||
512 | |||
513 | If unsure, say N. | ||
514 | |||
515 | config X86_DS | ||
516 | bool "Debug Store support" | ||
517 | default y | ||
518 | help | ||
519 | Add support for Debug Store. | ||
520 | This allows the kernel to provide a memory buffer to the hardware | ||
521 | to store various profiling and tracing events. | ||
522 | |||
523 | config X86_PTRACE_BTS | ||
524 | bool "ptrace interface to Branch Trace Store" | ||
525 | default y | ||
526 | depends on (X86_DS && X86_DEBUGCTLMSR) | ||
527 | help | ||
528 | Add a ptrace interface to allow collecting an execution trace | ||
529 | of the traced task. | ||
530 | This collects control flow changes in a (cyclic) buffer and allows | ||
531 | debuggers to fill in the gaps and show an execution trace of the debuggee. | ||