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