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 IRQ_CPU_OCTEON 1001 bool 1002 1003config MIPS_BOARDS_GEN 1004 bool 1005 1006config PCI_GT64XXX_PCI0 1007 bool 1008 1009config NO_EXCEPT_FILL 1010 bool 1011 1012config MIPS_RM9122 1013 bool 1014 select SERIAL_RM9000 1015 1016config SOC_EMMA2RH 1017 bool 1018 select CEVT_R4K 1019 select CSRC_R4K 1020 select DMA_NONCOHERENT 1021 select IRQ_CPU 1022 select SWAP_IO_SPACE 1023 select SYS_HAS_CPU_R5500 1024 select SYS_SUPPORTS_32BIT_KERNEL 1025 select SYS_SUPPORTS_64BIT_KERNEL 1026 select SYS_SUPPORTS_BIG_ENDIAN 1027 1028config SOC_PNX833X 1029 bool 1030 select CEVT_R4K 1031 select CSRC_R4K 1032 select IRQ_CPU 1033 select DMA_NONCOHERENT 1034 select SYS_HAS_CPU_MIPS32_R2 1035 select SYS_SUPPORTS_32BIT_KERNEL 1036 select SYS_SUPPORTS_LITTLE_ENDIAN 1037 select SYS_SUPPORTS_BIG_ENDIAN 1038 select GENERIC_GPIO 1039 select CPU_MIPSR2_IRQ_VI 1040 1041config SOC_PNX8335 1042 bool 1043 select SOC_PNX833X 1044 1045config PNX8550 1046 bool 1047 select SOC_PNX8550 1048 1049config SOC_PNX8550 1050 bool 1051 select DMA_NONCOHERENT 1052 select HW_HAS_PCI 1053 select SYS_HAS_CPU_MIPS32_R1 1054 select SYS_HAS_EARLY_PRINTK 1055 select SYS_SUPPORTS_32BIT_KERNEL 1056 select GENERIC_GPIO 1057 1058config SWAP_IO_SPACE 1059 bool 1060 1061config SERIAL_RM9000 1062 bool 1063 1064config SGI_HAS_INDYDOG 1065 bool 1066 1067config SGI_HAS_HAL2 1068 bool 1069 1070config SGI_HAS_SEEQ 1071 bool 1072 1073config SGI_HAS_WD93 1074 bool 1075 1076config SGI_HAS_ZILOG 1077 bool 1078 1079config SGI_HAS_I8042 1080 bool 1081 1082config DEFAULT_SGI_PARTITION 1083 bool 1084 1085config ARC32 1086 bool 1087 1088config SNIPROM 1089 bool 1090 1091config BOOT_ELF32 1092 bool 1093 1094config MIPS_L1_CACHE_SHIFT 1095 int 1096 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL 1097 default "6" if MIPS_CPU_SCACHE 1098 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON 1099 default "5" 1100 1101config HAVE_STD_PC_SERIAL_PORT 1102 bool 1103 1104config ARC_CONSOLE 1105 bool "ARC console support" 1106 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 1107 1108config ARC_MEMORY 1109 bool 1110 depends on MACH_JAZZ || SNI_RM || SGI_IP32 1111 default y 1112 1113config ARC_PROMLIB 1114 bool 1115 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 1116 default y 1117 1118config ARC64 1119 bool 1120 1121config BOOT_ELF64 1122 bool 1123 1124menu "CPU selection" 1125 1126choice 1127 prompt "CPU type" 1128 default CPU_R4X00 1129 1130config CPU_LOONGSON2E 1131 bool "Loongson 2E" 1132 depends on SYS_HAS_CPU_LOONGSON2E 1133 select CPU_LOONGSON2 1134 help 1135 The Loongson 2E processor implements the MIPS III instruction set 1136 with many extensions. 1137 1138 It has an internal FPGA northbridge, which is compatible to 1139 bonito64. 1140 1141config CPU_LOONGSON2F 1142 bool "Loongson 2F" 1143 depends on SYS_HAS_CPU_LOONGSON2F 1144 select CPU_LOONGSON2 1145 select GENERIC_GPIO 1146 select ARCH_REQUIRE_GPIOLIB 1147 help 1148 The Loongson 2F processor implements the MIPS III instruction set 1149 with many extensions. 1150 1151 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller 1152 have a similar programming interface with FPGA northbridge used in 1153 Loongson2E. 1154 1155config CPU_MIPS32_R1 1156 bool "MIPS32 Release 1" 1157 depends on SYS_HAS_CPU_MIPS32_R1 1158 select CPU_HAS_PREFETCH 1159 select CPU_SUPPORTS_32BIT_KERNEL 1160 select CPU_SUPPORTS_HIGHMEM 1161 help 1162 Choose this option to build a kernel for release 1 or later of the 1163 MIPS32 architecture. Most modern embedded systems with a 32-bit 1164 MIPS processor are based on a MIPS32 processor. If you know the 1165 specific type of processor in your system, choose those that one 1166 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1167 Release 2 of the MIPS32 architecture is available since several 1168 years so chances are you even have a MIPS32 Release 2 processor 1169 in which case you should choose CPU_MIPS32_R2 instead for better 1170 performance. 1171 1172config CPU_MIPS32_R2 1173 bool "MIPS32 Release 2" 1174 depends on SYS_HAS_CPU_MIPS32_R2 1175 select CPU_HAS_PREFETCH 1176 select CPU_SUPPORTS_32BIT_KERNEL 1177 select CPU_SUPPORTS_HIGHMEM 1178 help 1179 Choose this option to build a kernel for release 2 or later of the 1180 MIPS32 architecture. Most modern embedded systems with a 32-bit 1181 MIPS processor are based on a MIPS32 processor. If you know the 1182 specific type of processor in your system, choose those that one 1183 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1184 1185config CPU_MIPS64_R1 1186 bool "MIPS64 Release 1" 1187 depends on SYS_HAS_CPU_MIPS64_R1 1188 select CPU_HAS_PREFETCH 1189 select CPU_SUPPORTS_32BIT_KERNEL 1190 select CPU_SUPPORTS_64BIT_KERNEL 1191 select CPU_SUPPORTS_HIGHMEM 1192 select CPU_SUPPORTS_HUGEPAGES 1193 help 1194 Choose this option to build a kernel for release 1 or later of the 1195 MIPS64 architecture. Many modern embedded systems with a 64-bit 1196 MIPS processor are based on a MIPS64 processor. If you know the 1197 specific type of processor in your system, choose those that one 1198 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1199 Release 2 of the MIPS64 architecture is available since several 1200 years so chances are you even have a MIPS64 Release 2 processor 1201 in which case you should choose CPU_MIPS64_R2 instead for better 1202 performance. 1203 1204config CPU_MIPS64_R2 1205 bool "MIPS64 Release 2" 1206 depends on SYS_HAS_CPU_MIPS64_R2 1207 select CPU_HAS_PREFETCH 1208 select CPU_SUPPORTS_32BIT_KERNEL 1209 select CPU_SUPPORTS_64BIT_KERNEL 1210 select CPU_SUPPORTS_HIGHMEM 1211 select CPU_SUPPORTS_HUGEPAGES 1212 help 1213 Choose this option to build a kernel for release 2 or later of the 1214 MIPS64 architecture. Many modern embedded systems with a 64-bit 1215 MIPS processor are based on a MIPS64 processor. If you know the 1216 specific type of processor in your system, choose those that one 1217 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1218 1219config CPU_R3000 1220 bool "R3000" 1221 depends on SYS_HAS_CPU_R3000 1222 select CPU_HAS_WB 1223 select CPU_SUPPORTS_32BIT_KERNEL 1224 select CPU_SUPPORTS_HIGHMEM 1225 help 1226 Please make sure to pick the right CPU type. Linux/MIPS is not 1227 designed to be generic, i.e. Kernels compiled for R3000 CPUs will 1228 *not* work on R4000 machines and vice versa. However, since most 1229 of the supported machines have an R4000 (or similar) CPU, R4x00 1230 might be a safe bet. If the resulting kernel does not work, 1231 try to recompile with R3000. 1232 1233config CPU_TX39XX 1234 bool "R39XX" 1235 depends on SYS_HAS_CPU_TX39XX 1236 select CPU_SUPPORTS_32BIT_KERNEL 1237 1238config CPU_VR41XX 1239 bool "R41xx" 1240 depends on SYS_HAS_CPU_VR41XX 1241 select CPU_SUPPORTS_32BIT_KERNEL 1242 select CPU_SUPPORTS_64BIT_KERNEL 1243 help 1244 The options selects support for the NEC VR4100 series of processors. 1245 Only choose this option if you have one of these processors as a 1246 kernel built with this option will not run on any other type of 1247 processor or vice versa. 1248 1249config CPU_R4300 1250 bool "R4300" 1251 depends on SYS_HAS_CPU_R4300 1252 select CPU_SUPPORTS_32BIT_KERNEL 1253 select CPU_SUPPORTS_64BIT_KERNEL 1254 help 1255 MIPS Technologies R4300-series processors. 1256 1257config CPU_R4X00 1258 bool "R4x00" 1259 depends on SYS_HAS_CPU_R4X00 1260 select CPU_SUPPORTS_32BIT_KERNEL 1261 select CPU_SUPPORTS_64BIT_KERNEL 1262 help 1263 MIPS Technologies R4000-series processors other than 4300, including 1264 the R4000, R4400, R4600, and 4700. 1265 1266config CPU_TX49XX 1267 bool "R49XX" 1268 depends on SYS_HAS_CPU_TX49XX 1269 select CPU_HAS_PREFETCH 1270 select CPU_SUPPORTS_32BIT_KERNEL 1271 select CPU_SUPPORTS_64BIT_KERNEL 1272 1273config CPU_R5000 1274 bool "R5000" 1275 depends on SYS_HAS_CPU_R5000 1276 select CPU_SUPPORTS_32BIT_KERNEL 1277 select CPU_SUPPORTS_64BIT_KERNEL 1278 help 1279 MIPS Technologies R5000-series processors other than the Nevada. 1280 1281config CPU_R5432 1282 bool "R5432" 1283 depends on SYS_HAS_CPU_R5432 1284 select CPU_SUPPORTS_32BIT_KERNEL 1285 select CPU_SUPPORTS_64BIT_KERNEL 1286 1287config CPU_R5500 1288 bool "R5500" 1289 depends on SYS_HAS_CPU_R5500 1290 select CPU_SUPPORTS_32BIT_KERNEL 1291 select CPU_SUPPORTS_64BIT_KERNEL 1292 select CPU_SUPPORTS_HUGEPAGES 1293 help 1294 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1295 instruction set. 1296 1297config CPU_R6000 1298 bool "R6000" 1299 depends on EXPERIMENTAL 1300 depends on SYS_HAS_CPU_R6000 1301 select CPU_SUPPORTS_32BIT_KERNEL 1302 help 1303 MIPS Technologies R6000 and R6000A series processors. Note these 1304 processors are extremely rare and the support for them is incomplete. 1305 1306config CPU_NEVADA 1307 bool "RM52xx" 1308 depends on SYS_HAS_CPU_NEVADA 1309 select CPU_SUPPORTS_32BIT_KERNEL 1310 select CPU_SUPPORTS_64BIT_KERNEL 1311 help 1312 QED / PMC-Sierra RM52xx-series ("Nevada") processors. 1313 1314config CPU_R8000 1315 bool "R8000" 1316 depends on EXPERIMENTAL 1317 depends on SYS_HAS_CPU_R8000 1318 select CPU_HAS_PREFETCH 1319 select CPU_SUPPORTS_64BIT_KERNEL 1320 help 1321 MIPS Technologies R8000 processors. Note these processors are 1322 uncommon and the support for them is incomplete. 1323 1324config CPU_R10000 1325 bool "R10000" 1326 depends on SYS_HAS_CPU_R10000 1327 select CPU_HAS_PREFETCH 1328 select CPU_SUPPORTS_32BIT_KERNEL 1329 select CPU_SUPPORTS_64BIT_KERNEL 1330 select CPU_SUPPORTS_HIGHMEM 1331 help 1332 MIPS Technologies R10000-series processors. 1333 1334config CPU_RM7000 1335 bool "RM7000" 1336 depends on SYS_HAS_CPU_RM7000 1337 select CPU_HAS_PREFETCH 1338 select CPU_SUPPORTS_32BIT_KERNEL 1339 select CPU_SUPPORTS_64BIT_KERNEL 1340 select CPU_SUPPORTS_HIGHMEM 1341 1342config CPU_RM9000 1343 bool "RM9000" 1344 depends on SYS_HAS_CPU_RM9000 1345 select CPU_HAS_PREFETCH 1346 select CPU_SUPPORTS_32BIT_KERNEL 1347 select CPU_SUPPORTS_64BIT_KERNEL 1348 select CPU_SUPPORTS_HIGHMEM 1349 select WEAK_ORDERING 1350 1351config CPU_SB1 1352 bool "SB1" 1353 depends on SYS_HAS_CPU_SB1 1354 select CPU_SUPPORTS_32BIT_KERNEL 1355 select CPU_SUPPORTS_64BIT_KERNEL 1356 select CPU_SUPPORTS_HIGHMEM 1357 select WEAK_ORDERING 1358 1359config CPU_CAVIUM_OCTEON 1360 bool "Cavium Octeon processor" 1361 depends on SYS_HAS_CPU_CAVIUM_OCTEON 1362 select IRQ_CPU 1363 select IRQ_CPU_OCTEON 1364 select CPU_HAS_PREFETCH 1365 select CPU_SUPPORTS_64BIT_KERNEL 1366 select SYS_SUPPORTS_SMP 1367 select NR_CPUS_DEFAULT_16 1368 select WEAK_ORDERING 1369 select CPU_SUPPORTS_HIGHMEM 1370 select CPU_SUPPORTS_HUGEPAGES 1371 help 1372 The Cavium Octeon processor is a highly integrated chip containing 1373 many ethernet hardware widgets for networking tasks. The processor 1374 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. 1375 Full details can be found at http://www.caviumnetworks.com. 1376 1377config CPU_BMIPS3300 1378 bool "BMIPS3300" 1379 depends on SYS_HAS_CPU_BMIPS3300 1380 select DMA_NONCOHERENT 1381 select IRQ_CPU 1382 select SWAP_IO_SPACE 1383 select SYS_SUPPORTS_32BIT_KERNEL 1384 select WEAK_ORDERING 1385 help 1386 Broadcom BMIPS3300 processors. 1387 1388config CPU_BMIPS4350 1389 bool "BMIPS4350" 1390 depends on SYS_HAS_CPU_BMIPS4350 1391 select CPU_SUPPORTS_32BIT_KERNEL 1392 select DMA_NONCOHERENT 1393 select IRQ_CPU 1394 select SWAP_IO_SPACE 1395 select SYS_SUPPORTS_SMP 1396 select SYS_SUPPORTS_HOTPLUG_CPU 1397 select WEAK_ORDERING 1398 help 1399 Broadcom BMIPS4350 ("VIPER") processors. 1400 1401config CPU_BMIPS4380 1402 bool "BMIPS4380" 1403 depends on SYS_HAS_CPU_BMIPS4380 1404 select CPU_SUPPORTS_32BIT_KERNEL 1405 select DMA_NONCOHERENT 1406 select IRQ_CPU 1407 select SWAP_IO_SPACE 1408 select SYS_SUPPORTS_SMP 1409 select SYS_SUPPORTS_HOTPLUG_CPU 1410 select WEAK_ORDERING 1411 help 1412 Broadcom BMIPS4380 processors. 1413 1414config CPU_BMIPS5000 1415 bool "BMIPS5000" 1416 depends on SYS_HAS_CPU_BMIPS5000 1417 select CPU_SUPPORTS_32BIT_KERNEL 1418 select CPU_SUPPORTS_HIGHMEM 1419 select DMA_NONCOHERENT 1420 select IRQ_CPU 1421 select SWAP_IO_SPACE 1422 select SYS_SUPPORTS_SMP 1423 select SYS_SUPPORTS_HOTPLUG_CPU 1424 select WEAK_ORDERING 1425 help 1426 Broadcom BMIPS5000 processors. 1427 1428endchoice 1429 1430if CPU_LOONGSON2F 1431config CPU_NOP_WORKAROUNDS 1432 bool 1433 1434config CPU_JUMP_WORKAROUNDS 1435 bool 1436 1437config CPU_LOONGSON2F_WORKAROUNDS 1438 bool "Loongson 2F Workarounds" 1439 default y 1440 select CPU_NOP_WORKAROUNDS 1441 select CPU_JUMP_WORKAROUNDS 1442 help 1443 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 1444 require workarounds. Without workarounds the system may hang 1445 unexpectedly. For more information please refer to the gas 1446 -mfix-loongson2f-nop and -mfix-loongson2f-jump options. 1447 1448 Loongson 2F03 and later have fixed these issues and no workarounds 1449 are needed. The workarounds have no significant side effect on them 1450 but may decrease the performance of the system so this option should 1451 be disabled unless the kernel is intended to be run on 2F01 or 2F02 1452 systems. 1453 1454 If unsure, please say Y. 1455endif # CPU_LOONGSON2F 1456 1457config SYS_SUPPORTS_ZBOOT 1458 bool 1459 select HAVE_KERNEL_GZIP 1460 select HAVE_KERNEL_BZIP2 1461 select HAVE_KERNEL_LZMA 1462 select HAVE_KERNEL_LZO 1463 1464config SYS_SUPPORTS_ZBOOT_UART16550 1465 bool 1466 select SYS_SUPPORTS_ZBOOT 1467 1468config CPU_LOONGSON2 1469 bool 1470 select CPU_SUPPORTS_32BIT_KERNEL 1471 select CPU_SUPPORTS_64BIT_KERNEL 1472 select CPU_SUPPORTS_HIGHMEM 1473 1474config SYS_HAS_CPU_LOONGSON2E 1475 bool 1476 1477config SYS_HAS_CPU_LOONGSON2F 1478 bool 1479 select CPU_SUPPORTS_CPUFREQ 1480 select CPU_SUPPORTS_ADDRWINCFG if 64BIT 1481 select CPU_SUPPORTS_UNCACHED_ACCELERATED 1482 1483config SYS_HAS_CPU_MIPS32_R1 1484 bool 1485 1486config SYS_HAS_CPU_MIPS32_R2 1487 bool 1488 1489config SYS_HAS_CPU_MIPS64_R1 1490 bool 1491 1492config SYS_HAS_CPU_MIPS64_R2 1493 bool 1494 1495config SYS_HAS_CPU_R3000 1496 bool 1497 1498config SYS_HAS_CPU_TX39XX 1499 bool 1500 1501config SYS_HAS_CPU_VR41XX 1502 bool 1503 1504config SYS_HAS_CPU_R4300 1505 bool 1506 1507config SYS_HAS_CPU_R4X00 1508 bool 1509 1510config SYS_HAS_CPU_TX49XX 1511 bool 1512 1513config SYS_HAS_CPU_R5000 1514 bool 1515 1516config SYS_HAS_CPU_R5432 1517 bool 1518 1519config SYS_HAS_CPU_R5500 1520 bool 1521 1522config SYS_HAS_CPU_R6000 1523 bool 1524 1525config SYS_HAS_CPU_NEVADA 1526 bool 1527 1528config SYS_HAS_CPU_R8000 1529 bool 1530 1531config SYS_HAS_CPU_R10000 1532 bool 1533 1534config SYS_HAS_CPU_RM7000 1535 bool 1536 1537config SYS_HAS_CPU_RM9000 1538 bool 1539 1540config SYS_HAS_CPU_SB1 1541 bool 1542 1543config SYS_HAS_CPU_CAVIUM_OCTEON 1544 bool 1545 1546config SYS_HAS_CPU_BMIPS3300 1547 bool 1548 1549config SYS_HAS_CPU_BMIPS4350 1550 bool 1551 1552config SYS_HAS_CPU_BMIPS4380 1553 bool 1554 1555config SYS_HAS_CPU_BMIPS5000 1556 bool 1557 1558# 1559# CPU may reorder R->R, R->W, W->R, W->W 1560# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1561# 1562config WEAK_ORDERING 1563 bool 1564 1565# 1566# CPU may reorder reads and writes beyond LL/SC 1567# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 1568# 1569config WEAK_REORDERING_BEYOND_LLSC 1570 bool 1571endmenu 1572 1573# 1574# These two indicate any level of the MIPS32 and MIPS64 architecture 1575# 1576config CPU_MIPS32 1577 bool 1578 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 1579 1580config CPU_MIPS64 1581 bool 1582 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 1583 1584# 1585# These two indicate the revision of the architecture, either Release 1 or Release 2 1586# 1587config CPU_MIPSR1 1588 bool 1589 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 1590 1591config CPU_MIPSR2 1592 bool 1593 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 1594 1595config SYS_SUPPORTS_32BIT_KERNEL 1596 bool 1597config SYS_SUPPORTS_64BIT_KERNEL 1598 bool 1599config CPU_SUPPORTS_32BIT_KERNEL 1600 bool 1601config CPU_SUPPORTS_64BIT_KERNEL 1602 bool 1603config CPU_SUPPORTS_CPUFREQ 1604 bool 1605config CPU_SUPPORTS_ADDRWINCFG 1606 bool 1607config CPU_SUPPORTS_HUGEPAGES 1608 bool 1609config CPU_SUPPORTS_UNCACHED_ACCELERATED 1610 bool 1611config MIPS_PGD_C0_CONTEXT 1612 bool 1613 default y if 64BIT && CPU_MIPSR2 1614 1615# 1616# Set to y for ptrace access to watch registers. 1617# 1618config HARDWARE_WATCHPOINTS 1619 bool 1620 default y if CPU_MIPSR1 || CPU_MIPSR2 1621 1622menu "Kernel type" 1623 1624choice 1625 1626 prompt "Kernel code model" 1627 help 1628 You should only select this option if you have a workload that 1629 actually benefits from 64-bit processing or if your machine has 1630 large memory. You will only be presented a single option in this 1631 menu if your system does not support both 32-bit and 64-bit kernels. 1632 1633config 32BIT 1634 bool "32-bit kernel" 1635 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 1636 select TRAD_SIGNALS 1637 help 1638 Select this option if you want to build a 32-bit kernel. 1639config 64BIT 1640 bool "64-bit kernel" 1641 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 1642 select HAVE_SYSCALL_WRAPPERS 1643 help 1644 Select this option if you want to build a 64-bit kernel. 1645 1646endchoice 1647 1648choice 1649 prompt "Kernel page size" 1650 default PAGE_SIZE_4KB 1651 1652config PAGE_SIZE_4KB 1653 bool "4kB" 1654 depends on !CPU_LOONGSON2 1655 help 1656 This option select the standard 4kB Linux page size. On some 1657 R3000-family processors this is the only available page size. Using 1658 4kB page size will minimize memory consumption and is therefore 1659 recommended for low memory systems. 1660 1661config PAGE_SIZE_8KB 1662 bool "8kB" 1663 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON 1664 help 1665 Using 8kB page size will result in higher performance kernel at 1666 the price of higher memory consumption. This option is available 1667 only on R8000 and cnMIPS processors. Note that you will need a 1668 suitable Linux distribution to support this. 1669 1670config PAGE_SIZE_16KB 1671 bool "16kB" 1672 depends on !CPU_R3000 && !CPU_TX39XX 1673 help 1674 Using 16kB page size will result in higher performance kernel at 1675 the price of higher memory consumption. This option is available on 1676 all non-R3000 family processors. Note that you will need a suitable 1677 Linux distribution to support this. 1678 1679config PAGE_SIZE_32KB 1680 bool "32kB" 1681 depends on CPU_CAVIUM_OCTEON 1682 help 1683 Using 32kB page size will result in higher performance kernel at 1684 the price of higher memory consumption. This option is available 1685 only on cnMIPS cores. Note that you will need a suitable Linux 1686 distribution to support this. 1687 1688config PAGE_SIZE_64KB 1689 bool "64kB" 1690 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX 1691 help 1692 Using 64kB page size will result in higher performance kernel at 1693 the price of higher memory consumption. This option is available on 1694 all non-R3000 family processor. Not that at the time of this 1695 writing this option is still high experimental. 1696 1697endchoice 1698 1699config FORCE_MAX_ZONEORDER 1700 int "Maximum zone order" 1701 range 13 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB 1702 default "13" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB 1703 range 12 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB 1704 default "12" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB 1705 range 11 64 1706 default "11" 1707 help 1708 The kernel memory allocator divides physically contiguous memory 1709 blocks into "zones", where each zone is a power of two number of 1710 pages. This option selects the largest power of two that the kernel 1711 keeps in the memory allocator. If you need to allocate very large 1712 blocks of physically contiguous memory, then you may need to 1713 increase this value. 1714 1715 This config option is actually maximum order plus one. For example, 1716 a value of 11 means that the largest free memory block is 2^10 pages. 1717 1718 The page size is not necessarily 4KB. Keep this in mind 1719 when choosing a value for this option. 1720 1721config BOARD_SCACHE 1722 bool 1723 1724config IP22_CPU_SCACHE 1725 bool 1726 select BOARD_SCACHE 1727 1728# 1729# Support for a MIPS32 / MIPS64 style S-caches 1730# 1731config MIPS_CPU_SCACHE 1732 bool 1733 select BOARD_SCACHE 1734 1735config R5000_CPU_SCACHE 1736 bool 1737 select BOARD_SCACHE 1738 1739config RM7000_CPU_SCACHE 1740 bool 1741 select BOARD_SCACHE 1742 1743config SIBYTE_DMA_PAGEOPS 1744 bool "Use DMA to clear/copy pages" 1745 depends on CPU_SB1 1746 help 1747 Instead of using the CPU to zero and copy pages, use a Data Mover 1748 channel. These DMA channels are otherwise unused by the standard 1749 SiByte Linux port. Seems to give a small performance benefit. 1750 1751config CPU_HAS_PREFETCH 1752 bool 1753 1754choice 1755 prompt "MIPS MT options" 1756 1757config MIPS_MT_DISABLED 1758 bool "Disable multithreading support." 1759 help 1760 Use this option if your workload can't take advantage of 1761 MIPS hardware multithreading support. On systems that don't have 1762 the option of an MT-enabled processor this option will be the only 1763 option in this menu. 1764 1765config MIPS_MT_SMP 1766 bool "Use 1 TC on each available VPE for SMP" 1767 depends on SYS_SUPPORTS_MULTITHREADING 1768 select CPU_MIPSR2_IRQ_VI 1769 select CPU_MIPSR2_IRQ_EI 1770 select MIPS_MT 1771 select NR_CPUS_DEFAULT_2 1772 select SMP 1773 select SYS_SUPPORTS_SCHED_SMT if SMP 1774 select SYS_SUPPORTS_SMP 1775 select SMP_UP 1776 help 1777 This is a kernel model which is known a VSMP but lately has been 1778 marketesed into SMVP. 1779 Virtual SMP uses the processor's VPEs to implement virtual 1780 processors. In currently available configuration of the 34K processor 1781 this allows for a dual processor. Both processors will share the same 1782 primary caches; each will obtain the half of the TLB for it's own 1783 exclusive use. For a layman this model can be described as similar to 1784 what Intel calls Hyperthreading. 1785 1786 For further information see http://www.linux-mips.org/wiki/34K#VSMP 1787 1788config MIPS_MT_SMTC 1789 bool "SMTC: Use all TCs on all VPEs for SMP" 1790 depends on CPU_MIPS32_R2 1791 #depends on CPU_MIPS64_R2 # once there is hardware ... 1792 depends on SYS_SUPPORTS_MULTITHREADING 1793 select CPU_MIPSR2_IRQ_VI 1794 select CPU_MIPSR2_IRQ_EI 1795 select MIPS_MT 1796 select NR_CPUS_DEFAULT_8 1797 select SMP 1798 select SYS_SUPPORTS_SMP 1799 select SMP_UP 1800 help 1801 This is a kernel model which is known a SMTC or lately has been 1802 marketesed into SMVP. 1803 is presenting the available TC's of the core as processors to Linux. 1804 On currently available 34K processors this means a Linux system will 1805 see up to 5 processors. The implementation of the SMTC kernel differs 1806 significantly from VSMP and cannot efficiently coexist in the same 1807 kernel binary so the choice between VSMP and SMTC is a compile time 1808 decision. 1809 1810 For further information see http://www.linux-mips.org/wiki/34K#SMTC 1811 1812endchoice 1813 1814config MIPS_MT 1815 bool 1816 1817config SCHED_SMT 1818 bool "SMT (multithreading) scheduler support" 1819 depends on SYS_SUPPORTS_SCHED_SMT 1820 default n 1821 help 1822 SMT scheduler support improves the CPU scheduler's decision making 1823 when dealing with MIPS MT enabled cores at a cost of slightly 1824 increased overhead in some places. If unsure say N here. 1825 1826config SYS_SUPPORTS_SCHED_SMT 1827 bool 1828 1829 1830config SYS_SUPPORTS_MULTITHREADING 1831 bool 1832 1833config MIPS_MT_FPAFF 1834 bool "Dynamic FPU affinity for FP-intensive threads" 1835 default y 1836 depends on MIPS_MT_SMP || MIPS_MT_SMTC 1837 1838config MIPS_VPE_LOADER 1839 bool "VPE loader support." 1840 depends on SYS_SUPPORTS_MULTITHREADING 1841 select CPU_MIPSR2_IRQ_VI 1842 select CPU_MIPSR2_IRQ_EI 1843 select MIPS_MT 1844 help 1845 Includes a loader for loading an elf relocatable object 1846 onto another VPE and running it. 1847 1848config MIPS_MT_SMTC_IM_BACKSTOP 1849 bool "Use per-TC register bits as backstop for inhibited IM bits" 1850 depends on MIPS_MT_SMTC 1851 default n 1852 help 1853 To support multiple TC microthreads acting as "CPUs" within 1854 a VPE, VPE-wide interrupt mask bits must be specially manipulated 1855 during interrupt handling. To support legacy drivers and interrupt 1856 controller management code, SMTC has a "backstop" to track and 1857 if necessary restore the interrupt mask. This has some performance 1858 impact on interrupt service overhead. 1859 1860config MIPS_MT_SMTC_IRQAFF 1861 bool "Support IRQ affinity API" 1862 depends on MIPS_MT_SMTC 1863 default n 1864 help 1865 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.) 1866 for SMTC Linux kernel. Requires platform support, of which 1867 an example can be found in the MIPS kernel i8259 and Malta 1868 platform code. Adds some overhead to interrupt dispatch, and 1869 should be used only if you know what you are doing. 1870 1871config MIPS_VPE_LOADER_TOM 1872 bool "Load VPE program into memory hidden from linux" 1873 depends on MIPS_VPE_LOADER 1874 default y 1875 help 1876 The loader can use memory that is present but has been hidden from 1877 Linux using the kernel command line option "mem=xxMB". It's up to 1878 you to ensure the amount you put in the option and the space your 1879 program requires is less or equal to the amount physically present. 1880 1881# this should possibly be in drivers/char, but it is rather cpu related. Hmmm 1882config MIPS_VPE_APSP_API 1883 bool "Enable support for AP/SP API (RTLX)" 1884 depends on MIPS_VPE_LOADER 1885 help 1886 1887config MIPS_APSP_KSPD 1888 bool "Enable KSPD" 1889 depends on MIPS_VPE_APSP_API 1890 default y 1891 help 1892 KSPD is a kernel daemon that accepts syscall requests from the SP 1893 side, actions them and returns the results. It also handles the 1894 "exit" syscall notifying other kernel modules the SP program is 1895 exiting. You probably want to say yes here. 1896 1897config MIPS_CMP 1898 bool "MIPS CMP framework support" 1899 depends on SYS_SUPPORTS_MIPS_CMP 1900 select SYNC_R4K 1901 select SYS_SUPPORTS_SMP 1902 select SYS_SUPPORTS_SCHED_SMT if SMP 1903 select WEAK_ORDERING 1904 default n 1905 help 1906 This is a placeholder option for the GCMP work. It will need to 1907 be handled differently... 1908 1909config SB1_PASS_1_WORKAROUNDS 1910 bool 1911 depends on CPU_SB1_PASS_1 1912 default y 1913 1914config SB1_PASS_2_WORKAROUNDS 1915 bool 1916 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 1917 default y 1918 1919config SB1_PASS_2_1_WORKAROUNDS 1920 bool 1921 depends on CPU_SB1 && CPU_SB1_PASS_2 1922 default y 1923 1924config 64BIT_PHYS_ADDR 1925 bool 1926 1927config ARCH_PHYS_ADDR_T_64BIT 1928 def_bool 64BIT_PHYS_ADDR 1929 1930config CPU_HAS_SMARTMIPS 1931 depends on SYS_SUPPORTS_SMARTMIPS 1932 bool "Support for the SmartMIPS ASE" 1933 help 1934 SmartMIPS is a extension of the MIPS32 architecture aimed at 1935 increased security at both hardware and software level for 1936 smartcards. Enabling this option will allow proper use of the 1937 SmartMIPS instructions by Linux applications. However a kernel with 1938 this option will not work on a MIPS core without SmartMIPS core. If 1939 you don't know you probably don't have SmartMIPS and should say N 1940 here. 1941 1942config CPU_HAS_WB 1943 bool 1944 1945# 1946# Vectored interrupt mode is an R2 feature 1947# 1948config CPU_MIPSR2_IRQ_VI 1949 bool 1950 1951# 1952# Extended interrupt mode is an R2 feature 1953# 1954config CPU_MIPSR2_IRQ_EI 1955 bool 1956 1957config CPU_HAS_SYNC 1958 bool 1959 depends on !CPU_R3000 1960 default y 1961 1962config GENERIC_CLOCKEVENTS_BROADCAST 1963 bool 1964 1965# 1966# CPU non-features 1967# 1968config CPU_DADDI_WORKAROUNDS 1969 bool 1970 1971config CPU_R4000_WORKAROUNDS 1972 bool 1973 select CPU_R4400_WORKAROUNDS 1974 1975config CPU_R4400_WORKAROUNDS 1976 bool 1977 1978# 1979# - Highmem only makes sense for the 32-bit kernel. 1980# - The current highmem code will only work properly on physically indexed 1981# caches such as R3000, SB1, R7000 or those that look like they're virtually 1982# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 1983# moment we protect the user and offer the highmem option only on machines 1984# where it's known to be safe. This will not offer highmem on a few systems 1985# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 1986# indexed CPUs but we're playing safe. 1987# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 1988# know they might have memory configurations that could make use of highmem 1989# support. 1990# 1991config HIGHMEM 1992 bool "High Memory Support" 1993 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM 1994 1995config CPU_SUPPORTS_HIGHMEM 1996 bool 1997 1998config SYS_SUPPORTS_HIGHMEM 1999 bool 2000 2001config SYS_SUPPORTS_SMARTMIPS 2002 bool 2003 2004config ARCH_FLATMEM_ENABLE 2005 def_bool y 2006 depends on !NUMA && !CPU_LOONGSON2 2007 2008config ARCH_DISCONTIGMEM_ENABLE 2009 bool 2010 default y if SGI_IP27 2011 help 2012 Say Y to support efficient handling of discontiguous physical memory, 2013 for architectures which are either NUMA (Non-Uniform Memory Access) 2014 or have huge holes in the physical address space for other reasons. 2015 See <file:Documentation/vm/numa> for more. 2016 2017config ARCH_POPULATES_NODE_MAP 2018 def_bool y 2019 2020config ARCH_SPARSEMEM_ENABLE 2021 bool 2022 select SPARSEMEM_STATIC 2023 2024config NUMA 2025 bool "NUMA Support" 2026 depends on SYS_SUPPORTS_NUMA 2027 help 2028 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2029 Access). This option improves performance on systems with more 2030 than two nodes; on two node systems it is generally better to 2031 leave it disabled; on single node systems disable this option 2032 disabled. 2033 2034config SYS_SUPPORTS_NUMA 2035 bool 2036 2037config NODES_SHIFT 2038 int 2039 default "6" 2040 depends on NEED_MULTIPLE_NODES 2041 2042config HW_PERF_EVENTS 2043 bool "Enable hardware performance counter support for perf events" 2044 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && CPU_MIPS32 2045 default y 2046 help 2047 Enable hardware performance counter support for perf events. If 2048 disabled, perf events will use software events only. 2049 2050source "mm/Kconfig" 2051 2052config SMP 2053 bool "Multi-Processing support" 2054 depends on SYS_SUPPORTS_SMP 2055 select IRQ_PER_CPU 2056 select USE_GENERIC_SMP_HELPERS 2057 help 2058 This enables support for systems with more than one CPU. If you have 2059 a system with only one CPU, like most personal computers, say N. If 2060 you have a system with more than one CPU, say Y. 2061 2062 If you say N here, the kernel will run on single and multiprocessor 2063 machines, but will use only one CPU of a multiprocessor machine. If 2064 you say Y here, the kernel will run on many, but not all, 2065 singleprocessor machines. On a singleprocessor machine, the kernel 2066 will run faster if you say N here. 2067 2068 People using multiprocessor machines who say Y here should also say 2069 Y to "Enhanced Real Time Clock Support", below. 2070 2071 See also the SMP-HOWTO available at 2072 <http://www.tldp.org/docs.html#howto>. 2073 2074 If you don't know what to do here, say N. 2075 2076config SMP_UP 2077 bool 2078 2079config SYS_SUPPORTS_MIPS_CMP 2080 bool 2081 2082config SYS_SUPPORTS_SMP 2083 bool 2084 2085config NR_CPUS_DEFAULT_1 2086 bool 2087 2088config NR_CPUS_DEFAULT_2 2089 bool 2090 2091config NR_CPUS_DEFAULT_4 2092 bool 2093 2094config NR_CPUS_DEFAULT_8 2095 bool 2096 2097config NR_CPUS_DEFAULT_16 2098 bool 2099 2100config NR_CPUS_DEFAULT_32 2101 bool 2102 2103config NR_CPUS_DEFAULT_64 2104 bool 2105 2106config NR_CPUS 2107 int "Maximum number of CPUs (2-64)" 2108 range 1 64 if NR_CPUS_DEFAULT_1 2109 depends on SMP 2110 default "1" if NR_CPUS_DEFAULT_1 2111 default "2" if NR_CPUS_DEFAULT_2 2112 default "4" if NR_CPUS_DEFAULT_4 2113 default "8" if NR_CPUS_DEFAULT_8 2114 default "16" if NR_CPUS_DEFAULT_16 2115 default "32" if NR_CPUS_DEFAULT_32 2116 default "64" if NR_CPUS_DEFAULT_64 2117 help 2118 This allows you to specify the maximum number of CPUs which this 2119 kernel will support. The maximum supported value is 32 for 32-bit 2120 kernel and 64 for 64-bit kernels; the minimum value which makes 2121 sense is 1 for Qemu (useful only for kernel debugging purposes) 2122 and 2 for all others. 2123 2124 This is purely to save memory - each supported CPU adds 2125 approximately eight kilobytes to the kernel image. For best 2126 performance should round up your number of processors to the next 2127 power of two. 2128 2129source "kernel/time/Kconfig" 2130 2131# 2132# Timer Interrupt Frequency Configuration 2133# 2134 2135choice 2136 prompt "Timer frequency" 2137 default HZ_250 2138 help 2139 Allows the configuration of the timer frequency. 2140 2141 config HZ_48 2142 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 2143 2144 config HZ_100 2145 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 2146 2147 config HZ_128 2148 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 2149 2150 config HZ_250 2151 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 2152 2153 config HZ_256 2154 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 2155 2156 config HZ_1000 2157 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 2158 2159 config HZ_1024 2160 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 2161 2162endchoice 2163 2164config SYS_SUPPORTS_48HZ 2165 bool 2166 2167config SYS_SUPPORTS_100HZ 2168 bool 2169 2170config SYS_SUPPORTS_128HZ 2171 bool 2172 2173config SYS_SUPPORTS_250HZ 2174 bool 2175 2176config SYS_SUPPORTS_256HZ 2177 bool 2178 2179config SYS_SUPPORTS_1000HZ 2180 bool 2181 2182config SYS_SUPPORTS_1024HZ 2183 bool 2184 2185config SYS_SUPPORTS_ARBIT_HZ 2186 bool 2187 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ 2188 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ 2189 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ 2190 !SYS_SUPPORTS_1024HZ 2191 2192config HZ 2193 int 2194 default 48 if HZ_48 2195 default 100 if HZ_100 2196 default 128 if HZ_128 2197 default 250 if HZ_250 2198 default 256 if HZ_256 2199 default 1000 if HZ_1000 2200 default 1024 if HZ_1024 2201 2202source "kernel/Kconfig.preempt" 2203 2204config MIPS_INSANE_LARGE 2205 bool "Support for large 64-bit configurations" 2206 depends on CPU_R10000 && 64BIT 2207 help 2208 MIPS R10000 does support a 44 bit / 16TB address space as opposed to 2209 previous 64-bit processors which only supported 40 bit / 1TB. If you 2210 need processes of more than 1TB virtual address space, say Y here. 2211 This will result in additional memory usage, so it is not 2212 recommended for normal users. 2213 2214config KEXEC 2215 bool "Kexec system call (EXPERIMENTAL)" 2216 depends on EXPERIMENTAL 2217 help 2218 kexec is a system call that implements the ability to shutdown your 2219 current kernel, and to start another kernel. It is like a reboot 2220 but it is independent of the system firmware. And like a reboot 2221 you can start any kernel with it, not just Linux. 2222 2223 The name comes from the similarity to the exec system call. 2224 2225 It is an ongoing process to be certain the hardware in a machine 2226 is properly shutdown, so do not be surprised if this code does not 2227 initially work for you. It may help to enable device hotplugging 2228 support. As of this writing the exact hardware interface is 2229 strongly in flux, so no good recommendation can be made. 2230 2231config SECCOMP 2232 bool "Enable seccomp to safely compute untrusted bytecode" 2233 depends on PROC_FS 2234 default y 2235 help 2236 This kernel feature is useful for number crunching applications 2237 that may need to compute untrusted bytecode during their 2238 execution. By using pipes or other transports made available to 2239 the process as file descriptors supporting the read/write 2240 syscalls, it's possible to isolate those applications in 2241 their own address space using seccomp. Once seccomp is 2242 enabled via /proc/<pid>/seccomp, it cannot be disabled 2243 and the task is only allowed to execute a few safe syscalls 2244 defined by each seccomp mode. 2245 2246 If unsure, say Y. Only embedded should say N here. 2247 2248config USE_OF 2249 bool "Flattened Device Tree support" 2250 select OF 2251 select OF_EARLY_FLATTREE 2252 help 2253 Include support for flattened device tree machine descriptions. 2254 2255endmenu 2256 2257config LOCKDEP_SUPPORT 2258 bool 2259 default y 2260 2261config STACKTRACE_SUPPORT 2262 bool 2263 default y 2264 2265source "init/Kconfig" 2266 2267source "kernel/Kconfig.freezer" 2268 2269menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2270 2271config HW_HAS_EISA 2272 bool 2273config HW_HAS_PCI 2274 bool 2275 2276config PCI 2277 bool "Support for PCI controller" 2278 depends on HW_HAS_PCI 2279 select PCI_DOMAINS 2280 help 2281 Find out whether you have a PCI motherboard. PCI is the name of a 2282 bus system, i.e. the way the CPU talks to the other stuff inside 2283 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2284 say Y, otherwise N. 2285 2286config PCI_DOMAINS 2287 bool 2288 2289source "drivers/pci/Kconfig" 2290 2291# 2292# ISA support is now enabled via select. Too many systems still have the one 2293# or other ISA chip on the board that users don't know about so don't expect 2294# users to choose the right thing ... 2295# 2296config ISA 2297 bool 2298 2299config EISA 2300 bool "EISA support" 2301 depends on HW_HAS_EISA 2302 select ISA 2303 select GENERIC_ISA_DMA 2304 ---help--- 2305 The Extended Industry Standard Architecture (EISA) bus was 2306 developed as an open alternative to the IBM MicroChannel bus. 2307 2308 The EISA bus provided some of the features of the IBM MicroChannel 2309 bus while maintaining backward compatibility with cards made for 2310 the older ISA bus. The EISA bus saw limited use between 1988 and 2311 1995 when it was made obsolete by the PCI bus. 2312 2313 Say Y here if you are building a kernel for an EISA-based machine. 2314 2315 Otherwise, say N. 2316 2317source "drivers/eisa/Kconfig" 2318 2319config TC 2320 bool "TURBOchannel support" 2321 depends on MACH_DECSTATION 2322 help 2323 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 2324 processors. TURBOchannel programming specifications are available 2325 at: 2326 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 2327 and: 2328 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 2329 Linux driver support status is documented at: 2330 <http://www.linux-mips.org/wiki/DECstation> 2331 2332#config ACCESSBUS 2333# bool "Access.Bus support" 2334# depends on TC 2335 2336config MMU 2337 bool 2338 default y 2339 2340config I8253 2341 bool 2342 select MIPS_EXTERNAL_TIMER 2343 2344config ZONE_DMA32 2345 bool 2346 2347source "drivers/pcmcia/Kconfig" 2348 2349source "drivers/pci/hotplug/Kconfig" 2350 2351config RAPIDIO 2352 bool "RapidIO support" 2353 depends on PCI 2354 default n 2355 help 2356 If you say Y here, the kernel will include drivers and 2357 infrastructure code to support RapidIO interconnect devices. 2358 2359source "drivers/rapidio/Kconfig" 2360 2361endmenu 2362 2363menu "Executable file formats" 2364 2365source "fs/Kconfig.binfmt" 2366 2367config TRAD_SIGNALS 2368 bool 2369 2370config MIPS32_COMPAT 2371 bool "Kernel support for Linux/MIPS 32-bit binary compatibility" 2372 depends on 64BIT 2373 help 2374 Select this option if you want Linux/MIPS 32-bit binary 2375 compatibility. Since all software available for Linux/MIPS is 2376 currently 32-bit you should say Y here. 2377 2378config COMPAT 2379 bool 2380 depends on MIPS32_COMPAT 2381 default y 2382 2383config SYSVIPC_COMPAT 2384 bool 2385 depends on COMPAT && SYSVIPC 2386 default y 2387 2388config MIPS32_O32 2389 bool "Kernel support for o32 binaries" 2390 depends on MIPS32_COMPAT 2391 help 2392 Select this option if you want to run o32 binaries. These are pure 2393 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2394 existing binaries are in this format. 2395 2396 If unsure, say Y. 2397 2398config MIPS32_N32 2399 bool "Kernel support for n32 binaries" 2400 depends on MIPS32_COMPAT 2401 help 2402 Select this option if you want to run n32 binaries. These are 2403 64-bit binaries using 32-bit quantities for addressing and certain 2404 data that would normally be 64-bit. They are used in special 2405 cases. 2406 2407 If unsure, say N. 2408 2409config BINFMT_ELF32 2410 bool 2411 default y if MIPS32_O32 || MIPS32_N32 2412 2413endmenu 2414 2415menu "Power management options" 2416 2417config ARCH_HIBERNATION_POSSIBLE 2418 def_bool y 2419 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2420 2421config ARCH_SUSPEND_POSSIBLE 2422 def_bool y 2423 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2424 2425source "kernel/power/Kconfig" 2426 2427endmenu 2428 2429source "arch/mips/kernel/cpufreq/Kconfig" 2430 2431source "net/Kconfig" 2432 2433source "drivers/Kconfig" 2434 2435source "fs/Kconfig" 2436 2437source "arch/mips/Kconfig.debug" 2438 2439source "security/Kconfig" 2440 2441source "crypto/Kconfig" 2442 2443menuconfig VIRTUALIZATION 2444 bool "Virtualization" 2445 default n 2446 ---help--- 2447 Say Y here to get to see options for using your Linux host to run other 2448 operating systems inside virtual machines (guests). 2449 This option alone does not add any kernel code. 2450 2451 If you say N, all options in this submenu will be skipped and disabled. 2452 2453if VIRTUALIZATION 2454 2455source drivers/virtio/Kconfig 2456 2457endif # VIRTUALIZATION 2458 2459source "lib/Kconfig" 2460