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