1 # SPDX-License-Identifier: GPL-2.0 2 # Put here option for CPU selection and depend 3 choice 4 prompt "Processor family" 5 default M686 if X86_32 6 default GENERIC_CPU if X86_64 7 help 8 This is the processor type of your C 9 used for optimizing purposes. In ord 10 that can run on all supported x86 CP 11 optimally fast), you can specify "48 12 13 Note that the 386 is no longer suppo 14 AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, 15 UMC 486SX-S and the NexGen Nx586. 16 17 The kernel will not necessarily run 18 the one you have chosen, e.g. a Pent 19 a PPro, but not necessarily on a i48 20 21 Here are the settings recommended fo 22 - "486" for the AMD/Cyrix/IBM/Intel 23 SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5 24 - "586" for generic Pentium CPUs lac 25 (time stamp counter) register. 26 - "Pentium-Classic" for the Intel Pe 27 - "Pentium-MMX" for the Intel Pentiu 28 - "Pentium-Pro" for the Intel Pentiu 29 - "Pentium-II" for the Intel Pentium 30 - "Pentium-III" for the Intel Pentiu 31 - "Pentium-4" for the Intel Pentium 32 - "K6" for the AMD K6, K6-II and K6- 33 - "Athlon" for the AMD K7 family (At 34 - "Opteron/Athlon64/Hammer/K8" for a 35 - "Crusoe" for the Transmeta Crusoe 36 - "Efficeon" for the Transmeta Effic 37 - "Winchip-C6" for original IDT Winc 38 - "Winchip-2" for IDT Winchips with 39 - "AMD Elan" for the 32-bit AMD Elan 40 - "GeodeGX1" for Geode GX1 (Cyrix Me 41 - "Geode GX/LX" For AMD Geode GX and 42 - "CyrixIII/VIA C3" for VIA Cyrix II 43 - "VIA C3-2" for VIA C3-2 "Nehemiah" 44 - "VIA C7" for VIA C7. 45 - "Intel P4" for the Pentium 4/Netbu 46 - "Core 2/newer Xeon" for all core2 47 - "Intel Atom" for the Atom-microarc 48 - "Generic-x86-64" for a kernel whic 49 50 See each option's help text for addi 51 what to do, choose "486". 52 53 config M486SX 54 bool "486SX" 55 depends on X86_32 56 help 57 Select this for an 486-class CPU wit 58 AMD/Cyrix/IBM/Intel SL/SLC/SLC2/SLC3 59 60 config M486 61 bool "486DX" 62 depends on X86_32 63 help 64 Select this for an 486-class CPU suc 65 486DX/DX2/DX4 and UMC U5D. 66 67 config M586 68 bool "586/K5/5x86/6x86/6x86MX" 69 depends on X86_32 70 help 71 Select this for an 586 or 686 series 72 the Cyrix 5x86, 6x86 and 6x86MX. Th 73 assume the RDTSC (Read Time Stamp Co 74 75 config M586TSC 76 bool "Pentium-Classic" 77 depends on X86_32 78 help 79 Select this for a Pentium Classic pr 80 Time Stamp Counter) instruction for 81 82 config M586MMX 83 bool "Pentium-MMX" 84 depends on X86_32 85 help 86 Select this for a Pentium with the M 87 extended instructions. 88 89 config M686 90 bool "Pentium-Pro" 91 depends on X86_32 92 help 93 Select this for Intel Pentium Pro ch 94 Pentium Pro extended instructions, a 95 against the f00f bug found in earlie 96 97 config MPENTIUMII 98 bool "Pentium-II/Celeron(pre-Coppermin 99 depends on X86_32 100 help 101 Select this for Intel chips based on 102 pre-Coppermine Celeron core. This o 103 copy optimization, compiles the kern 104 tailored for the chip, and applies a 105 optimizations. 106 107 config MPENTIUMIII 108 bool "Pentium-III/Celeron(Coppermine)/ 109 depends on X86_32 110 help 111 Select this for Intel chips based on 112 Celeron-Coppermine core. This optio 113 extended prefetch instructions in ad 114 extensions. 115 116 config MPENTIUMM 117 bool "Pentium M" 118 depends on X86_32 119 help 120 Select this for Intel Pentium M (not 121 notebook chips. 122 123 config MPENTIUM4 124 bool "Pentium-4/Celeron(P4-based)/Pent 125 depends on X86_32 126 help 127 Select this for Intel Pentium 4 chip 128 Pentium 4, Pentium D, P4-based Celer 129 Pentium-4 M (not Pentium M) chips. 130 flags optimized for the chip, uses t 131 applies any applicable optimizations 132 133 CPUIDs: F[0-6][1-A] (in /proc/cpuinf 134 135 Select this for: 136 Pentiums (Pentium 4, Pentium D, Ce 137 -Willamette 138 -Northwood 139 -Mobile Pentium 4 140 -Mobile Pentium 4 M 141 -Extreme Edition (Gallatin) 142 -Prescott 143 -Prescott 2M 144 -Cedar Mill 145 -Presler 146 -Smithfiled 147 Xeons (Intel Xeon, Xeon MP, Xeon L 148 -Foster 149 -Prestonia 150 -Gallatin 151 -Nocona 152 -Irwindale 153 -Cranford 154 -Potomac 155 -Paxville 156 -Dempsey 157 158 159 config MK6 160 bool "K6/K6-II/K6-III" 161 depends on X86_32 162 help 163 Select this for an AMD K6-family pro 164 some extended instructions, and pass 165 flags to GCC. 166 167 config MK7 168 bool "Athlon/Duron/K7" 169 depends on X86_32 170 help 171 Select this for an AMD Athlon K7-fam 172 some extended instructions, and pass 173 flags to GCC. 174 175 config MK8 176 bool "Opteron/Athlon64/Hammer/K8" 177 help 178 Select this for an AMD Opteron or At 179 Enables use of some extended instruc 180 optimization flags to GCC. 181 182 config MCRUSOE 183 bool "Crusoe" 184 depends on X86_32 185 help 186 Select this for a Transmeta Crusoe p 187 like a 586 with TSC, and sets some G 188 Pentium Pro with no alignment requir 189 190 config MEFFICEON 191 bool "Efficeon" 192 depends on X86_32 193 help 194 Select this for a Transmeta Efficeon 195 196 config MWINCHIPC6 197 bool "Winchip-C6" 198 depends on X86_32 199 help 200 Select this for an IDT Winchip C6 ch 201 treat this chip as a 586TSC with som 202 and alignment requirements. 203 204 config MWINCHIP3D 205 bool "Winchip-2/Winchip-2A/Winchip-3" 206 depends on X86_32 207 help 208 Select this for an IDT Winchip-2, 2A 209 treat this chip as a 586TSC with som 210 and alignment requirements. Also en 211 stores for this CPU, which can incre 212 operations. 213 214 config MELAN 215 bool "AMD Elan" 216 depends on X86_32 217 help 218 Select this for an AMD Elan processo 219 220 Do not use this option for K6/Athlon 221 222 config MGEODEGX1 223 bool "GeodeGX1" 224 depends on X86_32 225 help 226 Select this for a Geode GX1 (Cyrix M 227 228 config MGEODE_LX 229 bool "Geode GX/LX" 230 depends on X86_32 231 help 232 Select this for AMD Geode GX and LX 233 234 config MCYRIXIII 235 bool "CyrixIII/VIA-C3" 236 depends on X86_32 237 help 238 Select this for a Cyrix III or C3 ch 239 treat this chip as a generic 586. Wh 240 it lacks the cmov extension which gc 241 generating 686 code. 242 Note that Nehemiah (Model 9) and abo 243 kernel due to them lacking the 3DNow 244 incarnations of the CPU. 245 246 config MVIAC3_2 247 bool "VIA C3-2 (Nehemiah)" 248 depends on X86_32 249 help 250 Select this for a VIA C3 "Nehemiah". 251 of SSE and tells gcc to treat the CP 252 Note, this kernel will not boot on o 253 254 config MVIAC7 255 bool "VIA C7" 256 depends on X86_32 257 help 258 Select this for a VIA C7. Selecting 259 shift and tells gcc to treat the CPU 260 261 config MPSC 262 bool "Intel P4 / older Netburst based 263 depends on X86_64 264 help 265 Optimize for Intel Pentium 4, Pentiu 266 Xeon CPUs with Intel 64bit which is 267 Note that the latest Xeons (Xeon 51x 268 Netburst core and shouldn't use this 269 using the cpu family field 270 in /proc/cpuinfo. Family 15 is an ol 271 272 config MCORE2 273 bool "Core 2/newer Xeon" 274 help 275 276 Select this for Intel Core 2 and new 277 53xx) CPUs. You can distinguish newe 278 family in /proc/cpuinfo. Newer ones 279 (not a typo) 280 281 config MATOM 282 bool "Intel Atom" 283 help 284 285 Select this for the Intel Atom platf 286 in-order pipelining architecture and 287 accordingly optimized code. Use a re 288 support in order to fully benefit fr 289 290 config GENERIC_CPU 291 bool "Generic-x86-64" 292 depends on X86_64 293 help 294 Generic x86-64 CPU. 295 Run equally well on all x86-64 CPUs. 296 297 endchoice 298 299 config X86_GENERIC 300 bool "Generic x86 support" 301 depends on X86_32 302 help 303 Instead of just including optimizati 304 x86 variant (e.g. PII, Crusoe or Ath 305 generic optimizations as well. This 306 perform better on x86 CPUs other tha 307 308 This is really intended for distribu 309 generic optimizations. 310 311 # 312 # Define implied options from the CPU selectio 313 config X86_INTERNODE_CACHE_SHIFT 314 int 315 default "12" if X86_VSMP 316 default X86_L1_CACHE_SHIFT 317 318 config X86_L1_CACHE_SHIFT 319 int 320 default "7" if MPENTIUM4 || MPSC 321 default "6" if MK7 || MK8 || MPENTIUMM 322 default "4" if MELAN || M486SX || M486 323 default "5" if MWINCHIP3D || MWINCHIPC 324 325 config X86_F00F_BUG 326 def_bool y 327 depends on M586MMX || M586TSC || M586 328 329 config X86_INVD_BUG 330 def_bool y 331 depends on M486SX || M486 332 333 config X86_ALIGNMENT_16 334 def_bool y 335 depends on MWINCHIP3D || MWINCHIPC6 || 336 337 config X86_INTEL_USERCOPY 338 def_bool y 339 depends on MPENTIUM4 || MPENTIUMM || M 340 341 config X86_USE_PPRO_CHECKSUM 342 def_bool y 343 depends on MWINCHIP3D || MWINCHIPC6 || 344 345 # 346 # P6_NOPs are a relatively minor optimization 347 # 6 processor, except that it is broken on cer 348 # Furthermore, AMD chips prefer a totally diff 349 # (which work on all CPUs). In addition, it l 350 # does not understand them. 351 # 352 # As a result, disallow these if we're not com 353 # NOPs do work on all x86-64 capable chips); t 354 # the right-hand clause are the cores that ben 355 # 356 config X86_P6_NOP 357 def_bool y 358 depends on X86_64 359 depends on (MCORE2 || MPENTIUM4 || MPS 360 361 config X86_TSC 362 def_bool y 363 depends on (MWINCHIP3D || MCRUSOE || M 364 365 config X86_HAVE_PAE 366 def_bool y 367 depends on MCRUSOE || MEFFICEON || MCY 368 369 config X86_CMPXCHG64 370 def_bool y 371 depends on X86_HAVE_PAE || M586TSC || 372 373 # this should be set for all -march=.. options 374 # generates cmov. 375 config X86_CMOV 376 def_bool y 377 depends on (MK8 || MK7 || MCORE2 || MP 378 379 config X86_MINIMUM_CPU_FAMILY 380 int 381 default "64" if X86_64 382 default "6" if X86_32 && (MPENTIUM4 || 383 default "5" if X86_32 && X86_CMPXCHG64 384 default "4" 385 386 config X86_DEBUGCTLMSR 387 def_bool y 388 depends on !(MK6 || MWINCHIPC6 || MWIN 389 390 config IA32_FEAT_CTL 391 def_bool y 392 depends on CPU_SUP_INTEL || CPU_SUP_CE 393 394 config X86_VMX_FEATURE_NAMES 395 def_bool y 396 depends on IA32_FEAT_CTL 397 398 menuconfig PROCESSOR_SELECT 399 bool "Supported processor vendors" if 400 help 401 This lets you choose what x86 vendor 402 will include. 403 404 config CPU_SUP_INTEL 405 default y 406 bool "Support Intel processors" if PRO 407 help 408 This enables detection, tunings and 409 410 You need this enabled if you want yo 411 Intel CPU. Disabling this option on 412 makes the kernel a tiny bit smaller. 413 CPU might render the kernel unbootab 414 415 If unsure, say N. 416 417 config CPU_SUP_CYRIX_32 418 default y 419 bool "Support Cyrix processors" if PRO 420 depends on M486SX || M486 || M586 || M 421 help 422 This enables detection, tunings and 423 424 You need this enabled if you want yo 425 Cyrix CPU. Disabling this option on 426 makes the kernel a tiny bit smaller. 427 CPU might render the kernel unbootab 428 429 If unsure, say N. 430 431 config CPU_SUP_AMD 432 default y 433 bool "Support AMD processors" if PROCE 434 help 435 This enables detection, tunings and 436 437 You need this enabled if you want yo 438 AMD CPU. Disabling this option on ot 439 makes the kernel a tiny bit smaller. 440 CPU might render the kernel unbootab 441 442 If unsure, say N. 443 444 config CPU_SUP_HYGON 445 default y 446 bool "Support Hygon processors" if PRO 447 select CPU_SUP_AMD 448 help 449 This enables detection, tunings and 450 451 You need this enabled if you want yo 452 Hygon CPU. Disabling this option on 453 makes the kernel a tiny bit smaller. 454 CPU might render the kernel unbootab 455 456 If unsure, say N. 457 458 config CPU_SUP_CENTAUR 459 default y 460 bool "Support Centaur processors" if P 461 help 462 This enables detection, tunings and 463 464 You need this enabled if you want yo 465 Centaur CPU. Disabling this option o 466 makes the kernel a tiny bit smaller. 467 CPU might render the kernel unbootab 468 469 If unsure, say N. 470 471 config CPU_SUP_TRANSMETA_32 472 default y 473 bool "Support Transmeta processors" if 474 depends on !64BIT 475 help 476 This enables detection, tunings and 477 478 You need this enabled if you want yo 479 Transmeta CPU. Disabling this option 480 makes the kernel a tiny bit smaller. 481 CPU might render the kernel unbootab 482 483 If unsure, say N. 484 485 config CPU_SUP_UMC_32 486 default y 487 bool "Support UMC processors" if PROCE 488 depends on M486SX || M486 || (EXPERT & 489 help 490 This enables detection, tunings and 491 492 You need this enabled if you want yo 493 UMC CPU. Disabling this option on ot 494 makes the kernel a tiny bit smaller. 495 CPU might render the kernel unbootab 496 497 If unsure, say N. 498 499 config CPU_SUP_ZHAOXIN 500 default y 501 bool "Support Zhaoxin processors" if P 502 help 503 This enables detection, tunings and 504 505 You need this enabled if you want yo 506 Zhaoxin CPU. Disabling this option o 507 makes the kernel a tiny bit smaller. 508 CPU might render the kernel unbootab 509 510 If unsure, say N. 511 512 config CPU_SUP_VORTEX_32 513 default y 514 bool "Support Vortex processors" if PR 515 depends on X86_32 516 help 517 This enables detection, tunings and 518 519 You need this enabled if you want yo 520 Vortex CPU. Disabling this option on 521 makes the kernel a tiny bit smaller. 522 523 If unsure, say N.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.