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