diff options
| -rw-r--r-- | arch/x86/Kconfig | 6 | ||||
| -rw-r--r-- | arch/x86/Kconfig.cpu | 58 | ||||
| -rw-r--r-- | arch/x86/Makefile_32.cpu | 1 | ||||
| -rw-r--r-- | arch/x86/include/asm/module.h | 2 | ||||
| -rw-r--r-- | arch/x86/include/asm/processor.h | 2 |
5 files changed, 27 insertions, 42 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 46c3bff3ced2..a1a662721f80 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
| @@ -69,8 +69,8 @@ config X86 | |||
| 69 | select HAVE_PERF_USER_STACK_DUMP | 69 | select HAVE_PERF_USER_STACK_DUMP |
| 70 | select HAVE_DEBUG_KMEMLEAK | 70 | select HAVE_DEBUG_KMEMLEAK |
| 71 | select ANON_INODES | 71 | select ANON_INODES |
| 72 | select HAVE_ALIGNED_STRUCT_PAGE if SLUB && !M386 | 72 | select HAVE_ALIGNED_STRUCT_PAGE if SLUB |
| 73 | select HAVE_CMPXCHG_LOCAL if !M386 | 73 | select HAVE_CMPXCHG_LOCAL |
| 74 | select HAVE_CMPXCHG_DOUBLE | 74 | select HAVE_CMPXCHG_DOUBLE |
| 75 | select HAVE_ARCH_KMEMCHECK | 75 | select HAVE_ARCH_KMEMCHECK |
| 76 | select HAVE_USER_RETURN_NOTIFIER | 76 | select HAVE_USER_RETURN_NOTIFIER |
| @@ -1100,7 +1100,7 @@ config HIGHMEM4G | |||
| 1100 | 1100 | ||
| 1101 | config HIGHMEM64G | 1101 | config HIGHMEM64G |
| 1102 | bool "64GB" | 1102 | bool "64GB" |
| 1103 | depends on !M386 && !M486 | 1103 | depends on !M486 |
| 1104 | select X86_PAE | 1104 | select X86_PAE |
| 1105 | ---help--- | 1105 | ---help--- |
| 1106 | Select this if you have a 32-bit processor and more than 4 | 1106 | Select this if you have a 32-bit processor and more than 4 |
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu index f3b86d0df44e..36a07ebf2240 100644 --- a/arch/x86/Kconfig.cpu +++ b/arch/x86/Kconfig.cpu | |||
| @@ -4,23 +4,24 @@ choice | |||
| 4 | default M686 if X86_32 | 4 | default M686 if X86_32 |
| 5 | default GENERIC_CPU if X86_64 | 5 | default GENERIC_CPU if X86_64 |
| 6 | 6 | ||
| 7 | config M386 | 7 | config M486 |
| 8 | bool "386" | 8 | bool "486" |
| 9 | depends on X86_32 && !UML | 9 | depends on X86_32 |
| 10 | ---help--- | 10 | ---help--- |
| 11 | This is the processor type of your CPU. This information is used for | 11 | This is the processor type of your CPU. This information is |
| 12 | optimizing purposes. In order to compile a kernel that can run on | 12 | used for optimizing purposes. In order to compile a kernel |
| 13 | all x86 CPU types (albeit not optimally fast), you can specify | 13 | that can run on all supported x86 CPU types (albeit not |
| 14 | "386" here. | 14 | optimally fast), you can specify "486" here. |
| 15 | |||
| 16 | Note that the 386 is no longer supported, this includes | ||
| 17 | AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI 486DLC/DLC2, | ||
| 18 | and UMC 486SX-S. | ||
| 15 | 19 | ||
| 16 | The kernel will not necessarily run on earlier architectures than | 20 | The kernel will not necessarily run on earlier architectures than |
| 17 | the one you have chosen, e.g. a Pentium optimized kernel will run on | 21 | the one you have chosen, e.g. a Pentium optimized kernel will run on |
| 18 | a PPro, but not necessarily on a i486. | 22 | a PPro, but not necessarily on a i486. |
| 19 | 23 | ||
| 20 | Here are the settings recommended for greatest speed: | 24 | Here are the settings recommended for greatest speed: |
| 21 | - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI | ||
| 22 | 486DLC/DLC2, and UMC 486SX-S. Only "386" kernels will run on a 386 | ||
| 23 | class machine. | ||
| 24 | - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or | 25 | - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or |
| 25 | SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S. | 26 | SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S. |
| 26 | - "586" for generic Pentium CPUs lacking the TSC | 27 | - "586" for generic Pentium CPUs lacking the TSC |
| @@ -43,16 +44,7 @@ config M386 | |||
| 43 | - "VIA C3-2" for VIA C3-2 "Nehemiah" (model 9 and above). | 44 | - "VIA C3-2" for VIA C3-2 "Nehemiah" (model 9 and above). |
| 44 | - "VIA C7" for VIA C7. | 45 | - "VIA C7" for VIA C7. |
| 45 | 46 | ||
| 46 | If you don't know what to do, choose "386". | 47 | If you don't know what to do, choose "486". |
| 47 | |||
| 48 | config M486 | ||
| 49 | bool "486" | ||
| 50 | depends on X86_32 | ||
| 51 | ---help--- | ||
| 52 | Select this for a 486 series processor, either Intel or one of the | ||
| 53 | compatible processors from AMD, Cyrix, IBM, or Intel. Includes DX, | ||
| 54 | DX2, and DX4 variants; also SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or | ||
| 55 | U5S. | ||
| 56 | 48 | ||
| 57 | config M586 | 49 | config M586 |
| 58 | bool "586/K5/5x86/6x86/6x86MX" | 50 | bool "586/K5/5x86/6x86/6x86MX" |
| @@ -307,22 +299,20 @@ config X86_INTERNODE_CACHE_SHIFT | |||
| 307 | 299 | ||
| 308 | config X86_CMPXCHG | 300 | config X86_CMPXCHG |
| 309 | def_bool y | 301 | def_bool y |
| 310 | depends on X86_64 || (X86_32 && !M386) | ||
| 311 | 302 | ||
| 312 | config X86_L1_CACHE_SHIFT | 303 | config X86_L1_CACHE_SHIFT |
| 313 | int | 304 | int |
| 314 | default "7" if MPENTIUM4 || MPSC | 305 | default "7" if MPENTIUM4 || MPSC |
| 315 | default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 || MATOM || MVIAC7 || X86_GENERIC || GENERIC_CPU | 306 | default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 || MATOM || MVIAC7 || X86_GENERIC || GENERIC_CPU |
| 316 | default "4" if MELAN || M486 || M386 || MGEODEGX1 | 307 | default "4" if MELAN || M486 || MGEODEGX1 |
| 317 | default "5" if MWINCHIP3D || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX | 308 | default "5" if MWINCHIP3D || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX |
| 318 | 309 | ||
| 319 | config X86_XADD | 310 | config X86_XADD |
| 320 | def_bool y | 311 | def_bool y |
| 321 | depends on !M386 | ||
| 322 | 312 | ||
| 323 | config X86_PPRO_FENCE | 313 | config X86_PPRO_FENCE |
| 324 | bool "PentiumPro memory ordering errata workaround" | 314 | bool "PentiumPro memory ordering errata workaround" |
| 325 | depends on M686 || M586MMX || M586TSC || M586 || M486 || M386 || MGEODEGX1 | 315 | depends on M686 || M586MMX || M586TSC || M586 || M486 || MGEODEGX1 |
| 326 | ---help--- | 316 | ---help--- |
| 327 | Old PentiumPro multiprocessor systems had errata that could cause | 317 | Old PentiumPro multiprocessor systems had errata that could cause |
| 328 | memory operations to violate the x86 ordering standard in rare cases. | 318 | memory operations to violate the x86 ordering standard in rare cases. |
| @@ -335,27 +325,26 @@ config X86_PPRO_FENCE | |||
| 335 | 325 | ||
| 336 | config X86_F00F_BUG | 326 | config X86_F00F_BUG |
| 337 | def_bool y | 327 | def_bool y |
| 338 | depends on M586MMX || M586TSC || M586 || M486 || M386 | 328 | depends on M586MMX || M586TSC || M586 || M486 |
| 339 | 329 | ||
| 340 | config X86_INVD_BUG | 330 | config X86_INVD_BUG |
| 341 | def_bool y | 331 | def_bool y |
| 342 | depends on M486 || M386 | 332 | depends on M486 |
| 343 | 333 | ||
| 344 | config X86_WP_WORKS_OK | 334 | config X86_WP_WORKS_OK |
| 345 | def_bool y | 335 | def_bool y |
| 346 | depends on !M386 | ||
| 347 | 336 | ||
| 348 | config X86_INVLPG | 337 | config X86_INVLPG |
| 349 | def_bool y | 338 | def_bool y |
| 350 | depends on X86_32 && !M386 | 339 | depends on X86_32 |
| 351 | 340 | ||
| 352 | config X86_BSWAP | 341 | config X86_BSWAP |
| 353 | def_bool y | 342 | def_bool y |
| 354 | depends on X86_32 && !M386 | 343 | depends on X86_32 |
| 355 | 344 | ||
| 356 | config X86_POPAD_OK | 345 | config X86_POPAD_OK |
| 357 | def_bool y | 346 | def_bool y |
| 358 | depends on X86_32 && !M386 | 347 | depends on X86_32 |
| 359 | 348 | ||
| 360 | config X86_ALIGNMENT_16 | 349 | config X86_ALIGNMENT_16 |
| 361 | def_bool y | 350 | def_bool y |
| @@ -412,12 +401,11 @@ config X86_MINIMUM_CPU_FAMILY | |||
| 412 | default "64" if X86_64 | 401 | default "64" if X86_64 |
| 413 | default "6" if X86_32 && X86_P6_NOP | 402 | default "6" if X86_32 && X86_P6_NOP |
| 414 | default "5" if X86_32 && X86_CMPXCHG64 | 403 | default "5" if X86_32 && X86_CMPXCHG64 |
| 415 | default "4" if X86_32 && (X86_XADD || X86_CMPXCHG || X86_BSWAP || X86_WP_WORKS_OK) | 404 | default "4" |
| 416 | default "3" | ||
| 417 | 405 | ||
| 418 | config X86_DEBUGCTLMSR | 406 | config X86_DEBUGCTLMSR |
| 419 | def_bool y | 407 | def_bool y |
| 420 | depends on !(MK6 || MWINCHIPC6 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486 || M386) && !UML | 408 | depends on !(MK6 || MWINCHIPC6 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486) && !UML |
| 421 | 409 | ||
| 422 | menuconfig PROCESSOR_SELECT | 410 | menuconfig PROCESSOR_SELECT |
| 423 | bool "Supported processor vendors" if EXPERT | 411 | bool "Supported processor vendors" if EXPERT |
| @@ -441,7 +429,7 @@ config CPU_SUP_INTEL | |||
| 441 | config CPU_SUP_CYRIX_32 | 429 | config CPU_SUP_CYRIX_32 |
| 442 | default y | 430 | default y |
| 443 | bool "Support Cyrix processors" if PROCESSOR_SELECT | 431 | bool "Support Cyrix processors" if PROCESSOR_SELECT |
| 444 | depends on M386 || M486 || M586 || M586TSC || M586MMX || (EXPERT && !64BIT) | 432 | depends on M486 || M586 || M586TSC || M586MMX || (EXPERT && !64BIT) |
| 445 | ---help--- | 433 | ---help--- |
| 446 | This enables detection, tunings and quirks for Cyrix processors | 434 | This enables detection, tunings and quirks for Cyrix processors |
| 447 | 435 | ||
| @@ -495,7 +483,7 @@ config CPU_SUP_TRANSMETA_32 | |||
| 495 | config CPU_SUP_UMC_32 | 483 | config CPU_SUP_UMC_32 |
| 496 | default y | 484 | default y |
| 497 | bool "Support UMC processors" if PROCESSOR_SELECT | 485 | bool "Support UMC processors" if PROCESSOR_SELECT |
| 498 | depends on M386 || M486 || (EXPERT && !64BIT) | 486 | depends on M486 || (EXPERT && !64BIT) |
| 499 | ---help--- | 487 | ---help--- |
| 500 | This enables detection, tunings and quirks for UMC processors | 488 | This enables detection, tunings and quirks for UMC processors |
| 501 | 489 | ||
diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu index 86cee7b749e1..6647ed49c66c 100644 --- a/arch/x86/Makefile_32.cpu +++ b/arch/x86/Makefile_32.cpu | |||
| @@ -10,7 +10,6 @@ tune = $(call cc-option,-mcpu=$(1),$(2)) | |||
| 10 | endif | 10 | endif |
| 11 | 11 | ||
| 12 | align := $(cc-option-align) | 12 | align := $(cc-option-align) |
| 13 | cflags-$(CONFIG_M386) += -march=i386 | ||
| 14 | cflags-$(CONFIG_M486) += -march=i486 | 13 | cflags-$(CONFIG_M486) += -march=i486 |
| 15 | cflags-$(CONFIG_M586) += -march=i586 | 14 | cflags-$(CONFIG_M586) += -march=i586 |
| 16 | cflags-$(CONFIG_M586TSC) += -march=i586 | 15 | cflags-$(CONFIG_M586TSC) += -march=i586 |
diff --git a/arch/x86/include/asm/module.h b/arch/x86/include/asm/module.h index 9eae7752ae9b..e3b7819caeef 100644 --- a/arch/x86/include/asm/module.h +++ b/arch/x86/include/asm/module.h | |||
| @@ -5,8 +5,6 @@ | |||
| 5 | 5 | ||
| 6 | #ifdef CONFIG_X86_64 | 6 | #ifdef CONFIG_X86_64 |
| 7 | /* X86_64 does not define MODULE_PROC_FAMILY */ | 7 | /* X86_64 does not define MODULE_PROC_FAMILY */ |
| 8 | #elif defined CONFIG_M386 | ||
| 9 | #define MODULE_PROC_FAMILY "386 " | ||
| 10 | #elif defined CONFIG_M486 | 8 | #elif defined CONFIG_M486 |
| 11 | #define MODULE_PROC_FAMILY "486 " | 9 | #define MODULE_PROC_FAMILY "486 " |
| 12 | #elif defined CONFIG_M586 | 10 | #elif defined CONFIG_M586 |
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index ad1fc8511674..9a4ee46959f3 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h | |||
| @@ -672,7 +672,7 @@ static inline void sync_core(void) | |||
| 672 | { | 672 | { |
| 673 | int tmp; | 673 | int tmp; |
| 674 | 674 | ||
| 675 | #if defined(CONFIG_M386) || defined(CONFIG_M486) | 675 | #ifdef CONFIG_M486 |
| 676 | if (boot_cpu_data.x86 < 5) | 676 | if (boot_cpu_data.x86 < 5) |
| 677 | /* There is no speculative execution. | 677 | /* There is no speculative execution. |
| 678 | * jmp is a barrier to prefetching. */ | 678 | * jmp is a barrier to prefetching. */ |
