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