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