1config MIPS 2 bool 3 default y 4 select HAVE_GENERIC_DMA_COHERENT 5 select HAVE_IDE 6 select HAVE_OPROFILE 7 select HAVE_PERF_EVENTS 8 select PERF_USE_VMALLOC 9 select HAVE_ARCH_KGDB 10 select HAVE_FUNCTION_TRACER 11 select HAVE_FUNCTION_TRACE_MCOUNT_TEST 12 select HAVE_DYNAMIC_FTRACE 13 select HAVE_FTRACE_MCOUNT_RECORD 14 select HAVE_C_RECORDMCOUNT 15 select HAVE_FUNCTION_GRAPH_TRACER 16 select HAVE_KPROBES 17 select HAVE_KRETPROBES 18 select RTC_LIB if !MACH_LOONGSON 19 select GENERIC_ATOMIC64 if !64BIT 20 select HAVE_DMA_ATTRS 21 select HAVE_DMA_API_DEBUG 22 select HAVE_GENERIC_HARDIRQS 23 select GENERIC_IRQ_PROBE 24 25menu "Machine selection" 26 27config ZONE_DMA 28 bool 29 30choice 31 prompt "System type" 32 default SGI_IP22 33 34config MIPS_ALCHEMY 35 bool "Alchemy processor based machines" 36 select 64BIT_PHYS_ADDR 37 select CEVT_R4K_LIB 38 select CSRC_R4K_LIB 39 select IRQ_CPU 40 select SYS_HAS_CPU_MIPS32_R1 41 select SYS_SUPPORTS_32BIT_KERNEL 42 select SYS_SUPPORTS_APM_EMULATION 43 select GENERIC_GPIO 44 select ARCH_WANT_OPTIONAL_GPIOLIB 45 select SYS_SUPPORTS_ZBOOT 46 47config AR7 48 bool "Texas Instruments AR7" 49 select BOOT_ELF32 50 select DMA_NONCOHERENT 51 select CEVT_R4K 52 select CSRC_R4K 53 select IRQ_CPU 54 select NO_EXCEPT_FILL 55 select SWAP_IO_SPACE 56 select SYS_HAS_CPU_MIPS32_R1 57 select SYS_HAS_EARLY_PRINTK 58 select SYS_SUPPORTS_32BIT_KERNEL 59 select SYS_SUPPORTS_LITTLE_ENDIAN 60 select SYS_SUPPORTS_ZBOOT_UART16550 61 select ARCH_REQUIRE_GPIOLIB 62 select GCD 63 select VLYNQ 64 help 65 Support for the Texas Instruments AR7 System-on-a-Chip 66 family: TNETD7100, 7200 and 7300. 67 68config BCM47XX 69 bool "Broadcom BCM47XX based boards" 70 select CEVT_R4K 71 select CSRC_R4K 72 select DMA_NONCOHERENT 73 select HW_HAS_PCI 74 select IRQ_CPU 75 select SYS_HAS_CPU_MIPS32_R1 76 select SYS_SUPPORTS_32BIT_KERNEL 77 select SYS_SUPPORTS_LITTLE_ENDIAN 78 select SSB 79 select SSB_DRIVER_MIPS 80 select SSB_DRIVER_EXTIF 81 select SSB_EMBEDDED 82 select SSB_B43_PCI_BRIDGE if PCI 83 select SSB_PCICORE_HOSTMODE if PCI 84 select GENERIC_GPIO 85 select SYS_HAS_EARLY_PRINTK 86 select CFE 87 help 88 Support for BCM47XX based boards 89 90config BCM63XX 91 bool "Broadcom BCM63XX based boards" 92 select CEVT_R4K 93 select CSRC_R4K 94 select DMA_NONCOHERENT 95 select IRQ_CPU 96 select SYS_HAS_CPU_MIPS32_R1 97 select SYS_SUPPORTS_32BIT_KERNEL 98 select SYS_SUPPORTS_BIG_ENDIAN 99 select SYS_HAS_EARLY_PRINTK 100 select SWAP_IO_SPACE 101 select ARCH_REQUIRE_GPIOLIB 102 help 103 Support for BCM63XX based boards 104 105config MIPS_COBALT 106 bool "Cobalt Server" 107 select CEVT_R4K 108 select CSRC_R4K 109 select CEVT_GT641XX 110 select DMA_NONCOHERENT 111 select HW_HAS_PCI 112 select I8253 113 select I8259 114 select IRQ_CPU 115 select IRQ_GT641XX 116 select PCI_GT64XXX_PCI0 117 select PCI 118 select SYS_HAS_CPU_NEVADA 119 select SYS_HAS_EARLY_PRINTK 120 select SYS_SUPPORTS_32BIT_KERNEL 121 select SYS_SUPPORTS_64BIT_KERNEL 122 select SYS_SUPPORTS_LITTLE_ENDIAN 123 124config MACH_DECSTATION 125 bool "DECstations" 126 select BOOT_ELF32 127 select CEVT_DS1287 128 select CEVT_R4K 129 select CSRC_IOASIC 130 select CSRC_R4K 131 select CPU_DADDI_WORKAROUNDS if 64BIT 132 select CPU_R4000_WORKAROUNDS if 64BIT 133 select CPU_R4400_WORKAROUNDS if 64BIT 134 select DMA_NONCOHERENT 135 select NO_IOPORT 136 select IRQ_CPU 137 select SYS_HAS_CPU_R3000 138 select SYS_HAS_CPU_R4X00 139 select SYS_SUPPORTS_32BIT_KERNEL 140 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 141 select SYS_SUPPORTS_LITTLE_ENDIAN 142 select SYS_SUPPORTS_128HZ 143 select SYS_SUPPORTS_256HZ 144 select SYS_SUPPORTS_1024HZ 145 help 146 This enables support for DEC's MIPS based workstations. For details 147 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the 148 DECstation porting pages on <http://decstation.unix-ag.org/>. 149 150 If you have one of the following DECstation Models you definitely 151 want to choose R4xx0 for the CPU Type: 152 153 DECstation 5000/50 154 DECstation 5000/150 155 DECstation 5000/260 156 DECsystem 5900/260 157 158 otherwise choose R3000. 159 160config MACH_JAZZ 161 bool "Jazz family of machines" 162 select ARC 163 select ARC32 164 select ARCH_MAY_HAVE_PC_FDC 165 select CEVT_R4K 166 select CSRC_R4K 167 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 168 select GENERIC_ISA_DMA 169 select IRQ_CPU 170 select I8253 171 select I8259 172 select ISA 173 select SYS_HAS_CPU_R4X00 174 select SYS_SUPPORTS_32BIT_KERNEL 175 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 176 select SYS_SUPPORTS_100HZ 177 help 178 This a family of machines based on the MIPS R4030 chipset which was 179 used by several vendors to build RISC/os and Windows NT workstations. 180 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and 181 Olivetti M700-10 workstations. 182 183config MACH_JZ4740 184 bool "Ingenic JZ4740 based machines" 185 select SYS_HAS_CPU_MIPS32_R1 186 select SYS_SUPPORTS_32BIT_KERNEL 187 select SYS_SUPPORTS_LITTLE_ENDIAN 188 select DMA_NONCOHERENT 189 select IRQ_CPU 190 select GENERIC_GPIO 191 select ARCH_REQUIRE_GPIOLIB 192 select SYS_HAS_EARLY_PRINTK 193 select HAVE_PWM 194 195config LASAT 196 bool "LASAT Networks platforms" 197 select CEVT_R4K 198 select CSRC_R4K 199 select DMA_NONCOHERENT 200 select SYS_HAS_EARLY_PRINTK 201 select HW_HAS_PCI 202 select IRQ_CPU 203 select PCI_GT64XXX_PCI0 204 select MIPS_NILE4 205 select R5000_CPU_SCACHE 206 select SYS_HAS_CPU_R5000 207 select SYS_SUPPORTS_32BIT_KERNEL 208 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN 209 select SYS_SUPPORTS_LITTLE_ENDIAN 210 211config MACH_LOONGSON 212 bool "Loongson family of machines" 213 select SYS_SUPPORTS_ZBOOT 214 help 215 This enables the support of Loongson family of machines. 216 217 Loongson is a family of general-purpose MIPS-compatible CPUs. 218 developed at Institute of Computing Technology (ICT), 219 Chinese Academy of Sciences (CAS) in the People's Republic 220 of China. The chief architect is Professor Weiwu Hu. 221 222config MIPS_MALTA 223 bool "MIPS Malta board" 224 select ARCH_MAY_HAVE_PC_FDC 225 select BOOT_ELF32 226 select BOOT_RAW 227 select CEVT_R4K 228 select CSRC_R4K 229 select DMA_NONCOHERENT 230 select GENERIC_ISA_DMA 231 select IRQ_CPU 232 select IRQ_GIC 233 select HW_HAS_PCI 234 select I8253 235 select I8259 236 select MIPS_BOARDS_GEN 237 select MIPS_BONITO64 238 select MIPS_CPU_SCACHE 239 select PCI_GT64XXX_PCI0 240 select MIPS_MSC 241 select SWAP_IO_SPACE 242 select SYS_HAS_CPU_MIPS32_R1 243 select SYS_HAS_CPU_MIPS32_R2 244 select SYS_HAS_CPU_MIPS64_R1 245 select SYS_HAS_CPU_NEVADA 246 select SYS_HAS_CPU_RM7000 247 select SYS_HAS_EARLY_PRINTK 248 select SYS_SUPPORTS_32BIT_KERNEL 249 select SYS_SUPPORTS_64BIT_KERNEL 250 select SYS_SUPPORTS_BIG_ENDIAN 251 select SYS_SUPPORTS_LITTLE_ENDIAN 252 select SYS_SUPPORTS_MIPS_CMP 253 select SYS_SUPPORTS_MULTITHREADING 254 select SYS_SUPPORTS_SMARTMIPS 255 select SYS_SUPPORTS_ZBOOT 256 help 257 This enables support for the MIPS Technologies Malta evaluation 258 board. 259 260config MIPS_SIM 261 bool 'MIPS simulator (MIPSsim)' 262 select CEVT_R4K 263 select CSRC_R4K 264 select DMA_NONCOHERENT 265 select SYS_HAS_EARLY_PRINTK 266 select IRQ_CPU 267 select BOOT_RAW 268 select SYS_HAS_CPU_MIPS32_R1 269 select SYS_HAS_CPU_MIPS32_R2 270 select SYS_HAS_EARLY_PRINTK 271 select SYS_SUPPORTS_32BIT_KERNEL 272 select SYS_SUPPORTS_BIG_ENDIAN 273 select SYS_SUPPORTS_MULTITHREADING 274 select SYS_SUPPORTS_LITTLE_ENDIAN 275 help 276 This option enables support for MIPS Technologies MIPSsim software 277 emulator. 278 279config NEC_MARKEINS 280 bool "NEC EMMA2RH Mark-eins board" 281 select SOC_EMMA2RH 282 select HW_HAS_PCI 283 help 284 This enables support for the NEC Electronics Mark-eins boards. 285 286config MACH_VR41XX 287 bool "NEC VR4100 series based machines" 288 select CEVT_R4K 289 select CSRC_R4K 290 select SYS_HAS_CPU_VR41XX 291 select ARCH_REQUIRE_GPIOLIB 292 293config NXP_STB220 294 bool "NXP STB220 board" 295 select SOC_PNX833X 296 help 297 Support for NXP Semiconductors STB220 Development Board. 298 299config NXP_STB225 300 bool "NXP 225 board" 301 select SOC_PNX833X 302 select SOC_PNX8335 303 help 304 Support for NXP Semiconductors STB225 Development Board. 305 306config PNX8550_JBS 307 bool "NXP PNX8550 based JBS board" 308 select PNX8550 309 select SYS_SUPPORTS_LITTLE_ENDIAN 310 311config PNX8550_STB810 312 bool "NXP PNX8550 based STB810 board" 313 select PNX8550 314 select SYS_SUPPORTS_LITTLE_ENDIAN 315 316config PMC_MSP 317 bool "PMC-Sierra MSP chipsets" 318 depends on EXPERIMENTAL 319 select DMA_NONCOHERENT 320 select SWAP_IO_SPACE 321 select NO_EXCEPT_FILL 322 select BOOT_RAW 323 select SYS_HAS_CPU_MIPS32_R1 324 select SYS_HAS_CPU_MIPS32_R2 325 select SYS_SUPPORTS_32BIT_KERNEL 326 select SYS_SUPPORTS_BIG_ENDIAN 327 select IRQ_CPU 328 select SERIAL_8250 329 select SERIAL_8250_CONSOLE 330 help 331 This adds support for the PMC-Sierra family of Multi-Service 332 Processor System-On-A-Chips. These parts include a number 333 of integrated peripherals, interfaces and DSPs in addition to 334 a variety of MIPS cores. 335 336config PMC_YOSEMITE 337 bool "PMC-Sierra Yosemite eval board" 338 select CEVT_R4K 339 select CSRC_R4K 340 select DMA_COHERENT 341 select HW_HAS_PCI 342 select IRQ_CPU 343 select IRQ_CPU_RM7K 344 select IRQ_CPU_RM9K 345 select SWAP_IO_SPACE 346 select SYS_HAS_CPU_RM9000 347 select SYS_HAS_EARLY_PRINTK 348 select SYS_SUPPORTS_32BIT_KERNEL 349 select SYS_SUPPORTS_64BIT_KERNEL 350 select SYS_SUPPORTS_BIG_ENDIAN 351 select SYS_SUPPORTS_HIGHMEM 352 select SYS_SUPPORTS_SMP 353 help 354 Yosemite is an evaluation board for the RM9000x2 processor 355 manufactured by PMC-Sierra. 356 357config POWERTV 358 bool "Cisco PowerTV" 359 select BOOT_ELF32 360 select CEVT_R4K 361 select CPU_MIPSR2_IRQ_VI 362 select CPU_MIPSR2_IRQ_EI 363 select CSRC_POWERTV 364 select DMA_NONCOHERENT 365 select HW_HAS_PCI 366 select SYS_HAS_EARLY_PRINTK 367 select SYS_HAS_CPU_MIPS32_R2 368 select SYS_SUPPORTS_32BIT_KERNEL 369 select SYS_SUPPORTS_BIG_ENDIAN 370 select SYS_SUPPORTS_HIGHMEM 371 select USB_OHCI_LITTLE_ENDIAN 372 help 373 This enables support for the Cisco PowerTV Platform. 374 375config SGI_IP22 376 bool "SGI IP22 (Indy/Indigo2)" 377 select ARC 378 select ARC32 379 select BOOT_ELF32 380 select CEVT_R4K 381 select CSRC_R4K 382 select DEFAULT_SGI_PARTITION 383 select DMA_NONCOHERENT 384 select HW_HAS_EISA 385 select I8253 386 select I8259 387 select IP22_CPU_SCACHE 388 select IRQ_CPU 389 select GENERIC_ISA_DMA_SUPPORT_BROKEN 390 select SGI_HAS_I8042 391 select SGI_HAS_INDYDOG 392 select SGI_HAS_HAL2 393 select SGI_HAS_SEEQ 394 select SGI_HAS_WD93 395 select SGI_HAS_ZILOG 396 select SWAP_IO_SPACE 397 select SYS_HAS_CPU_R4X00 398 select SYS_HAS_CPU_R5000 399 # 400 # Disable EARLY_PRINTK for now since it leads to overwritten prom 401 # memory during early boot on some machines. 402 # 403 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 404 # for a more details discussion 405 # 406 # select SYS_HAS_EARLY_PRINTK 407 select SYS_SUPPORTS_32BIT_KERNEL 408 select SYS_SUPPORTS_64BIT_KERNEL 409 select SYS_SUPPORTS_BIG_ENDIAN 410 help 411 This are the SGI Indy, Challenge S and Indigo2, as well as certain 412 OEM variants like the Tandem CMN B006S. To compile a Linux kernel 413 that runs on these, say Y here. 414 415config SGI_IP27 416 bool "SGI IP27 (Origin200/2000)" 417 select ARC 418 select ARC64 419 select BOOT_ELF64 420 select DEFAULT_SGI_PARTITION 421 select DMA_COHERENT 422 select SYS_HAS_EARLY_PRINTK 423 select HW_HAS_PCI 424 select NR_CPUS_DEFAULT_64 425 select SYS_HAS_CPU_R10000 426 select SYS_SUPPORTS_64BIT_KERNEL 427 select SYS_SUPPORTS_BIG_ENDIAN 428 select SYS_SUPPORTS_NUMA 429 select SYS_SUPPORTS_SMP 430 help 431 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics 432 workstations. To compile a Linux kernel that runs on these, say Y 433 here. 434 435config SGI_IP28 436 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)" 437 depends on EXPERIMENTAL 438 select ARC 439 select ARC64 440 select BOOT_ELF64 441 select CEVT_R4K 442 select CSRC_R4K 443 select DEFAULT_SGI_PARTITION 444 select DMA_NONCOHERENT 445 select GENERIC_ISA_DMA_SUPPORT_BROKEN 446 select IRQ_CPU 447 select HW_HAS_EISA 448 select I8253 449 select I8259 450 select SGI_HAS_I8042 451 select SGI_HAS_INDYDOG 452 select SGI_HAS_HAL2 453 select SGI_HAS_SEEQ 454 select SGI_HAS_WD93 455 select SGI_HAS_ZILOG 456 select SWAP_IO_SPACE 457 select SYS_HAS_CPU_R10000 458 # 459 # Disable EARLY_PRINTK for now since it leads to overwritten prom 460 # memory during early boot on some machines. 461 # 462 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 463 # for a more details discussion 464 # 465 # select SYS_HAS_EARLY_PRINTK 466 select SYS_SUPPORTS_64BIT_KERNEL 467 select SYS_SUPPORTS_BIG_ENDIAN 468 help 469 This is the SGI Indigo2 with R10000 processor. To compile a Linux 470 kernel that runs on these, say Y here. 471 472config SGI_IP32 473 bool "SGI IP32 (O2)" 474 select ARC 475 select ARC32 476 select BOOT_ELF32 477 select CEVT_R4K 478 select CSRC_R4K 479 select DMA_NONCOHERENT 480 select HW_HAS_PCI 481 select IRQ_CPU 482 select R5000_CPU_SCACHE 483 select RM7000_CPU_SCACHE 484 select SYS_HAS_CPU_R5000 485 select SYS_HAS_CPU_R10000 if BROKEN 486 select SYS_HAS_CPU_RM7000 487 select SYS_HAS_CPU_NEVADA 488 select SYS_SUPPORTS_64BIT_KERNEL 489 select SYS_SUPPORTS_BIG_ENDIAN 490 help 491 If you want this kernel to run on SGI O2 workstation, say Y here. 492 493config SIBYTE_CRHINE 494 bool "Sibyte BCM91120C-CRhine" 495 depends on EXPERIMENTAL 496 select BOOT_ELF32 497 select DMA_COHERENT 498 select SIBYTE_BCM1120 499 select SWAP_IO_SPACE 500 select SYS_HAS_CPU_SB1 501 select SYS_SUPPORTS_BIG_ENDIAN 502 select SYS_SUPPORTS_LITTLE_ENDIAN 503 504config SIBYTE_CARMEL 505 bool "Sibyte BCM91120x-Carmel" 506 depends on EXPERIMENTAL 507 select BOOT_ELF32 508 select DMA_COHERENT 509 select SIBYTE_BCM1120 510 select SWAP_IO_SPACE 511 select SYS_HAS_CPU_SB1 512 select SYS_SUPPORTS_BIG_ENDIAN 513 select SYS_SUPPORTS_LITTLE_ENDIAN 514 515config SIBYTE_CRHONE 516 bool "Sibyte BCM91125C-CRhone" 517 depends on EXPERIMENTAL 518 select BOOT_ELF32 519 select DMA_COHERENT 520 select SIBYTE_BCM1125 521 select SWAP_IO_SPACE 522 select SYS_HAS_CPU_SB1 523 select SYS_SUPPORTS_BIG_ENDIAN 524 select SYS_SUPPORTS_HIGHMEM 525 select SYS_SUPPORTS_LITTLE_ENDIAN 526 527config SIBYTE_RHONE 528 bool "Sibyte BCM91125E-Rhone" 529 depends on EXPERIMENTAL 530 select BOOT_ELF32 531 select DMA_COHERENT 532 select SIBYTE_BCM1125H 533 select SWAP_IO_SPACE 534 select SYS_HAS_CPU_SB1 535 select SYS_SUPPORTS_BIG_ENDIAN 536 select SYS_SUPPORTS_LITTLE_ENDIAN 537 538config SIBYTE_SWARM 539 bool "Sibyte BCM91250A-SWARM" 540 select BOOT_ELF32 541 select DMA_COHERENT 542 select HAVE_PATA_PLATFORM 543 select NR_CPUS_DEFAULT_2 544 select SIBYTE_SB1250 545 select SWAP_IO_SPACE 546 select SYS_HAS_CPU_SB1 547 select SYS_SUPPORTS_BIG_ENDIAN 548 select SYS_SUPPORTS_HIGHMEM 549 select SYS_SUPPORTS_LITTLE_ENDIAN 550 select ZONE_DMA32 if 64BIT 551 552config SIBYTE_LITTLESUR 553 bool "Sibyte BCM91250C2-LittleSur" 554 depends on EXPERIMENTAL 555 select BOOT_ELF32 556 select DMA_COHERENT 557 select HAVE_PATA_PLATFORM 558 select NR_CPUS_DEFAULT_2 559 select SIBYTE_SB1250 560 select SWAP_IO_SPACE 561 select SYS_HAS_CPU_SB1 562 select SYS_SUPPORTS_BIG_ENDIAN 563 select SYS_SUPPORTS_HIGHMEM 564 select SYS_SUPPORTS_LITTLE_ENDIAN 565 566config SIBYTE_SENTOSA 567 bool "Sibyte BCM91250E-Sentosa" 568 depends on EXPERIMENTAL 569 select BOOT_ELF32 570 select DMA_COHERENT 571 select NR_CPUS_DEFAULT_2 572 select SIBYTE_SB1250 573 select SWAP_IO_SPACE 574 select SYS_HAS_CPU_SB1 575 select SYS_SUPPORTS_BIG_ENDIAN 576 select SYS_SUPPORTS_LITTLE_ENDIAN 577 578config SIBYTE_BIGSUR 579 bool "Sibyte BCM91480B-BigSur" 580 select BOOT_ELF32 581 select DMA_COHERENT 582 select NR_CPUS_DEFAULT_4 583 select SIBYTE_BCM1x80 584 select SWAP_IO_SPACE 585 select SYS_HAS_CPU_SB1 586 select SYS_SUPPORTS_BIG_ENDIAN 587 select SYS_SUPPORTS_HIGHMEM 588 select SYS_SUPPORTS_LITTLE_ENDIAN 589 select ZONE_DMA32 if 64BIT 590 591config SNI_RM 592 bool "SNI RM200/300/400" 593 select ARC if CPU_LITTLE_ENDIAN 594 select ARC32 if CPU_LITTLE_ENDIAN 595 select SNIPROM if CPU_BIG_ENDIAN 596 select ARCH_MAY_HAVE_PC_FDC 597 select BOOT_ELF32 598 select CEVT_R4K 599 select CSRC_R4K 600 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 601 select DMA_NONCOHERENT 602 select GENERIC_ISA_DMA 603 select HW_HAS_EISA 604 select HW_HAS_PCI 605 select IRQ_CPU 606 select I8253 607 select I8259 608 select ISA 609 select SWAP_IO_SPACE if CPU_BIG_ENDIAN 610 select SYS_HAS_CPU_R4X00 611 select SYS_HAS_CPU_R5000 612 select SYS_HAS_CPU_R10000 613 select R5000_CPU_SCACHE 614 select SYS_HAS_EARLY_PRINTK 615 select SYS_SUPPORTS_32BIT_KERNEL 616 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 617 select SYS_SUPPORTS_BIG_ENDIAN 618 select SYS_SUPPORTS_HIGHMEM 619 select SYS_SUPPORTS_LITTLE_ENDIAN 620 help 621 The SNI RM200/300/400 are MIPS-based machines manufactured by 622 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid 623 Technology and now in turn merged with Fujitsu. Say Y here to 624 support this machine type. 625 626config MACH_TX39XX 627 bool "Toshiba TX39 series based machines" 628 629config MACH_TX49XX 630 bool "Toshiba TX49 series based machines" 631 632config MIKROTIK_RB532 633 bool "Mikrotik RB532 boards" 634 select CEVT_R4K 635 select CSRC_R4K 636 select DMA_NONCOHERENT 637 select HW_HAS_PCI 638 select IRQ_CPU 639 select SYS_HAS_CPU_MIPS32_R1 640 select SYS_SUPPORTS_32BIT_KERNEL 641 select SYS_SUPPORTS_LITTLE_ENDIAN 642 select SWAP_IO_SPACE 643 select BOOT_RAW 644 select ARCH_REQUIRE_GPIOLIB 645 help 646 Support the Mikrotik(tm) RouterBoard 532 series, 647 based on the IDT RC32434 SoC. 648 649config WR_PPMC 650 bool "Wind River PPMC board" 651 select CEVT_R4K 652 select CSRC_R4K 653 select IRQ_CPU 654 select BOOT_ELF32 655 select DMA_NONCOHERENT 656 select HW_HAS_PCI 657 select PCI_GT64XXX_PCI0 658 select SWAP_IO_SPACE 659 select SYS_HAS_CPU_MIPS32_R1 660 select SYS_HAS_CPU_MIPS32_R2 661 select SYS_HAS_CPU_MIPS64_R1 662 select SYS_HAS_CPU_NEVADA 663 select SYS_HAS_CPU_RM7000 664 select SYS_SUPPORTS_32BIT_KERNEL 665 select SYS_SUPPORTS_64BIT_KERNEL 666 select SYS_SUPPORTS_BIG_ENDIAN 667 select SYS_SUPPORTS_LITTLE_ENDIAN 668 help 669 This enables support for the Wind River MIPS32 4KC PPMC evaluation 670 board, which is based on GT64120 bridge chip. 671 672config CAVIUM_OCTEON_SIMULATOR 673 bool "Cavium Networks Octeon Simulator" 674 select CEVT_R4K 675 select 64BIT_PHYS_ADDR 676 select DMA_COHERENT 677 select SYS_SUPPORTS_64BIT_KERNEL 678 select SYS_SUPPORTS_BIG_ENDIAN 679 select SYS_SUPPORTS_HIGHMEM 680 select SYS_SUPPORTS_HOTPLUG_CPU 681 select SYS_HAS_CPU_CAVIUM_OCTEON 682 help 683 The Octeon simulator is software performance model of the Cavium 684 Octeon Processor. It supports simulating Octeon processors on x86 685 hardware. 686 687config CAVIUM_OCTEON_REFERENCE_BOARD 688 bool "Cavium Networks Octeon reference board" 689 select CEVT_R4K 690 select 64BIT_PHYS_ADDR 691 select DMA_COHERENT 692 select SYS_SUPPORTS_64BIT_KERNEL 693 select SYS_SUPPORTS_BIG_ENDIAN 694 select SYS_SUPPORTS_HIGHMEM 695 select SYS_SUPPORTS_HOTPLUG_CPU 696 select SYS_HAS_EARLY_PRINTK 697 select SYS_HAS_CPU_CAVIUM_OCTEON 698 select SWAP_IO_SPACE 699 select HW_HAS_PCI 700 select ARCH_SUPPORTS_MSI 701 select ZONE_DMA32 702 select USB_ARCH_HAS_OHCI 703 select USB_ARCH_HAS_EHCI 704 help 705 This option supports all of the Octeon reference boards from Cavium 706 Networks. It builds a kernel that dynamically determines the Octeon 707 CPU type and supports all known board reference implementations. 708 Some of the supported boards are: 709 EBT3000 710 EBH3000 711 EBH3100 712 Thunder 713 Kodama 714 Hikari 715 Say Y here for most Octeon reference boards. 716 717endchoice 718 719source "arch/mips/alchemy/Kconfig" 720source "arch/mips/bcm63xx/Kconfig" 721source "arch/mips/jazz/Kconfig" 722source "arch/mips/jz4740/Kconfig" 723source "arch/mips/lasat/Kconfig" 724source "arch/mips/pmc-sierra/Kconfig" 725source "arch/mips/powertv/Kconfig" 726source "arch/mips/sgi-ip27/Kconfig" 727source "arch/mips/sibyte/Kconfig" 728source "arch/mips/txx9/Kconfig" 729source "arch/mips/vr41xx/Kconfig" 730source "arch/mips/cavium-octeon/Kconfig" 731source "arch/mips/loongson/Kconfig" 732 733endmenu 734 735config RWSEM_GENERIC_SPINLOCK 736 bool 737 default y 738 739config RWSEM_XCHGADD_ALGORITHM 740 bool 741 742config ARCH_HAS_ILOG2_U32 743 bool 744 default n 745 746config ARCH_HAS_ILOG2_U64 747 bool 748 default n 749 750config ARCH_SUPPORTS_OPROFILE 751 bool 752 default y if !MIPS_MT_SMTC 753 754config GENERIC_FIND_NEXT_BIT 755 bool 756 default y 757 758config GENERIC_HWEIGHT 759 bool 760 default y 761 762config GENERIC_CALIBRATE_DELAY 763 bool 764 default y 765 766config GENERIC_CLOCKEVENTS 767 bool 768 default y 769 770config GENERIC_CMOS_UPDATE 771 bool 772 default y 773 774config SCHED_OMIT_FRAME_POINTER 775 bool 776 default y 777 778config GENERIC_HARDIRQS_NO__DO_IRQ 779 def_bool y 780 781# 782# Select some configuration options automatically based on user selections. 783# 784config ARC 785 bool 786 787config ARCH_MAY_HAVE_PC_FDC 788 bool 789 790config BOOT_RAW 791 bool 792 793config CEVT_BCM1480 794 bool 795 796config CEVT_DS1287 797 bool 798 799config CEVT_GT641XX 800 bool 801 802config CEVT_R4K_LIB 803 bool 804 805config CEVT_R4K 806 select CEVT_R4K_LIB 807 bool 808 809config CEVT_SB1250 810 bool 811 812config CEVT_TXX9 813 bool 814 815config CSRC_BCM1480 816 bool 817 818config CSRC_IOASIC 819 bool 820 821config CSRC_POWERTV 822 bool 823 824config CSRC_R4K_LIB 825 bool 826 827config CSRC_R4K 828 select CSRC_R4K_LIB 829 bool 830 831config CSRC_SB1250 832 bool 833 834config GPIO_TXX9 835 select GENERIC_GPIO 836 select ARCH_REQUIRE_GPIOLIB 837 bool 838 839config CFE 840 bool 841 842config DMA_COHERENT 843 bool 844 845config DMA_NONCOHERENT 846 bool 847 select NEED_DMA_MAP_STATE 848 849config NEED_DMA_MAP_STATE 850 bool 851 852config SYS_HAS_EARLY_PRINTK 853 bool 854 855config HOTPLUG_CPU 856 bool "Support for hot-pluggable CPUs" 857 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU 858 help 859 Say Y here to allow turning CPUs off and on. CPUs can be 860 controlled through /sys/devices/system/cpu. 861 (Note: power management support will enable this option 862 automatically on SMP systems. ) 863 Say N if you want to disable CPU hotplug. 864 865config SYS_SUPPORTS_HOTPLUG_CPU 866 bool 867 868config I8259 869 bool 870 871config MIPS_BONITO64 872 bool 873 874config MIPS_MSC 875 bool 876 877config MIPS_NILE4 878 bool 879 880config MIPS_DISABLE_OBSOLETE_IDE 881 bool 882 883config SYNC_R4K 884 bool 885 886config NO_IOPORT 887 def_bool n 888 889config GENERIC_ISA_DMA 890 bool 891 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 892 select ISA_DMA_API 893 894config GENERIC_ISA_DMA_SUPPORT_BROKEN 895 bool 896 select GENERIC_ISA_DMA 897 898config ISA_DMA_API 899 bool 900 901config GENERIC_GPIO 902 bool 903 904# 905# Endianess selection. Sufficiently obscure so many users don't know what to 906# answer,so we try hard to limit the available choices. Also the use of a 907# choice statement should be more obvious to the user. 908# 909choice 910 prompt "Endianess selection" 911 help 912 Some MIPS machines can be configured for either little or big endian 913 byte order. These modes require different kernels and a different 914 Linux distribution. In general there is one preferred byteorder for a 915 particular system but some systems are just as commonly used in the 916 one or the other endianness. 917 918config CPU_BIG_ENDIAN 919 bool "Big endian" 920 depends on SYS_SUPPORTS_BIG_ENDIAN 921 922config CPU_LITTLE_ENDIAN 923 bool "Little endian" 924 depends on SYS_SUPPORTS_LITTLE_ENDIAN 925 help 926 927endchoice 928 929config EXPORT_UASM 930 bool 931 932config SYS_SUPPORTS_APM_EMULATION 933 bool 934 935config SYS_SUPPORTS_BIG_ENDIAN 936 bool 937 938config SYS_SUPPORTS_LITTLE_ENDIAN 939 bool 940 941config SYS_SUPPORTS_HUGETLBFS 942 bool 943 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT 944 default y 945 946config IRQ_CPU 947 bool 948 949config IRQ_CPU_RM7K 950 bool 951 952config IRQ_CPU_RM9K 953 bool 954 955config IRQ_MSP_SLP 956 bool 957 958config IRQ_MSP_CIC 959 bool 960 961config IRQ_TXX9 962 bool 963 964config IRQ_GT641XX 965 bool 966 967config IRQ_GIC 968 bool 969 970config IRQ_CPU_OCTEON 971 bool 972 973config MIPS_BOARDS_GEN 974 bool 975 976config PCI_GT64XXX_PCI0 977 bool 978 979config NO_EXCEPT_FILL 980 bool 981 982config MIPS_RM9122 983 bool 984 select SERIAL_RM9000 985 986config SOC_EMMA2RH 987 bool 988 select CEVT_R4K 989 select CSRC_R4K 990 select DMA_NONCOHERENT 991 select IRQ_CPU 992 select SWAP_IO_SPACE 993 select SYS_HAS_CPU_R5500 994 select SYS_SUPPORTS_32BIT_KERNEL 995 select SYS_SUPPORTS_64BIT_KERNEL 996 select SYS_SUPPORTS_BIG_ENDIAN 997 998config SOC_PNX833X 999 bool 1000 select CEVT_R4K 1001 select CSRC_R4K 1002 select IRQ_CPU 1003 select DMA_NONCOHERENT 1004 select SYS_HAS_CPU_MIPS32_R2 1005 select SYS_SUPPORTS_32BIT_KERNEL 1006 select SYS_SUPPORTS_LITTLE_ENDIAN 1007 select SYS_SUPPORTS_BIG_ENDIAN 1008 select GENERIC_GPIO 1009 select CPU_MIPSR2_IRQ_VI 1010 1011config SOC_PNX8335 1012 bool 1013 select SOC_PNX833X 1014 1015config PNX8550 1016 bool 1017 select SOC_PNX8550 1018 1019config SOC_PNX8550 1020 bool 1021 select DMA_NONCOHERENT 1022 select HW_HAS_PCI 1023 select SYS_HAS_CPU_MIPS32_R1 1024 select SYS_HAS_EARLY_PRINTK 1025 select SYS_SUPPORTS_32BIT_KERNEL 1026 select GENERIC_GPIO 1027 1028config SWAP_IO_SPACE 1029 bool 1030 1031config SERIAL_RM9000 1032 bool 1033 1034config SGI_HAS_INDYDOG 1035 bool 1036 1037config SGI_HAS_HAL2 1038 bool 1039 1040config SGI_HAS_SEEQ 1041 bool 1042 1043config SGI_HAS_WD93 1044 bool 1045 1046config SGI_HAS_ZILOG 1047 bool 1048 1049config SGI_HAS_I8042 1050 bool 1051 1052config DEFAULT_SGI_PARTITION 1053 bool 1054 1055config ARC32 1056 bool 1057 1058config SNIPROM 1059 bool 1060 1061config BOOT_ELF32 1062 bool 1063 1064config MIPS_L1_CACHE_SHIFT 1065 int 1066 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL 1067 default "6" if MIPS_CPU_SCACHE 1068 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON 1069 default "5" 1070 1071config HAVE_STD_PC_SERIAL_PORT 1072 bool 1073 1074config ARC_CONSOLE 1075 bool "ARC console support" 1076 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 1077 1078config ARC_MEMORY 1079 bool 1080 depends on MACH_JAZZ || SNI_RM || SGI_IP32 1081 default y 1082 1083config ARC_PROMLIB 1084 bool 1085 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 1086 default y 1087 1088config ARC64 1089 bool 1090 1091config BOOT_ELF64 1092 bool 1093 1094menu "CPU selection" 1095 1096choice 1097 prompt "CPU type" 1098 default CPU_R4X00 1099 1100config CPU_LOONGSON2E 1101 bool "Loongson 2E" 1102 depends on SYS_HAS_CPU_LOONGSON2E 1103 select CPU_LOONGSON2 1104 help 1105 The Loongson 2E processor implements the MIPS III instruction set 1106 with many extensions. 1107 1108 It has an internal FPGA northbridge, which is compatiable to 1109 bonito64. 1110 1111config CPU_LOONGSON2F 1112 bool "Loongson 2F" 1113 depends on SYS_HAS_CPU_LOONGSON2F 1114 select CPU_LOONGSON2 1115 select GENERIC_GPIO 1116 select ARCH_REQUIRE_GPIOLIB 1117 help 1118 The Loongson 2F processor implements the MIPS III instruction set 1119 with many extensions. 1120 1121 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller 1122 have a similar programming interface with FPGA northbridge used in 1123 Loongson2E. 1124 1125config CPU_MIPS32_R1 1126 bool "MIPS32 Release 1" 1127 depends on SYS_HAS_CPU_MIPS32_R1 1128 select CPU_HAS_PREFETCH 1129 select CPU_SUPPORTS_32BIT_KERNEL 1130 select CPU_SUPPORTS_HIGHMEM 1131 help 1132 Choose this option to build a kernel for release 1 or later of the 1133 MIPS32 architecture. Most modern embedded systems with a 32-bit 1134 MIPS processor are based on a MIPS32 processor. If you know the 1135 specific type of processor in your system, choose those that one 1136 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1137 Release 2 of the MIPS32 architecture is available since several 1138 years so chances are you even have a MIPS32 Release 2 processor 1139 in which case you should choose CPU_MIPS32_R2 instead for better 1140 performance. 1141 1142config CPU_MIPS32_R2 1143 bool "MIPS32 Release 2" 1144 depends on SYS_HAS_CPU_MIPS32_R2 1145 select CPU_HAS_PREFETCH 1146 select CPU_SUPPORTS_32BIT_KERNEL 1147 select CPU_SUPPORTS_HIGHMEM 1148 help 1149 Choose this option to build a kernel for release 2 or later of the 1150 MIPS32 architecture. Most modern embedded systems with a 32-bit 1151 MIPS processor are based on a MIPS32 processor. If you know the 1152 specific type of processor in your system, choose those that one 1153 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1154 1155config CPU_MIPS64_R1 1156 bool "MIPS64 Release 1" 1157 depends on SYS_HAS_CPU_MIPS64_R1 1158 select CPU_HAS_PREFETCH 1159 select CPU_SUPPORTS_32BIT_KERNEL 1160 select CPU_SUPPORTS_64BIT_KERNEL 1161 select CPU_SUPPORTS_HIGHMEM 1162 select CPU_SUPPORTS_HUGEPAGES 1163 help 1164 Choose this option to build a kernel for release 1 or later of the 1165 MIPS64 architecture. Many modern embedded systems with a 64-bit 1166 MIPS processor are based on a MIPS64 processor. If you know the 1167 specific type of processor in your system, choose those that one 1168 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1169 Release 2 of the MIPS64 architecture is available since several 1170 years so chances are you even have a MIPS64 Release 2 processor 1171 in which case you should choose CPU_MIPS64_R2 instead for better 1172 performance. 1173 1174config CPU_MIPS64_R2 1175 bool "MIPS64 Release 2" 1176 depends on SYS_HAS_CPU_MIPS64_R2 1177 select CPU_HAS_PREFETCH 1178 select CPU_SUPPORTS_32BIT_KERNEL 1179 select CPU_SUPPORTS_64BIT_KERNEL 1180 select CPU_SUPPORTS_HIGHMEM 1181 select CPU_SUPPORTS_HUGEPAGES 1182 help 1183 Choose this option to build a kernel for release 2 or later of the 1184 MIPS64 architecture. Many modern embedded systems with a 64-bit 1185 MIPS processor are based on a MIPS64 processor. If you know the 1186 specific type of processor in your system, choose those that one 1187 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1188 1189config CPU_R3000 1190 bool "R3000" 1191 depends on SYS_HAS_CPU_R3000 1192 select CPU_HAS_WB 1193 select CPU_SUPPORTS_32BIT_KERNEL 1194 select CPU_SUPPORTS_HIGHMEM 1195 help 1196 Please make sure to pick the right CPU type. Linux/MIPS is not 1197 designed to be generic, i.e. Kernels compiled for R3000 CPUs will 1198 *not* work on R4000 machines and vice versa. However, since most 1199 of the supported machines have an R4000 (or similar) CPU, R4x00 1200 might be a safe bet. If the resulting kernel does not work, 1201 try to recompile with R3000. 1202 1203config CPU_TX39XX 1204 bool "R39XX" 1205 depends on SYS_HAS_CPU_TX39XX 1206 select CPU_SUPPORTS_32BIT_KERNEL 1207 1208config CPU_VR41XX 1209 bool "R41xx" 1210 depends on SYS_HAS_CPU_VR41XX 1211 select CPU_SUPPORTS_32BIT_KERNEL 1212 select CPU_SUPPORTS_64BIT_KERNEL 1213 help 1214 The options selects support for the NEC VR4100 series of processors. 1215 Only choose this option if you have one of these processors as a 1216 kernel built with this option will not run on any other type of 1217 processor or vice versa. 1218 1219config CPU_R4300 1220 bool "R4300" 1221 depends on SYS_HAS_CPU_R4300 1222 select CPU_SUPPORTS_32BIT_KERNEL 1223 select CPU_SUPPORTS_64BIT_KERNEL 1224 help 1225 MIPS Technologies R4300-series processors. 1226 1227config CPU_R4X00 1228 bool "R4x00" 1229 depends on SYS_HAS_CPU_R4X00 1230 select CPU_SUPPORTS_32BIT_KERNEL 1231 select CPU_SUPPORTS_64BIT_KERNEL 1232 help 1233 MIPS Technologies R4000-series processors other than 4300, including 1234 the R4000, R4400, R4600, and 4700. 1235 1236config CPU_TX49XX 1237 bool "R49XX" 1238 depends on SYS_HAS_CPU_TX49XX 1239 select CPU_HAS_PREFETCH 1240 select CPU_SUPPORTS_32BIT_KERNEL 1241 select CPU_SUPPORTS_64BIT_KERNEL 1242 1243config CPU_R5000 1244 bool "R5000" 1245 depends on SYS_HAS_CPU_R5000 1246 select CPU_SUPPORTS_32BIT_KERNEL 1247 select CPU_SUPPORTS_64BIT_KERNEL 1248 help 1249 MIPS Technologies R5000-series processors other than the Nevada. 1250 1251config CPU_R5432 1252 bool "R5432" 1253 depends on SYS_HAS_CPU_R5432 1254 select CPU_SUPPORTS_32BIT_KERNEL 1255 select CPU_SUPPORTS_64BIT_KERNEL 1256 1257config CPU_R5500 1258 bool "R5500" 1259 depends on SYS_HAS_CPU_R5500 1260 select CPU_SUPPORTS_32BIT_KERNEL 1261 select CPU_SUPPORTS_64BIT_KERNEL 1262 select CPU_SUPPORTS_HUGEPAGES 1263 help 1264 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1265 instruction set. 1266 1267config CPU_R6000 1268 bool "R6000" 1269 depends on EXPERIMENTAL 1270 depends on SYS_HAS_CPU_R6000 1271 select CPU_SUPPORTS_32BIT_KERNEL 1272 help 1273 MIPS Technologies R6000 and R6000A series processors. Note these 1274 processors are extremely rare and the support for them is incomplete. 1275 1276config CPU_NEVADA 1277 bool "RM52xx" 1278 depends on SYS_HAS_CPU_NEVADA 1279 select CPU_SUPPORTS_32BIT_KERNEL 1280 select CPU_SUPPORTS_64BIT_KERNEL 1281 help 1282 QED / PMC-Sierra RM52xx-series ("Nevada") processors. 1283 1284config CPU_R8000 1285 bool "R8000" 1286 depends on EXPERIMENTAL 1287 depends on SYS_HAS_CPU_R8000 1288 select CPU_HAS_PREFETCH 1289 select CPU_SUPPORTS_64BIT_KERNEL 1290 help 1291 MIPS Technologies R8000 processors. Note these processors are 1292 uncommon and the support for them is incomplete. 1293 1294config CPU_R10000 1295 bool "R10000" 1296 depends on SYS_HAS_CPU_R10000 1297 select CPU_HAS_PREFETCH 1298 select CPU_SUPPORTS_32BIT_KERNEL 1299 select CPU_SUPPORTS_64BIT_KERNEL 1300 select CPU_SUPPORTS_HIGHMEM 1301 help 1302 MIPS Technologies R10000-series processors. 1303 1304config CPU_RM7000 1305 bool "RM7000" 1306 depends on SYS_HAS_CPU_RM7000 1307 select CPU_HAS_PREFETCH 1308 select CPU_SUPPORTS_32BIT_KERNEL 1309 select CPU_SUPPORTS_64BIT_KERNEL 1310 select CPU_SUPPORTS_HIGHMEM 1311 1312config CPU_RM9000 1313 bool "RM9000" 1314 depends on SYS_HAS_CPU_RM9000 1315 select CPU_HAS_PREFETCH 1316 select CPU_SUPPORTS_32BIT_KERNEL 1317 select CPU_SUPPORTS_64BIT_KERNEL 1318 select CPU_SUPPORTS_HIGHMEM 1319 select WEAK_ORDERING 1320 1321config CPU_SB1 1322 bool "SB1" 1323 depends on SYS_HAS_CPU_SB1 1324 select CPU_SUPPORTS_32BIT_KERNEL 1325 select CPU_SUPPORTS_64BIT_KERNEL 1326 select CPU_SUPPORTS_HIGHMEM 1327 select WEAK_ORDERING 1328 1329config CPU_CAVIUM_OCTEON 1330 bool "Cavium Octeon processor" 1331 depends on SYS_HAS_CPU_CAVIUM_OCTEON 1332 select IRQ_CPU 1333 select IRQ_CPU_OCTEON 1334 select CPU_HAS_PREFETCH 1335 select CPU_SUPPORTS_64BIT_KERNEL 1336 select SYS_SUPPORTS_SMP 1337 select NR_CPUS_DEFAULT_16 1338 select WEAK_ORDERING 1339 select CPU_SUPPORTS_HIGHMEM 1340 select CPU_SUPPORTS_HUGEPAGES 1341 help 1342 The Cavium Octeon processor is a highly integrated chip containing 1343 many ethernet hardware widgets for networking tasks. The processor 1344 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. 1345 Full details can be found at http://www.caviumnetworks.com. 1346 1347config CPU_BMIPS3300 1348 bool "BMIPS3300" 1349 depends on SYS_HAS_CPU_BMIPS3300 1350 select DMA_NONCOHERENT 1351 select IRQ_CPU 1352 select SWAP_IO_SPACE 1353 select SYS_SUPPORTS_32BIT_KERNEL 1354 select WEAK_ORDERING 1355 help 1356 Broadcom BMIPS3300 processors. 1357 1358config CPU_BMIPS4350 1359 bool "BMIPS4350" 1360 depends on SYS_HAS_CPU_BMIPS4350 1361 select CPU_SUPPORTS_32BIT_KERNEL 1362 select DMA_NONCOHERENT 1363 select IRQ_CPU 1364 select SWAP_IO_SPACE 1365 select SYS_SUPPORTS_SMP 1366 select SYS_SUPPORTS_HOTPLUG_CPU 1367 select WEAK_ORDERING 1368 help 1369 Broadcom BMIPS4350 ("VIPER") processors. 1370 1371config CPU_BMIPS4380 1372 bool "BMIPS4380" 1373 depends on SYS_HAS_CPU_BMIPS4380 1374 select CPU_SUPPORTS_32BIT_KERNEL 1375 select DMA_NONCOHERENT 1376 select IRQ_CPU 1377 select SWAP_IO_SPACE 1378 select SYS_SUPPORTS_SMP 1379 select SYS_SUPPORTS_HOTPLUG_CPU 1380 select WEAK_ORDERING 1381 help 1382 Broadcom BMIPS4380 processors. 1383 1384config CPU_BMIPS5000 1385 bool "BMIPS5000" 1386 depends on SYS_HAS_CPU_BMIPS5000 1387 select CPU_SUPPORTS_32BIT_KERNEL 1388 select CPU_SUPPORTS_HIGHMEM 1389 select DMA_NONCOHERENT 1390 select IRQ_CPU 1391 select SWAP_IO_SPACE 1392 select SYS_SUPPORTS_SMP 1393 select SYS_SUPPORTS_HOTPLUG_CPU 1394 select WEAK_ORDERING 1395 help 1396 Broadcom BMIPS5000 processors. 1397 1398endchoice 1399 1400if CPU_LOONGSON2F 1401config CPU_NOP_WORKAROUNDS 1402 bool 1403 1404config CPU_JUMP_WORKAROUNDS 1405 bool 1406 1407config CPU_LOONGSON2F_WORKAROUNDS 1408 bool "Loongson 2F Workarounds" 1409 default y 1410 select CPU_NOP_WORKAROUNDS 1411 select CPU_JUMP_WORKAROUNDS 1412 help 1413 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 1414 require workarounds. Without workarounds the system may hang 1415 unexpectedly. For more information please refer to the gas 1416 -mfix-loongson2f-nop and -mfix-loongson2f-jump options. 1417 1418 Loongson 2F03 and later have fixed these issues and no workarounds 1419 are needed. The workarounds have no significant side effect on them 1420 but may decrease the performance of the system so this option should 1421 be disabled unless the kernel is intended to be run on 2F01 or 2F02 1422 systems. 1423 1424 If unsure, please say Y. 1425endif # CPU_LOONGSON2F 1426 1427config SYS_SUPPORTS_ZBOOT 1428 bool 1429 select HAVE_KERNEL_GZIP 1430 select HAVE_KERNEL_BZIP2 1431 select HAVE_KERNEL_LZMA 1432 select HAVE_KERNEL_LZO 1433 1434config SYS_SUPPORTS_ZBOOT_UART16550 1435 bool 1436 select SYS_SUPPORTS_ZBOOT 1437 1438config CPU_LOONGSON2 1439 bool 1440 select CPU_SUPPORTS_32BIT_KERNEL 1441 select CPU_SUPPORTS_64BIT_KERNEL 1442 select CPU_SUPPORTS_HIGHMEM 1443 1444config SYS_HAS_CPU_LOONGSON2E 1445 bool 1446 1447config SYS_HAS_CPU_LOONGSON2F 1448 bool 1449 select CPU_SUPPORTS_CPUFREQ 1450 select CPU_SUPPORTS_ADDRWINCFG if 64BIT 1451 select CPU_SUPPORTS_UNCACHED_ACCELERATED 1452 1453config SYS_HAS_CPU_MIPS32_R1 1454 bool 1455 1456config SYS_HAS_CPU_MIPS32_R2 1457 bool 1458 1459config SYS_HAS_CPU_MIPS64_R1 1460 bool 1461 1462config SYS_HAS_CPU_MIPS64_R2 1463 bool 1464 1465config SYS_HAS_CPU_R3000 1466 bool 1467 1468config SYS_HAS_CPU_TX39XX 1469 bool 1470 1471config SYS_HAS_CPU_VR41XX 1472 bool 1473 1474config SYS_HAS_CPU_R4300 1475 bool 1476 1477config SYS_HAS_CPU_R4X00 1478 bool 1479 1480config SYS_HAS_CPU_TX49XX 1481 bool 1482 1483config SYS_HAS_CPU_R5000 1484 bool 1485 1486config SYS_HAS_CPU_R5432 1487 bool 1488 1489config SYS_HAS_CPU_R5500 1490 bool 1491 1492config SYS_HAS_CPU_R6000 1493 bool 1494 1495config SYS_HAS_CPU_NEVADA 1496 bool 1497 1498config SYS_HAS_CPU_R8000 1499 bool 1500 1501config SYS_HAS_CPU_R10000 1502 bool 1503 1504config SYS_HAS_CPU_RM7000 1505 bool 1506 1507config SYS_HAS_CPU_RM9000 1508 bool 1509 1510config SYS_HAS_CPU_SB1 1511 bool 1512 1513config SYS_HAS_CPU_CAVIUM_OCTEON 1514 bool 1515 1516config SYS_HAS_CPU_BMIPS3300 1517 bool 1518 1519config SYS_HAS_CPU_BMIPS4350 1520 bool 1521 1522config SYS_HAS_CPU_BMIPS4380 1523 bool 1524 1525config SYS_HAS_CPU_BMIPS5000 1526 bool 1527 1528# 1529# CPU may reorder R->R, R->W, W->R, W->W 1530# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1531# 1532config WEAK_ORDERING 1533 bool 1534 1535# 1536# CPU may reorder reads and writes beyond LL/SC 1537# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 1538# 1539config WEAK_REORDERING_BEYOND_LLSC 1540 bool 1541endmenu 1542 1543# 1544# These two indicate any level of the MIPS32 and MIPS64 architecture 1545# 1546config CPU_MIPS32 1547 bool 1548 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 1549 1550config CPU_MIPS64 1551 bool 1552 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 1553 1554# 1555# These two indicate the revision of the architecture, either Release 1 or Release 2 1556# 1557config CPU_MIPSR1 1558 bool 1559 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 1560 1561config CPU_MIPSR2 1562 bool 1563 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 1564 1565config SYS_SUPPORTS_32BIT_KERNEL 1566 bool 1567config SYS_SUPPORTS_64BIT_KERNEL 1568 bool 1569config CPU_SUPPORTS_32BIT_KERNEL 1570 bool 1571config CPU_SUPPORTS_64BIT_KERNEL 1572 bool 1573config CPU_SUPPORTS_CPUFREQ 1574 bool 1575config CPU_SUPPORTS_ADDRWINCFG 1576 bool 1577config CPU_SUPPORTS_HUGEPAGES 1578 bool 1579config CPU_SUPPORTS_UNCACHED_ACCELERATED 1580 bool 1581config MIPS_PGD_C0_CONTEXT 1582 bool 1583 default y if 64BIT && CPU_MIPSR2 1584 1585# 1586# Set to y for ptrace access to watch registers. 1587# 1588config HARDWARE_WATCHPOINTS 1589 bool 1590 default y if CPU_MIPSR1 || CPU_MIPSR2 1591 1592menu "Kernel type" 1593 1594choice 1595 1596 prompt "Kernel code model" 1597 help 1598 You should only select this option if you have a workload that 1599 actually benefits from 64-bit processing or if your machine has 1600 large memory. You will only be presented a single option in this 1601 menu if your system does not support both 32-bit and 64-bit kernels. 1602 1603config 32BIT 1604 bool "32-bit kernel" 1605 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 1606 select TRAD_SIGNALS 1607 help 1608 Select this option if you want to build a 32-bit kernel. 1609config 64BIT 1610 bool "64-bit kernel" 1611 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 1612 select HAVE_SYSCALL_WRAPPERS 1613 help 1614 Select this option if you want to build a 64-bit kernel. 1615 1616endchoice 1617 1618choice 1619 prompt "Kernel page size" 1620 default PAGE_SIZE_4KB 1621 1622config PAGE_SIZE_4KB 1623 bool "4kB" 1624 depends on !CPU_LOONGSON2 1625 help 1626 This option select the standard 4kB Linux page size. On some 1627 R3000-family processors this is the only available page size. Using 1628 4kB page size will minimize memory consumption and is therefore 1629 recommended for low memory systems. 1630 1631config PAGE_SIZE_8KB 1632 bool "8kB" 1633 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON 1634 help 1635 Using 8kB page size will result in higher performance kernel at 1636 the price of higher memory consumption. This option is available 1637 only on R8000 and cnMIPS processors. Note that you will need a 1638 suitable Linux distribution to support this. 1639 1640config PAGE_SIZE_16KB 1641 bool "16kB" 1642 depends on !CPU_R3000 && !CPU_TX39XX 1643 help 1644 Using 16kB page size will result in higher performance kernel at 1645 the price of higher memory consumption. This option is available on 1646 all non-R3000 family processors. Note that you will need a suitable 1647 Linux distribution to support this. 1648 1649config PAGE_SIZE_32KB 1650 bool "32kB" 1651 depends on CPU_CAVIUM_OCTEON 1652 help 1653 Using 32kB page size will result in higher performance kernel at 1654 the price of higher memory consumption. This option is available 1655 only on cnMIPS cores. Note that you will need a suitable Linux 1656 distribution to support this. 1657 1658config PAGE_SIZE_64KB 1659 bool "64kB" 1660 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX 1661 help 1662 Using 64kB page size will result in higher performance kernel at 1663 the price of higher memory consumption. This option is available on 1664 all non-R3000 family processor. Not that at the time of this 1665 writing this option is still high experimental. 1666 1667endchoice 1668 1669config FORCE_MAX_ZONEORDER 1670 int "Maximum zone order" 1671 range 13 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB 1672 default "13" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB 1673 range 12 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB 1674 default "12" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB 1675 range 11 64 1676 default "11" 1677 help 1678 The kernel memory allocator divides physically contiguous memory 1679 blocks into "zones", where each zone is a power of two number of 1680 pages. This option selects the largest power of two that the kernel 1681 keeps in the memory allocator. If you need to allocate very large 1682 blocks of physically contiguous memory, then you may need to 1683 increase this value. 1684 1685 This config option is actually maximum order plus one. For example, 1686 a value of 11 means that the largest free memory block is 2^10 pages. 1687 1688 The page size is not necessarily 4KB. Keep this in mind 1689 when choosing a value for this option. 1690 1691config BOARD_SCACHE 1692 bool 1693 1694config IP22_CPU_SCACHE 1695 bool 1696 select BOARD_SCACHE 1697 1698# 1699# Support for a MIPS32 / MIPS64 style S-caches 1700# 1701config MIPS_CPU_SCACHE 1702 bool 1703 select BOARD_SCACHE 1704 1705config R5000_CPU_SCACHE 1706 bool 1707 select BOARD_SCACHE 1708 1709config RM7000_CPU_SCACHE 1710 bool 1711 select BOARD_SCACHE 1712 1713config SIBYTE_DMA_PAGEOPS 1714 bool "Use DMA to clear/copy pages" 1715 depends on CPU_SB1 1716 help 1717 Instead of using the CPU to zero and copy pages, use a Data Mover 1718 channel. These DMA channels are otherwise unused by the standard 1719 SiByte Linux port. Seems to give a small performance benefit. 1720 1721config CPU_HAS_PREFETCH 1722 bool 1723 1724choice 1725 prompt "MIPS MT options" 1726 1727config MIPS_MT_DISABLED 1728 bool "Disable multithreading support." 1729 help 1730 Use this option if your workload can't take advantage of 1731 MIPS hardware multithreading support. On systems that don't have 1732 the option of an MT-enabled processor this option will be the only 1733 option in this menu. 1734 1735config MIPS_MT_SMP 1736 bool "Use 1 TC on each available VPE for SMP" 1737 depends on SYS_SUPPORTS_MULTITHREADING 1738 select CPU_MIPSR2_IRQ_VI 1739 select CPU_MIPSR2_IRQ_EI 1740 select MIPS_MT 1741 select NR_CPUS_DEFAULT_2 1742 select SMP 1743 select SYS_SUPPORTS_SCHED_SMT if SMP 1744 select SYS_SUPPORTS_SMP 1745 select SMP_UP 1746 help 1747 This is a kernel model which is known a VSMP but lately has been 1748 marketesed into SMVP. 1749 Virtual SMP uses the processor's VPEs to implement virtual 1750 processors. In currently available configuration of the 34K processor 1751 this allows for a dual processor. Both processors will share the same 1752 primary caches; each will obtain the half of the TLB for it's own 1753 exclusive use. For a layman this model can be described as similar to 1754 what Intel calls Hyperthreading. 1755 1756 For further information see http://www.linux-mips.org/wiki/34K#VSMP 1757 1758config MIPS_MT_SMTC 1759 bool "SMTC: Use all TCs on all VPEs for SMP" 1760 depends on CPU_MIPS32_R2 1761 #depends on CPU_MIPS64_R2 # once there is hardware ... 1762 depends on SYS_SUPPORTS_MULTITHREADING 1763 select CPU_MIPSR2_IRQ_VI 1764 select CPU_MIPSR2_IRQ_EI 1765 select MIPS_MT 1766 select NR_CPUS_DEFAULT_8 1767 select SMP 1768 select SYS_SUPPORTS_SMP 1769 select SMP_UP 1770 help 1771 This is a kernel model which is known a SMTC or lately has been 1772 marketesed into SMVP. 1773 is presenting the available TC's of the core as processors to Linux. 1774 On currently available 34K processors this means a Linux system will 1775 see up to 5 processors. The implementation of the SMTC kernel differs 1776 significantly from VSMP and cannot efficiently coexist in the same 1777 kernel binary so the choice between VSMP and SMTC is a compile time 1778 decision. 1779 1780 For further information see http://www.linux-mips.org/wiki/34K#SMTC 1781 1782endchoice 1783 1784config MIPS_MT 1785 bool 1786 1787config SCHED_SMT 1788 bool "SMT (multithreading) scheduler support" 1789 depends on SYS_SUPPORTS_SCHED_SMT 1790 default n 1791 help 1792 SMT scheduler support improves the CPU scheduler's decision making 1793 when dealing with MIPS MT enabled cores at a cost of slightly 1794 increased overhead in some places. If unsure say N here. 1795 1796config SYS_SUPPORTS_SCHED_SMT 1797 bool 1798 1799 1800config SYS_SUPPORTS_MULTITHREADING 1801 bool 1802 1803config MIPS_MT_FPAFF 1804 bool "Dynamic FPU affinity for FP-intensive threads" 1805 default y 1806 depends on MIPS_MT_SMP || MIPS_MT_SMTC 1807 1808config MIPS_VPE_LOADER 1809 bool "VPE loader support." 1810 depends on SYS_SUPPORTS_MULTITHREADING 1811 select CPU_MIPSR2_IRQ_VI 1812 select CPU_MIPSR2_IRQ_EI 1813 select MIPS_MT 1814 help 1815 Includes a loader for loading an elf relocatable object 1816 onto another VPE and running it. 1817 1818config MIPS_MT_SMTC_IM_BACKSTOP 1819 bool "Use per-TC register bits as backstop for inhibited IM bits" 1820 depends on MIPS_MT_SMTC 1821 default n 1822 help 1823 To support multiple TC microthreads acting as "CPUs" within 1824 a VPE, VPE-wide interrupt mask bits must be specially manipulated 1825 during interrupt handling. To support legacy drivers and interrupt 1826 controller management code, SMTC has a "backstop" to track and 1827 if necessary restore the interrupt mask. This has some performance 1828 impact on interrupt service overhead. 1829 1830config MIPS_MT_SMTC_IRQAFF 1831 bool "Support IRQ affinity API" 1832 depends on MIPS_MT_SMTC 1833 default n 1834 help 1835 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.) 1836 for SMTC Linux kernel. Requires platform support, of which 1837 an example can be found in the MIPS kernel i8259 and Malta 1838 platform code. Adds some overhead to interrupt dispatch, and 1839 should be used only if you know what you are doing. 1840 1841config MIPS_VPE_LOADER_TOM 1842 bool "Load VPE program into memory hidden from linux" 1843 depends on MIPS_VPE_LOADER 1844 default y 1845 help 1846 The loader can use memory that is present but has been hidden from 1847 Linux using the kernel command line option "mem=xxMB". It's up to 1848 you to ensure the amount you put in the option and the space your 1849 program requires is less or equal to the amount physically present. 1850 1851# this should possibly be in drivers/char, but it is rather cpu related. Hmmm 1852config MIPS_VPE_APSP_API 1853 bool "Enable support for AP/SP API (RTLX)" 1854 depends on MIPS_VPE_LOADER 1855 help 1856 1857config MIPS_APSP_KSPD 1858 bool "Enable KSPD" 1859 depends on MIPS_VPE_APSP_API 1860 default y 1861 help 1862 KSPD is a kernel daemon that accepts syscall requests from the SP 1863 side, actions them and returns the results. It also handles the 1864 "exit" syscall notifying other kernel modules the SP program is 1865 exiting. You probably want to say yes here. 1866 1867config MIPS_CMP 1868 bool "MIPS CMP framework support" 1869 depends on SYS_SUPPORTS_MIPS_CMP 1870 select SYNC_R4K 1871 select SYS_SUPPORTS_SMP 1872 select SYS_SUPPORTS_SCHED_SMT if SMP 1873 select WEAK_ORDERING 1874 default n 1875 help 1876 This is a placeholder option for the GCMP work. It will need to 1877 be handled differently... 1878 1879config SB1_PASS_1_WORKAROUNDS 1880 bool 1881 depends on CPU_SB1_PASS_1 1882 default y 1883 1884config SB1_PASS_2_WORKAROUNDS 1885 bool 1886 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 1887 default y 1888 1889config SB1_PASS_2_1_WORKAROUNDS 1890 bool 1891 depends on CPU_SB1 && CPU_SB1_PASS_2 1892 default y 1893 1894config 64BIT_PHYS_ADDR 1895 bool 1896 1897config ARCH_PHYS_ADDR_T_64BIT 1898 def_bool 64BIT_PHYS_ADDR 1899 1900config CPU_HAS_SMARTMIPS 1901 depends on SYS_SUPPORTS_SMARTMIPS 1902 bool "Support for the SmartMIPS ASE" 1903 help 1904 SmartMIPS is a extension of the MIPS32 architecture aimed at 1905 increased security at both hardware and software level for 1906 smartcards. Enabling this option will allow proper use of the 1907 SmartMIPS instructions by Linux applications. However a kernel with 1908 this option will not work on a MIPS core without SmartMIPS core. If 1909 you don't know you probably don't have SmartMIPS and should say N 1910 here. 1911 1912config CPU_HAS_WB 1913 bool 1914 1915# 1916# Vectored interrupt mode is an R2 feature 1917# 1918config CPU_MIPSR2_IRQ_VI 1919 bool 1920 1921# 1922# Extended interrupt mode is an R2 feature 1923# 1924config CPU_MIPSR2_IRQ_EI 1925 bool 1926 1927config CPU_HAS_SYNC 1928 bool 1929 depends on !CPU_R3000 1930 default y 1931 1932config GENERIC_CLOCKEVENTS_BROADCAST 1933 bool 1934 1935# 1936# CPU non-features 1937# 1938config CPU_DADDI_WORKAROUNDS 1939 bool 1940 1941config CPU_R4000_WORKAROUNDS 1942 bool 1943 select CPU_R4400_WORKAROUNDS 1944 1945config CPU_R4400_WORKAROUNDS 1946 bool 1947 1948# 1949# - Highmem only makes sense for the 32-bit kernel. 1950# - The current highmem code will only work properly on physically indexed 1951# caches such as R3000, SB1, R7000 or those that look like they're virtually 1952# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 1953# moment we protect the user and offer the highmem option only on machines 1954# where it's known to be safe. This will not offer highmem on a few systems 1955# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 1956# indexed CPUs but we're playing safe. 1957# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 1958# know they might have memory configurations that could make use of highmem 1959# support. 1960# 1961config HIGHMEM 1962 bool "High Memory Support" 1963 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM 1964 1965config CPU_SUPPORTS_HIGHMEM 1966 bool 1967 1968config SYS_SUPPORTS_HIGHMEM 1969 bool 1970 1971config SYS_SUPPORTS_SMARTMIPS 1972 bool 1973 1974config ARCH_FLATMEM_ENABLE 1975 def_bool y 1976 depends on !NUMA && !CPU_LOONGSON2 1977 1978config ARCH_DISCONTIGMEM_ENABLE 1979 bool 1980 default y if SGI_IP27 1981 help 1982 Say Y to support efficient handling of discontiguous physical memory, 1983 for architectures which are either NUMA (Non-Uniform Memory Access) 1984 or have huge holes in the physical address space for other reasons. 1985 See <file:Documentation/vm/numa> for more. 1986 1987config ARCH_POPULATES_NODE_MAP 1988 def_bool y 1989 1990config ARCH_SPARSEMEM_ENABLE 1991 bool 1992 select SPARSEMEM_STATIC 1993 1994config NUMA 1995 bool "NUMA Support" 1996 depends on SYS_SUPPORTS_NUMA 1997 help 1998 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 1999 Access). This option improves performance on systems with more 2000 than two nodes; on two node systems it is generally better to 2001 leave it disabled; on single node systems disable this option 2002 disabled. 2003 2004config SYS_SUPPORTS_NUMA 2005 bool 2006 2007config NODES_SHIFT 2008 int 2009 default "6" 2010 depends on NEED_MULTIPLE_NODES 2011 2012config HW_PERF_EVENTS 2013 bool "Enable hardware performance counter support for perf events" 2014 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && CPU_MIPS32 2015 default y 2016 help 2017 Enable hardware performance counter support for perf events. If 2018 disabled, perf events will use software events only. 2019 2020source "mm/Kconfig" 2021 2022config SMP 2023 bool "Multi-Processing support" 2024 depends on SYS_SUPPORTS_SMP 2025 select IRQ_PER_CPU 2026 select USE_GENERIC_SMP_HELPERS 2027 help 2028 This enables support for systems with more than one CPU. If you have 2029 a system with only one CPU, like most personal computers, say N. If 2030 you have a system with more than one CPU, say Y. 2031 2032 If you say N here, the kernel will run on single and multiprocessor 2033 machines, but will use only one CPU of a multiprocessor machine. If 2034 you say Y here, the kernel will run on many, but not all, 2035 singleprocessor machines. On a singleprocessor machine, the kernel 2036 will run faster if you say N here. 2037 2038 People using multiprocessor machines who say Y here should also say 2039 Y to "Enhanced Real Time Clock Support", below. 2040 2041 See also the SMP-HOWTO available at 2042 <http://www.tldp.org/docs.html#howto>. 2043 2044 If you don't know what to do here, say N. 2045 2046config SMP_UP 2047 bool 2048 2049config SYS_SUPPORTS_MIPS_CMP 2050 bool 2051 2052config SYS_SUPPORTS_SMP 2053 bool 2054 2055config NR_CPUS_DEFAULT_1 2056 bool 2057 2058config NR_CPUS_DEFAULT_2 2059 bool 2060 2061config NR_CPUS_DEFAULT_4 2062 bool 2063 2064config NR_CPUS_DEFAULT_8 2065 bool 2066 2067config NR_CPUS_DEFAULT_16 2068 bool 2069 2070config NR_CPUS_DEFAULT_32 2071 bool 2072 2073config NR_CPUS_DEFAULT_64 2074 bool 2075 2076config NR_CPUS 2077 int "Maximum number of CPUs (2-64)" 2078 range 1 64 if NR_CPUS_DEFAULT_1 2079 depends on SMP 2080 default "1" if NR_CPUS_DEFAULT_1 2081 default "2" if NR_CPUS_DEFAULT_2 2082 default "4" if NR_CPUS_DEFAULT_4 2083 default "8" if NR_CPUS_DEFAULT_8 2084 default "16" if NR_CPUS_DEFAULT_16 2085 default "32" if NR_CPUS_DEFAULT_32 2086 default "64" if NR_CPUS_DEFAULT_64 2087 help 2088 This allows you to specify the maximum number of CPUs which this 2089 kernel will support. The maximum supported value is 32 for 32-bit 2090 kernel and 64 for 64-bit kernels; the minimum value which makes 2091 sense is 1 for Qemu (useful only for kernel debugging purposes) 2092 and 2 for all others. 2093 2094 This is purely to save memory - each supported CPU adds 2095 approximately eight kilobytes to the kernel image. For best 2096 performance should round up your number of processors to the next 2097 power of two. 2098 2099source "kernel/time/Kconfig" 2100 2101# 2102# Timer Interrupt Frequency Configuration 2103# 2104 2105choice 2106 prompt "Timer frequency" 2107 default HZ_250 2108 help 2109 Allows the configuration of the timer frequency. 2110 2111 config HZ_48 2112 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 2113 2114 config HZ_100 2115 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 2116 2117 config HZ_128 2118 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 2119 2120 config HZ_250 2121 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 2122 2123 config HZ_256 2124 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 2125 2126 config HZ_1000 2127 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 2128 2129 config HZ_1024 2130 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 2131 2132endchoice 2133 2134config SYS_SUPPORTS_48HZ 2135 bool 2136 2137config SYS_SUPPORTS_100HZ 2138 bool 2139 2140config SYS_SUPPORTS_128HZ 2141 bool 2142 2143config SYS_SUPPORTS_250HZ 2144 bool 2145 2146config SYS_SUPPORTS_256HZ 2147 bool 2148 2149config SYS_SUPPORTS_1000HZ 2150 bool 2151 2152config SYS_SUPPORTS_1024HZ 2153 bool 2154 2155config SYS_SUPPORTS_ARBIT_HZ 2156 bool 2157 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ 2158 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ 2159 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ 2160 !SYS_SUPPORTS_1024HZ 2161 2162config HZ 2163 int 2164 default 48 if HZ_48 2165 default 100 if HZ_100 2166 default 128 if HZ_128 2167 default 250 if HZ_250 2168 default 256 if HZ_256 2169 default 1000 if HZ_1000 2170 default 1024 if HZ_1024 2171 2172source "kernel/Kconfig.preempt" 2173 2174config MIPS_INSANE_LARGE 2175 bool "Support for large 64-bit configurations" 2176 depends on CPU_R10000 && 64BIT 2177 help 2178 MIPS R10000 does support a 44 bit / 16TB address space as opposed to 2179 previous 64-bit processors which only supported 40 bit / 1TB. If you 2180 need processes of more than 1TB virtual address space, say Y here. 2181 This will result in additional memory usage, so it is not 2182 recommended for normal users. 2183 2184config KEXEC 2185 bool "Kexec system call (EXPERIMENTAL)" 2186 depends on EXPERIMENTAL 2187 help 2188 kexec is a system call that implements the ability to shutdown your 2189 current kernel, and to start another kernel. It is like a reboot 2190 but it is independent of the system firmware. And like a reboot 2191 you can start any kernel with it, not just Linux. 2192 2193 The name comes from the similarity to the exec system call. 2194 2195 It is an ongoing process to be certain the hardware in a machine 2196 is properly shutdown, so do not be surprised if this code does not 2197 initially work for you. It may help to enable device hotplugging 2198 support. As of this writing the exact hardware interface is 2199 strongly in flux, so no good recommendation can be made. 2200 2201config SECCOMP 2202 bool "Enable seccomp to safely compute untrusted bytecode" 2203 depends on PROC_FS 2204 default y 2205 help 2206 This kernel feature is useful for number crunching applications 2207 that may need to compute untrusted bytecode during their 2208 execution. By using pipes or other transports made available to 2209 the process as file descriptors supporting the read/write 2210 syscalls, it's possible to isolate those applications in 2211 their own address space using seccomp. Once seccomp is 2212 enabled via /proc/<pid>/seccomp, it cannot be disabled 2213 and the task is only allowed to execute a few safe syscalls 2214 defined by each seccomp mode. 2215 2216 If unsure, say Y. Only embedded should say N here. 2217 2218config USE_OF 2219 bool "Flattened Device Tree support" 2220 select OF 2221 select OF_EARLY_FLATTREE 2222 help 2223 Include support for flattened device tree machine descriptions. 2224 2225endmenu 2226 2227config LOCKDEP_SUPPORT 2228 bool 2229 default y 2230 2231config STACKTRACE_SUPPORT 2232 bool 2233 default y 2234 2235source "init/Kconfig" 2236 2237source "kernel/Kconfig.freezer" 2238 2239menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2240 2241config HW_HAS_EISA 2242 bool 2243config HW_HAS_PCI 2244 bool 2245 2246config PCI 2247 bool "Support for PCI controller" 2248 depends on HW_HAS_PCI 2249 select PCI_DOMAINS 2250 help 2251 Find out whether you have a PCI motherboard. PCI is the name of a 2252 bus system, i.e. the way the CPU talks to the other stuff inside 2253 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2254 say Y, otherwise N. 2255 2256config PCI_DOMAINS 2257 bool 2258 2259source "drivers/pci/Kconfig" 2260 2261# 2262# ISA support is now enabled via select. Too many systems still have the one 2263# or other ISA chip on the board that users don't know about so don't expect 2264# users to choose the right thing ... 2265# 2266config ISA 2267 bool 2268 2269config EISA 2270 bool "EISA support" 2271 depends on HW_HAS_EISA 2272 select ISA 2273 select GENERIC_ISA_DMA 2274 ---help--- 2275 The Extended Industry Standard Architecture (EISA) bus was 2276 developed as an open alternative to the IBM MicroChannel bus. 2277 2278 The EISA bus provided some of the features of the IBM MicroChannel 2279 bus while maintaining backward compatibility with cards made for 2280 the older ISA bus. The EISA bus saw limited use between 1988 and 2281 1995 when it was made obsolete by the PCI bus. 2282 2283 Say Y here if you are building a kernel for an EISA-based machine. 2284 2285 Otherwise, say N. 2286 2287source "drivers/eisa/Kconfig" 2288 2289config TC 2290 bool "TURBOchannel support" 2291 depends on MACH_DECSTATION 2292 help 2293 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 2294 processors. TURBOchannel programming specifications are available 2295 at: 2296 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 2297 and: 2298 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 2299 Linux driver support status is documented at: 2300 <http://www.linux-mips.org/wiki/DECstation> 2301 2302#config ACCESSBUS 2303# bool "Access.Bus support" 2304# depends on TC 2305 2306config MMU 2307 bool 2308 default y 2309 2310config I8253 2311 bool 2312 select MIPS_EXTERNAL_TIMER 2313 2314config ZONE_DMA32 2315 bool 2316 2317source "drivers/pcmcia/Kconfig" 2318 2319source "drivers/pci/hotplug/Kconfig" 2320 2321endmenu 2322 2323menu "Executable file formats" 2324 2325source "fs/Kconfig.binfmt" 2326 2327config TRAD_SIGNALS 2328 bool 2329 2330config MIPS32_COMPAT 2331 bool "Kernel support for Linux/MIPS 32-bit binary compatibility" 2332 depends on 64BIT 2333 help 2334 Select this option if you want Linux/MIPS 32-bit binary 2335 compatibility. Since all software available for Linux/MIPS is 2336 currently 32-bit you should say Y here. 2337 2338config COMPAT 2339 bool 2340 depends on MIPS32_COMPAT 2341 default y 2342 2343config SYSVIPC_COMPAT 2344 bool 2345 depends on COMPAT && SYSVIPC 2346 default y 2347 2348config MIPS32_O32 2349 bool "Kernel support for o32 binaries" 2350 depends on MIPS32_COMPAT 2351 help 2352 Select this option if you want to run o32 binaries. These are pure 2353 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2354 existing binaries are in this format. 2355 2356 If unsure, say Y. 2357 2358config MIPS32_N32 2359 bool "Kernel support for n32 binaries" 2360 depends on MIPS32_COMPAT 2361 help 2362 Select this option if you want to run n32 binaries. These are 2363 64-bit binaries using 32-bit quantities for addressing and certain 2364 data that would normally be 64-bit. They are used in special 2365 cases. 2366 2367 If unsure, say N. 2368 2369config BINFMT_ELF32 2370 bool 2371 default y if MIPS32_O32 || MIPS32_N32 2372 2373endmenu 2374 2375menu "Power management options" 2376 2377config ARCH_HIBERNATION_POSSIBLE 2378 def_bool y 2379 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2380 2381config ARCH_SUSPEND_POSSIBLE 2382 def_bool y 2383 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2384 2385source "kernel/power/Kconfig" 2386 2387endmenu 2388 2389source "arch/mips/kernel/cpufreq/Kconfig" 2390 2391source "net/Kconfig" 2392 2393source "drivers/Kconfig" 2394 2395source "fs/Kconfig" 2396 2397source "arch/mips/Kconfig.debug" 2398 2399source "security/Kconfig" 2400 2401source "crypto/Kconfig" 2402 2403source "lib/Kconfig" 2404