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