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