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