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