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_HWEIGHT 825 bool 826 default y 827 828config GENERIC_CALIBRATE_DELAY 829 bool 830 default y 831 832config GENERIC_CLOCKEVENTS 833 bool 834 default y 835 836config GENERIC_CMOS_UPDATE 837 bool 838 default y 839 840config SCHED_OMIT_FRAME_POINTER 841 bool 842 default y 843 844# 845# Select some configuration options automatically based on user selections. 846# 847config ARC 848 bool 849 850config ARCH_MAY_HAVE_PC_FDC 851 bool 852 853config BOOT_RAW 854 bool 855 856config CEVT_BCM1480 857 bool 858 859config CEVT_DS1287 860 bool 861 862config CEVT_GT641XX 863 bool 864 865config CEVT_R4K_LIB 866 bool 867 868config CEVT_R4K 869 select CEVT_R4K_LIB 870 bool 871 872config CEVT_SB1250 873 bool 874 875config CEVT_TXX9 876 bool 877 878config CSRC_BCM1480 879 bool 880 881config CSRC_IOASIC 882 bool 883 884config CSRC_POWERTV 885 bool 886 887config CSRC_R4K_LIB 888 bool 889 890config CSRC_R4K 891 select CSRC_R4K_LIB 892 bool 893 894config CSRC_SB1250 895 bool 896 897config GPIO_TXX9 898 select GENERIC_GPIO 899 select ARCH_REQUIRE_GPIOLIB 900 bool 901 902config CFE 903 bool 904 905config ARCH_DMA_ADDR_T_64BIT 906 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT 907 908config DMA_COHERENT 909 bool 910 911config DMA_NONCOHERENT 912 bool 913 select NEED_DMA_MAP_STATE 914 915config NEED_DMA_MAP_STATE 916 bool 917 918config SYS_HAS_EARLY_PRINTK 919 bool 920 921config HOTPLUG_CPU 922 bool "Support for hot-pluggable CPUs" 923 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU 924 help 925 Say Y here to allow turning CPUs off and on. CPUs can be 926 controlled through /sys/devices/system/cpu. 927 (Note: power management support will enable this option 928 automatically on SMP systems. ) 929 Say N if you want to disable CPU hotplug. 930 931config SYS_SUPPORTS_HOTPLUG_CPU 932 bool 933 934config I8259 935 bool 936 937config MIPS_BONITO64 938 bool 939 940config MIPS_MSC 941 bool 942 943config MIPS_NILE4 944 bool 945 946config MIPS_DISABLE_OBSOLETE_IDE 947 bool 948 949config SYNC_R4K 950 bool 951 952config MIPS_MACHINE 953 def_bool n 954 955config NO_IOPORT 956 def_bool n 957 958config GENERIC_ISA_DMA 959 bool 960 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 961 select ISA_DMA_API 962 963config GENERIC_ISA_DMA_SUPPORT_BROKEN 964 bool 965 select GENERIC_ISA_DMA 966 967config ISA_DMA_API 968 bool 969 970config GENERIC_GPIO 971 bool 972 973# 974# Endianess selection. Sufficiently obscure so many users don't know what to 975# answer,so we try hard to limit the available choices. Also the use of a 976# choice statement should be more obvious to the user. 977# 978choice 979 prompt "Endianess selection" 980 help 981 Some MIPS machines can be configured for either little or big endian 982 byte order. These modes require different kernels and a different 983 Linux distribution. In general there is one preferred byteorder for a 984 particular system but some systems are just as commonly used in the 985 one or the other endianness. 986 987config CPU_BIG_ENDIAN 988 bool "Big endian" 989 depends on SYS_SUPPORTS_BIG_ENDIAN 990 991config CPU_LITTLE_ENDIAN 992 bool "Little endian" 993 depends on SYS_SUPPORTS_LITTLE_ENDIAN 994 help 995 996endchoice 997 998config EXPORT_UASM 999 bool 1000 1001config SYS_SUPPORTS_APM_EMULATION 1002 bool 1003 1004config SYS_SUPPORTS_BIG_ENDIAN 1005 bool 1006 1007config SYS_SUPPORTS_LITTLE_ENDIAN 1008 bool 1009 1010config SYS_SUPPORTS_HUGETLBFS 1011 bool 1012 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT 1013 default y 1014 1015config IRQ_CPU 1016 bool 1017 1018config IRQ_CPU_RM7K 1019 bool 1020 1021config IRQ_CPU_RM9K 1022 bool 1023 1024config IRQ_MSP_SLP 1025 bool 1026 1027config IRQ_MSP_CIC 1028 bool 1029 1030config IRQ_TXX9 1031 bool 1032 1033config IRQ_GT641XX 1034 bool 1035 1036config IRQ_GIC 1037 bool 1038 1039config MIPS_BOARDS_GEN 1040 bool 1041 1042config PCI_GT64XXX_PCI0 1043 bool 1044 1045config NO_EXCEPT_FILL 1046 bool 1047 1048config MIPS_RM9122 1049 bool 1050 select SERIAL_RM9000 1051 1052config SOC_EMMA2RH 1053 bool 1054 select CEVT_R4K 1055 select CSRC_R4K 1056 select DMA_NONCOHERENT 1057 select IRQ_CPU 1058 select SWAP_IO_SPACE 1059 select SYS_HAS_CPU_R5500 1060 select SYS_SUPPORTS_32BIT_KERNEL 1061 select SYS_SUPPORTS_64BIT_KERNEL 1062 select SYS_SUPPORTS_BIG_ENDIAN 1063 1064config SOC_PNX833X 1065 bool 1066 select CEVT_R4K 1067 select CSRC_R4K 1068 select IRQ_CPU 1069 select DMA_NONCOHERENT 1070 select SYS_HAS_CPU_MIPS32_R2 1071 select SYS_SUPPORTS_32BIT_KERNEL 1072 select SYS_SUPPORTS_LITTLE_ENDIAN 1073 select SYS_SUPPORTS_BIG_ENDIAN 1074 select GENERIC_GPIO 1075 select CPU_MIPSR2_IRQ_VI 1076 1077config SOC_PNX8335 1078 bool 1079 select SOC_PNX833X 1080 1081config PNX8550 1082 bool 1083 select SOC_PNX8550 1084 1085config SOC_PNX8550 1086 bool 1087 select DMA_NONCOHERENT 1088 select HW_HAS_PCI 1089 select SYS_HAS_CPU_MIPS32_R1 1090 select SYS_HAS_EARLY_PRINTK 1091 select SYS_SUPPORTS_32BIT_KERNEL 1092 select GENERIC_GPIO 1093 1094config SWAP_IO_SPACE 1095 bool 1096 1097config SERIAL_RM9000 1098 bool 1099 1100config SGI_HAS_INDYDOG 1101 bool 1102 1103config SGI_HAS_HAL2 1104 bool 1105 1106config SGI_HAS_SEEQ 1107 bool 1108 1109config SGI_HAS_WD93 1110 bool 1111 1112config SGI_HAS_ZILOG 1113 bool 1114 1115config SGI_HAS_I8042 1116 bool 1117 1118config DEFAULT_SGI_PARTITION 1119 bool 1120 1121config ARC32 1122 bool 1123 1124config SNIPROM 1125 bool 1126 1127config BOOT_ELF32 1128 bool 1129 1130config MIPS_L1_CACHE_SHIFT 1131 int 1132 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL 1133 default "6" if MIPS_CPU_SCACHE 1134 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON 1135 default "5" 1136 1137config HAVE_STD_PC_SERIAL_PORT 1138 bool 1139 1140config ARC_CONSOLE 1141 bool "ARC console support" 1142 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 1143 1144config ARC_MEMORY 1145 bool 1146 depends on MACH_JAZZ || SNI_RM || SGI_IP32 1147 default y 1148 1149config ARC_PROMLIB 1150 bool 1151 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 1152 default y 1153 1154config ARC64 1155 bool 1156 1157config BOOT_ELF64 1158 bool 1159 1160menu "CPU selection" 1161 1162choice 1163 prompt "CPU type" 1164 default CPU_R4X00 1165 1166config CPU_LOONGSON2E 1167 bool "Loongson 2E" 1168 depends on SYS_HAS_CPU_LOONGSON2E 1169 select CPU_LOONGSON2 1170 help 1171 The Loongson 2E processor implements the MIPS III instruction set 1172 with many extensions. 1173 1174 It has an internal FPGA northbridge, which is compatible to 1175 bonito64. 1176 1177config CPU_LOONGSON2F 1178 bool "Loongson 2F" 1179 depends on SYS_HAS_CPU_LOONGSON2F 1180 select CPU_LOONGSON2 1181 select GENERIC_GPIO 1182 select ARCH_REQUIRE_GPIOLIB 1183 help 1184 The Loongson 2F processor implements the MIPS III instruction set 1185 with many extensions. 1186 1187 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller 1188 have a similar programming interface with FPGA northbridge used in 1189 Loongson2E. 1190 1191config CPU_MIPS32_R1 1192 bool "MIPS32 Release 1" 1193 depends on SYS_HAS_CPU_MIPS32_R1 1194 select CPU_HAS_PREFETCH 1195 select CPU_SUPPORTS_32BIT_KERNEL 1196 select CPU_SUPPORTS_HIGHMEM 1197 help 1198 Choose this option to build a kernel for release 1 or later of the 1199 MIPS32 architecture. Most modern embedded systems with a 32-bit 1200 MIPS processor are based on a MIPS32 processor. If you know the 1201 specific type of processor in your system, choose those that one 1202 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1203 Release 2 of the MIPS32 architecture is available since several 1204 years so chances are you even have a MIPS32 Release 2 processor 1205 in which case you should choose CPU_MIPS32_R2 instead for better 1206 performance. 1207 1208config CPU_MIPS32_R2 1209 bool "MIPS32 Release 2" 1210 depends on SYS_HAS_CPU_MIPS32_R2 1211 select CPU_HAS_PREFETCH 1212 select CPU_SUPPORTS_32BIT_KERNEL 1213 select CPU_SUPPORTS_HIGHMEM 1214 help 1215 Choose this option to build a kernel for release 2 or later of the 1216 MIPS32 architecture. Most modern embedded systems with a 32-bit 1217 MIPS processor are based on a MIPS32 processor. If you know the 1218 specific type of processor in your system, choose those that one 1219 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1220 1221config CPU_MIPS64_R1 1222 bool "MIPS64 Release 1" 1223 depends on SYS_HAS_CPU_MIPS64_R1 1224 select CPU_HAS_PREFETCH 1225 select CPU_SUPPORTS_32BIT_KERNEL 1226 select CPU_SUPPORTS_64BIT_KERNEL 1227 select CPU_SUPPORTS_HIGHMEM 1228 select CPU_SUPPORTS_HUGEPAGES 1229 help 1230 Choose this option to build a kernel for release 1 or later of the 1231 MIPS64 architecture. Many modern embedded systems with a 64-bit 1232 MIPS processor are based on a MIPS64 processor. If you know the 1233 specific type of processor in your system, choose those that one 1234 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1235 Release 2 of the MIPS64 architecture is available since several 1236 years so chances are you even have a MIPS64 Release 2 processor 1237 in which case you should choose CPU_MIPS64_R2 instead for better 1238 performance. 1239 1240config CPU_MIPS64_R2 1241 bool "MIPS64 Release 2" 1242 depends on SYS_HAS_CPU_MIPS64_R2 1243 select CPU_HAS_PREFETCH 1244 select CPU_SUPPORTS_32BIT_KERNEL 1245 select CPU_SUPPORTS_64BIT_KERNEL 1246 select CPU_SUPPORTS_HIGHMEM 1247 select CPU_SUPPORTS_HUGEPAGES 1248 help 1249 Choose this option to build a kernel for release 2 or later of the 1250 MIPS64 architecture. Many modern embedded systems with a 64-bit 1251 MIPS processor are based on a MIPS64 processor. If you know the 1252 specific type of processor in your system, choose those that one 1253 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1254 1255config CPU_R3000 1256 bool "R3000" 1257 depends on SYS_HAS_CPU_R3000 1258 select CPU_HAS_WB 1259 select CPU_SUPPORTS_32BIT_KERNEL 1260 select CPU_SUPPORTS_HIGHMEM 1261 help 1262 Please make sure to pick the right CPU type. Linux/MIPS is not 1263 designed to be generic, i.e. Kernels compiled for R3000 CPUs will 1264 *not* work on R4000 machines and vice versa. However, since most 1265 of the supported machines have an R4000 (or similar) CPU, R4x00 1266 might be a safe bet. If the resulting kernel does not work, 1267 try to recompile with R3000. 1268 1269config CPU_TX39XX 1270 bool "R39XX" 1271 depends on SYS_HAS_CPU_TX39XX 1272 select CPU_SUPPORTS_32BIT_KERNEL 1273 1274config CPU_VR41XX 1275 bool "R41xx" 1276 depends on SYS_HAS_CPU_VR41XX 1277 select CPU_SUPPORTS_32BIT_KERNEL 1278 select CPU_SUPPORTS_64BIT_KERNEL 1279 help 1280 The options selects support for the NEC VR4100 series of processors. 1281 Only choose this option if you have one of these processors as a 1282 kernel built with this option will not run on any other type of 1283 processor or vice versa. 1284 1285config CPU_R4300 1286 bool "R4300" 1287 depends on SYS_HAS_CPU_R4300 1288 select CPU_SUPPORTS_32BIT_KERNEL 1289 select CPU_SUPPORTS_64BIT_KERNEL 1290 help 1291 MIPS Technologies R4300-series processors. 1292 1293config CPU_R4X00 1294 bool "R4x00" 1295 depends on SYS_HAS_CPU_R4X00 1296 select CPU_SUPPORTS_32BIT_KERNEL 1297 select CPU_SUPPORTS_64BIT_KERNEL 1298 help 1299 MIPS Technologies R4000-series processors other than 4300, including 1300 the R4000, R4400, R4600, and 4700. 1301 1302config CPU_TX49XX 1303 bool "R49XX" 1304 depends on SYS_HAS_CPU_TX49XX 1305 select CPU_HAS_PREFETCH 1306 select CPU_SUPPORTS_32BIT_KERNEL 1307 select CPU_SUPPORTS_64BIT_KERNEL 1308 1309config CPU_R5000 1310 bool "R5000" 1311 depends on SYS_HAS_CPU_R5000 1312 select CPU_SUPPORTS_32BIT_KERNEL 1313 select CPU_SUPPORTS_64BIT_KERNEL 1314 help 1315 MIPS Technologies R5000-series processors other than the Nevada. 1316 1317config CPU_R5432 1318 bool "R5432" 1319 depends on SYS_HAS_CPU_R5432 1320 select CPU_SUPPORTS_32BIT_KERNEL 1321 select CPU_SUPPORTS_64BIT_KERNEL 1322 1323config CPU_R5500 1324 bool "R5500" 1325 depends on SYS_HAS_CPU_R5500 1326 select CPU_SUPPORTS_32BIT_KERNEL 1327 select CPU_SUPPORTS_64BIT_KERNEL 1328 select CPU_SUPPORTS_HUGEPAGES 1329 help 1330 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1331 instruction set. 1332 1333config CPU_R6000 1334 bool "R6000" 1335 depends on EXPERIMENTAL 1336 depends on SYS_HAS_CPU_R6000 1337 select CPU_SUPPORTS_32BIT_KERNEL 1338 help 1339 MIPS Technologies R6000 and R6000A series processors. Note these 1340 processors are extremely rare and the support for them is incomplete. 1341 1342config CPU_NEVADA 1343 bool "RM52xx" 1344 depends on SYS_HAS_CPU_NEVADA 1345 select CPU_SUPPORTS_32BIT_KERNEL 1346 select CPU_SUPPORTS_64BIT_KERNEL 1347 help 1348 QED / PMC-Sierra RM52xx-series ("Nevada") processors. 1349 1350config CPU_R8000 1351 bool "R8000" 1352 depends on EXPERIMENTAL 1353 depends on SYS_HAS_CPU_R8000 1354 select CPU_HAS_PREFETCH 1355 select CPU_SUPPORTS_64BIT_KERNEL 1356 help 1357 MIPS Technologies R8000 processors. Note these processors are 1358 uncommon and the support for them is incomplete. 1359 1360config CPU_R10000 1361 bool "R10000" 1362 depends on SYS_HAS_CPU_R10000 1363 select CPU_HAS_PREFETCH 1364 select CPU_SUPPORTS_32BIT_KERNEL 1365 select CPU_SUPPORTS_64BIT_KERNEL 1366 select CPU_SUPPORTS_HIGHMEM 1367 help 1368 MIPS Technologies R10000-series processors. 1369 1370config CPU_RM7000 1371 bool "RM7000" 1372 depends on SYS_HAS_CPU_RM7000 1373 select CPU_HAS_PREFETCH 1374 select CPU_SUPPORTS_32BIT_KERNEL 1375 select CPU_SUPPORTS_64BIT_KERNEL 1376 select CPU_SUPPORTS_HIGHMEM 1377 1378config CPU_RM9000 1379 bool "RM9000" 1380 depends on SYS_HAS_CPU_RM9000 1381 select CPU_HAS_PREFETCH 1382 select CPU_SUPPORTS_32BIT_KERNEL 1383 select CPU_SUPPORTS_64BIT_KERNEL 1384 select CPU_SUPPORTS_HIGHMEM 1385 select WEAK_ORDERING 1386 1387config CPU_SB1 1388 bool "SB1" 1389 depends on SYS_HAS_CPU_SB1 1390 select CPU_SUPPORTS_32BIT_KERNEL 1391 select CPU_SUPPORTS_64BIT_KERNEL 1392 select CPU_SUPPORTS_HIGHMEM 1393 select WEAK_ORDERING 1394 1395config CPU_CAVIUM_OCTEON 1396 bool "Cavium Octeon processor" 1397 depends on SYS_HAS_CPU_CAVIUM_OCTEON 1398 select CPU_HAS_PREFETCH 1399 select CPU_SUPPORTS_64BIT_KERNEL 1400 select SYS_SUPPORTS_SMP 1401 select NR_CPUS_DEFAULT_16 1402 select WEAK_ORDERING 1403 select CPU_SUPPORTS_HIGHMEM 1404 select CPU_SUPPORTS_HUGEPAGES 1405 help 1406 The Cavium Octeon processor is a highly integrated chip containing 1407 many ethernet hardware widgets for networking tasks. The processor 1408 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. 1409 Full details can be found at http://www.caviumnetworks.com. 1410 1411config CPU_BMIPS3300 1412 bool "BMIPS3300" 1413 depends on SYS_HAS_CPU_BMIPS3300 1414 select DMA_NONCOHERENT 1415 select IRQ_CPU 1416 select SWAP_IO_SPACE 1417 select SYS_SUPPORTS_32BIT_KERNEL 1418 select WEAK_ORDERING 1419 help 1420 Broadcom BMIPS3300 processors. 1421 1422config CPU_BMIPS4350 1423 bool "BMIPS4350" 1424 depends on SYS_HAS_CPU_BMIPS4350 1425 select CPU_SUPPORTS_32BIT_KERNEL 1426 select DMA_NONCOHERENT 1427 select IRQ_CPU 1428 select SWAP_IO_SPACE 1429 select SYS_SUPPORTS_SMP 1430 select SYS_SUPPORTS_HOTPLUG_CPU 1431 select WEAK_ORDERING 1432 help 1433 Broadcom BMIPS4350 ("VIPER") processors. 1434 1435config CPU_BMIPS4380 1436 bool "BMIPS4380" 1437 depends on SYS_HAS_CPU_BMIPS4380 1438 select CPU_SUPPORTS_32BIT_KERNEL 1439 select DMA_NONCOHERENT 1440 select IRQ_CPU 1441 select SWAP_IO_SPACE 1442 select SYS_SUPPORTS_SMP 1443 select SYS_SUPPORTS_HOTPLUG_CPU 1444 select WEAK_ORDERING 1445 help 1446 Broadcom BMIPS4380 processors. 1447 1448config CPU_BMIPS5000 1449 bool "BMIPS5000" 1450 depends on SYS_HAS_CPU_BMIPS5000 1451 select CPU_SUPPORTS_32BIT_KERNEL 1452 select CPU_SUPPORTS_HIGHMEM 1453 select DMA_NONCOHERENT 1454 select IRQ_CPU 1455 select SWAP_IO_SPACE 1456 select SYS_SUPPORTS_SMP 1457 select SYS_SUPPORTS_HOTPLUG_CPU 1458 select WEAK_ORDERING 1459 help 1460 Broadcom BMIPS5000 processors. 1461 1462config CPU_XLR 1463 bool "Netlogic XLR SoC" 1464 depends on SYS_HAS_CPU_XLR 1465 select CPU_SUPPORTS_32BIT_KERNEL 1466 select CPU_SUPPORTS_64BIT_KERNEL 1467 select CPU_SUPPORTS_HIGHMEM 1468 select WEAK_ORDERING 1469 select WEAK_REORDERING_BEYOND_LLSC 1470 select CPU_SUPPORTS_HUGEPAGES 1471 help 1472 Netlogic Microsystems XLR/XLS processors. 1473endchoice 1474 1475if CPU_LOONGSON2F 1476config CPU_NOP_WORKAROUNDS 1477 bool 1478 1479config CPU_JUMP_WORKAROUNDS 1480 bool 1481 1482config CPU_LOONGSON2F_WORKAROUNDS 1483 bool "Loongson 2F Workarounds" 1484 default y 1485 select CPU_NOP_WORKAROUNDS 1486 select CPU_JUMP_WORKAROUNDS 1487 help 1488 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 1489 require workarounds. Without workarounds the system may hang 1490 unexpectedly. For more information please refer to the gas 1491 -mfix-loongson2f-nop and -mfix-loongson2f-jump options. 1492 1493 Loongson 2F03 and later have fixed these issues and no workarounds 1494 are needed. The workarounds have no significant side effect on them 1495 but may decrease the performance of the system so this option should 1496 be disabled unless the kernel is intended to be run on 2F01 or 2F02 1497 systems. 1498 1499 If unsure, please say Y. 1500endif # CPU_LOONGSON2F 1501 1502config SYS_SUPPORTS_ZBOOT 1503 bool 1504 select HAVE_KERNEL_GZIP 1505 select HAVE_KERNEL_BZIP2 1506 select HAVE_KERNEL_LZMA 1507 select HAVE_KERNEL_LZO 1508 1509config SYS_SUPPORTS_ZBOOT_UART16550 1510 bool 1511 select SYS_SUPPORTS_ZBOOT 1512 1513config CPU_LOONGSON2 1514 bool 1515 select CPU_SUPPORTS_32BIT_KERNEL 1516 select CPU_SUPPORTS_64BIT_KERNEL 1517 select CPU_SUPPORTS_HIGHMEM 1518 1519config SYS_HAS_CPU_LOONGSON2E 1520 bool 1521 1522config SYS_HAS_CPU_LOONGSON2F 1523 bool 1524 select CPU_SUPPORTS_CPUFREQ 1525 select CPU_SUPPORTS_ADDRWINCFG if 64BIT 1526 select CPU_SUPPORTS_UNCACHED_ACCELERATED 1527 1528config SYS_HAS_CPU_MIPS32_R1 1529 bool 1530 1531config SYS_HAS_CPU_MIPS32_R2 1532 bool 1533 1534config SYS_HAS_CPU_MIPS64_R1 1535 bool 1536 1537config SYS_HAS_CPU_MIPS64_R2 1538 bool 1539 1540config SYS_HAS_CPU_R3000 1541 bool 1542 1543config SYS_HAS_CPU_TX39XX 1544 bool 1545 1546config SYS_HAS_CPU_VR41XX 1547 bool 1548 1549config SYS_HAS_CPU_R4300 1550 bool 1551 1552config SYS_HAS_CPU_R4X00 1553 bool 1554 1555config SYS_HAS_CPU_TX49XX 1556 bool 1557 1558config SYS_HAS_CPU_R5000 1559 bool 1560 1561config SYS_HAS_CPU_R5432 1562 bool 1563 1564config SYS_HAS_CPU_R5500 1565 bool 1566 1567config SYS_HAS_CPU_R6000 1568 bool 1569 1570config SYS_HAS_CPU_NEVADA 1571 bool 1572 1573config SYS_HAS_CPU_R8000 1574 bool 1575 1576config SYS_HAS_CPU_R10000 1577 bool 1578 1579config SYS_HAS_CPU_RM7000 1580 bool 1581 1582config SYS_HAS_CPU_RM9000 1583 bool 1584 1585config SYS_HAS_CPU_SB1 1586 bool 1587 1588config SYS_HAS_CPU_CAVIUM_OCTEON 1589 bool 1590 1591config SYS_HAS_CPU_BMIPS3300 1592 bool 1593 1594config SYS_HAS_CPU_BMIPS4350 1595 bool 1596 1597config SYS_HAS_CPU_BMIPS4380 1598 bool 1599 1600config SYS_HAS_CPU_BMIPS5000 1601 bool 1602 1603config SYS_HAS_CPU_XLR 1604 bool 1605 1606# 1607# CPU may reorder R->R, R->W, W->R, W->W 1608# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1609# 1610config WEAK_ORDERING 1611 bool 1612 1613# 1614# CPU may reorder reads and writes beyond LL/SC 1615# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 1616# 1617config WEAK_REORDERING_BEYOND_LLSC 1618 bool 1619endmenu 1620 1621# 1622# These two indicate any level of the MIPS32 and MIPS64 architecture 1623# 1624config CPU_MIPS32 1625 bool 1626 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 1627 1628config CPU_MIPS64 1629 bool 1630 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 1631 1632# 1633# These two indicate the revision of the architecture, either Release 1 or Release 2 1634# 1635config CPU_MIPSR1 1636 bool 1637 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 1638 1639config CPU_MIPSR2 1640 bool 1641 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 1642 1643config SYS_SUPPORTS_32BIT_KERNEL 1644 bool 1645config SYS_SUPPORTS_64BIT_KERNEL 1646 bool 1647config CPU_SUPPORTS_32BIT_KERNEL 1648 bool 1649config CPU_SUPPORTS_64BIT_KERNEL 1650 bool 1651config CPU_SUPPORTS_CPUFREQ 1652 bool 1653config CPU_SUPPORTS_ADDRWINCFG 1654 bool 1655config CPU_SUPPORTS_HUGEPAGES 1656 bool 1657config CPU_SUPPORTS_UNCACHED_ACCELERATED 1658 bool 1659config MIPS_PGD_C0_CONTEXT 1660 bool 1661 default y if 64BIT && CPU_MIPSR2 1662 1663# 1664# Set to y for ptrace access to watch registers. 1665# 1666config HARDWARE_WATCHPOINTS 1667 bool 1668 default y if CPU_MIPSR1 || CPU_MIPSR2 1669 1670menu "Kernel type" 1671 1672choice 1673 1674 prompt "Kernel code model" 1675 help 1676 You should only select this option if you have a workload that 1677 actually benefits from 64-bit processing or if your machine has 1678 large memory. You will only be presented a single option in this 1679 menu if your system does not support both 32-bit and 64-bit kernels. 1680 1681config 32BIT 1682 bool "32-bit kernel" 1683 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 1684 select TRAD_SIGNALS 1685 help 1686 Select this option if you want to build a 32-bit kernel. 1687config 64BIT 1688 bool "64-bit kernel" 1689 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 1690 select HAVE_SYSCALL_WRAPPERS 1691 help 1692 Select this option if you want to build a 64-bit kernel. 1693 1694endchoice 1695 1696choice 1697 prompt "Kernel page size" 1698 default PAGE_SIZE_4KB 1699 1700config PAGE_SIZE_4KB 1701 bool "4kB" 1702 depends on !CPU_LOONGSON2 1703 help 1704 This option select the standard 4kB Linux page size. On some 1705 R3000-family processors this is the only available page size. Using 1706 4kB page size will minimize memory consumption and is therefore 1707 recommended for low memory systems. 1708 1709config PAGE_SIZE_8KB 1710 bool "8kB" 1711 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON 1712 help 1713 Using 8kB page size will result in higher performance kernel at 1714 the price of higher memory consumption. This option is available 1715 only on R8000 and cnMIPS processors. Note that you will need a 1716 suitable Linux distribution to support this. 1717 1718config PAGE_SIZE_16KB 1719 bool "16kB" 1720 depends on !CPU_R3000 && !CPU_TX39XX 1721 help 1722 Using 16kB page size will result in higher performance kernel at 1723 the price of higher memory consumption. This option is available on 1724 all non-R3000 family processors. Note that you will need a suitable 1725 Linux distribution to support this. 1726 1727config PAGE_SIZE_32KB 1728 bool "32kB" 1729 depends on CPU_CAVIUM_OCTEON 1730 help 1731 Using 32kB page size will result in higher performance kernel at 1732 the price of higher memory consumption. This option is available 1733 only on cnMIPS cores. Note that you will need a suitable Linux 1734 distribution to support this. 1735 1736config PAGE_SIZE_64KB 1737 bool "64kB" 1738 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX 1739 help 1740 Using 64kB page size will result in higher performance kernel at 1741 the price of higher memory consumption. This option is available on 1742 all non-R3000 family processor. Not that at the time of this 1743 writing this option is still high experimental. 1744 1745endchoice 1746 1747config FORCE_MAX_ZONEORDER 1748 int "Maximum zone order" 1749 range 13 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB 1750 default "13" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB 1751 range 12 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB 1752 default "12" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB 1753 range 11 64 1754 default "11" 1755 help 1756 The kernel memory allocator divides physically contiguous memory 1757 blocks into "zones", where each zone is a power of two number of 1758 pages. This option selects the largest power of two that the kernel 1759 keeps in the memory allocator. If you need to allocate very large 1760 blocks of physically contiguous memory, then you may need to 1761 increase this value. 1762 1763 This config option is actually maximum order plus one. For example, 1764 a value of 11 means that the largest free memory block is 2^10 pages. 1765 1766 The page size is not necessarily 4KB. Keep this in mind 1767 when choosing a value for this option. 1768 1769config BOARD_SCACHE 1770 bool 1771 1772config IP22_CPU_SCACHE 1773 bool 1774 select BOARD_SCACHE 1775 1776# 1777# Support for a MIPS32 / MIPS64 style S-caches 1778# 1779config MIPS_CPU_SCACHE 1780 bool 1781 select BOARD_SCACHE 1782 1783config R5000_CPU_SCACHE 1784 bool 1785 select BOARD_SCACHE 1786 1787config RM7000_CPU_SCACHE 1788 bool 1789 select BOARD_SCACHE 1790 1791config SIBYTE_DMA_PAGEOPS 1792 bool "Use DMA to clear/copy pages" 1793 depends on CPU_SB1 1794 help 1795 Instead of using the CPU to zero and copy pages, use a Data Mover 1796 channel. These DMA channels are otherwise unused by the standard 1797 SiByte Linux port. Seems to give a small performance benefit. 1798 1799config CPU_HAS_PREFETCH 1800 bool 1801 1802choice 1803 prompt "MIPS MT options" 1804 1805config MIPS_MT_DISABLED 1806 bool "Disable multithreading support." 1807 help 1808 Use this option if your workload can't take advantage of 1809 MIPS hardware multithreading support. On systems that don't have 1810 the option of an MT-enabled processor this option will be the only 1811 option in this menu. 1812 1813config MIPS_MT_SMP 1814 bool "Use 1 TC on each available VPE for SMP" 1815 depends on SYS_SUPPORTS_MULTITHREADING 1816 select CPU_MIPSR2_IRQ_VI 1817 select CPU_MIPSR2_IRQ_EI 1818 select MIPS_MT 1819 select NR_CPUS_DEFAULT_2 1820 select SMP 1821 select SYS_SUPPORTS_SCHED_SMT if SMP 1822 select SYS_SUPPORTS_SMP 1823 select SMP_UP 1824 help 1825 This is a kernel model which is known a VSMP but lately has been 1826 marketesed into SMVP. 1827 Virtual SMP uses the processor's VPEs to implement virtual 1828 processors. In currently available configuration of the 34K processor 1829 this allows for a dual processor. Both processors will share the same 1830 primary caches; each will obtain the half of the TLB for it's own 1831 exclusive use. For a layman this model can be described as similar to 1832 what Intel calls Hyperthreading. 1833 1834 For further information see http://www.linux-mips.org/wiki/34K#VSMP 1835 1836config MIPS_MT_SMTC 1837 bool "SMTC: Use all TCs on all VPEs for SMP" 1838 depends on CPU_MIPS32_R2 1839 #depends on CPU_MIPS64_R2 # once there is hardware ... 1840 depends on SYS_SUPPORTS_MULTITHREADING 1841 select CPU_MIPSR2_IRQ_VI 1842 select CPU_MIPSR2_IRQ_EI 1843 select MIPS_MT 1844 select NR_CPUS_DEFAULT_8 1845 select SMP 1846 select SYS_SUPPORTS_SMP 1847 select SMP_UP 1848 help 1849 This is a kernel model which is known a SMTC or lately has been 1850 marketesed into SMVP. 1851 is presenting the available TC's of the core as processors to Linux. 1852 On currently available 34K processors this means a Linux system will 1853 see up to 5 processors. The implementation of the SMTC kernel differs 1854 significantly from VSMP and cannot efficiently coexist in the same 1855 kernel binary so the choice between VSMP and SMTC is a compile time 1856 decision. 1857 1858 For further information see http://www.linux-mips.org/wiki/34K#SMTC 1859 1860endchoice 1861 1862config MIPS_MT 1863 bool 1864 1865config SCHED_SMT 1866 bool "SMT (multithreading) scheduler support" 1867 depends on SYS_SUPPORTS_SCHED_SMT 1868 default n 1869 help 1870 SMT scheduler support improves the CPU scheduler's decision making 1871 when dealing with MIPS MT enabled cores at a cost of slightly 1872 increased overhead in some places. If unsure say N here. 1873 1874config SYS_SUPPORTS_SCHED_SMT 1875 bool 1876 1877 1878config SYS_SUPPORTS_MULTITHREADING 1879 bool 1880 1881config MIPS_MT_FPAFF 1882 bool "Dynamic FPU affinity for FP-intensive threads" 1883 default y 1884 depends on MIPS_MT_SMP || MIPS_MT_SMTC 1885 1886config MIPS_VPE_LOADER 1887 bool "VPE loader support." 1888 depends on SYS_SUPPORTS_MULTITHREADING 1889 select CPU_MIPSR2_IRQ_VI 1890 select CPU_MIPSR2_IRQ_EI 1891 select MIPS_MT 1892 help 1893 Includes a loader for loading an elf relocatable object 1894 onto another VPE and running it. 1895 1896config MIPS_MT_SMTC_IM_BACKSTOP 1897 bool "Use per-TC register bits as backstop for inhibited IM bits" 1898 depends on MIPS_MT_SMTC 1899 default n 1900 help 1901 To support multiple TC microthreads acting as "CPUs" within 1902 a VPE, VPE-wide interrupt mask bits must be specially manipulated 1903 during interrupt handling. To support legacy drivers and interrupt 1904 controller management code, SMTC has a "backstop" to track and 1905 if necessary restore the interrupt mask. This has some performance 1906 impact on interrupt service overhead. 1907 1908config MIPS_MT_SMTC_IRQAFF 1909 bool "Support IRQ affinity API" 1910 depends on MIPS_MT_SMTC 1911 default n 1912 help 1913 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.) 1914 for SMTC Linux kernel. Requires platform support, of which 1915 an example can be found in the MIPS kernel i8259 and Malta 1916 platform code. Adds some overhead to interrupt dispatch, and 1917 should be used only if you know what you are doing. 1918 1919config MIPS_VPE_LOADER_TOM 1920 bool "Load VPE program into memory hidden from linux" 1921 depends on MIPS_VPE_LOADER 1922 default y 1923 help 1924 The loader can use memory that is present but has been hidden from 1925 Linux using the kernel command line option "mem=xxMB". It's up to 1926 you to ensure the amount you put in the option and the space your 1927 program requires is less or equal to the amount physically present. 1928 1929# this should possibly be in drivers/char, but it is rather cpu related. Hmmm 1930config MIPS_VPE_APSP_API 1931 bool "Enable support for AP/SP API (RTLX)" 1932 depends on MIPS_VPE_LOADER 1933 help 1934 1935config MIPS_APSP_KSPD 1936 bool "Enable KSPD" 1937 depends on MIPS_VPE_APSP_API 1938 default y 1939 help 1940 KSPD is a kernel daemon that accepts syscall requests from the SP 1941 side, actions them and returns the results. It also handles the 1942 "exit" syscall notifying other kernel modules the SP program is 1943 exiting. You probably want to say yes here. 1944 1945config MIPS_CMP 1946 bool "MIPS CMP framework support" 1947 depends on SYS_SUPPORTS_MIPS_CMP 1948 select SYNC_R4K 1949 select SYS_SUPPORTS_SMP 1950 select SYS_SUPPORTS_SCHED_SMT if SMP 1951 select WEAK_ORDERING 1952 default n 1953 help 1954 This is a placeholder option for the GCMP work. It will need to 1955 be handled differently... 1956 1957config SB1_PASS_1_WORKAROUNDS 1958 bool 1959 depends on CPU_SB1_PASS_1 1960 default y 1961 1962config SB1_PASS_2_WORKAROUNDS 1963 bool 1964 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 1965 default y 1966 1967config SB1_PASS_2_1_WORKAROUNDS 1968 bool 1969 depends on CPU_SB1 && CPU_SB1_PASS_2 1970 default y 1971 1972config 64BIT_PHYS_ADDR 1973 bool 1974 1975config ARCH_PHYS_ADDR_T_64BIT 1976 def_bool 64BIT_PHYS_ADDR 1977 1978config CPU_HAS_SMARTMIPS 1979 depends on SYS_SUPPORTS_SMARTMIPS 1980 bool "Support for the SmartMIPS ASE" 1981 help 1982 SmartMIPS is a extension of the MIPS32 architecture aimed at 1983 increased security at both hardware and software level for 1984 smartcards. Enabling this option will allow proper use of the 1985 SmartMIPS instructions by Linux applications. However a kernel with 1986 this option will not work on a MIPS core without SmartMIPS core. If 1987 you don't know you probably don't have SmartMIPS and should say N 1988 here. 1989 1990config CPU_HAS_WB 1991 bool 1992 1993# 1994# Vectored interrupt mode is an R2 feature 1995# 1996config CPU_MIPSR2_IRQ_VI 1997 bool 1998 1999# 2000# Extended interrupt mode is an R2 feature 2001# 2002config CPU_MIPSR2_IRQ_EI 2003 bool 2004 2005config CPU_HAS_SYNC 2006 bool 2007 depends on !CPU_R3000 2008 default y 2009 2010config GENERIC_CLOCKEVENTS_BROADCAST 2011 bool 2012 2013# 2014# CPU non-features 2015# 2016config CPU_DADDI_WORKAROUNDS 2017 bool 2018 2019config CPU_R4000_WORKAROUNDS 2020 bool 2021 select CPU_R4400_WORKAROUNDS 2022 2023config CPU_R4400_WORKAROUNDS 2024 bool 2025 2026# 2027# - Highmem only makes sense for the 32-bit kernel. 2028# - The current highmem code will only work properly on physically indexed 2029# caches such as R3000, SB1, R7000 or those that look like they're virtually 2030# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 2031# moment we protect the user and offer the highmem option only on machines 2032# where it's known to be safe. This will not offer highmem on a few systems 2033# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 2034# indexed CPUs but we're playing safe. 2035# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 2036# know they might have memory configurations that could make use of highmem 2037# support. 2038# 2039config HIGHMEM 2040 bool "High Memory Support" 2041 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM 2042 2043config CPU_SUPPORTS_HIGHMEM 2044 bool 2045 2046config SYS_SUPPORTS_HIGHMEM 2047 bool 2048 2049config SYS_SUPPORTS_SMARTMIPS 2050 bool 2051 2052config ARCH_FLATMEM_ENABLE 2053 def_bool y 2054 depends on !NUMA && !CPU_LOONGSON2 2055 2056config ARCH_DISCONTIGMEM_ENABLE 2057 bool 2058 default y if SGI_IP27 2059 help 2060 Say Y to support efficient handling of discontiguous physical memory, 2061 for architectures which are either NUMA (Non-Uniform Memory Access) 2062 or have huge holes in the physical address space for other reasons. 2063 See <file:Documentation/vm/numa> for more. 2064 2065config ARCH_POPULATES_NODE_MAP 2066 def_bool y 2067 2068config ARCH_SPARSEMEM_ENABLE 2069 bool 2070 select SPARSEMEM_STATIC 2071 2072config NUMA 2073 bool "NUMA Support" 2074 depends on SYS_SUPPORTS_NUMA 2075 help 2076 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2077 Access). This option improves performance on systems with more 2078 than two nodes; on two node systems it is generally better to 2079 leave it disabled; on single node systems disable this option 2080 disabled. 2081 2082config SYS_SUPPORTS_NUMA 2083 bool 2084 2085config NODES_SHIFT 2086 int 2087 default "6" 2088 depends on NEED_MULTIPLE_NODES 2089 2090config HW_PERF_EVENTS 2091 bool "Enable hardware performance counter support for perf events" 2092 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && CPU_MIPS32 2093 default y 2094 help 2095 Enable hardware performance counter support for perf events. If 2096 disabled, perf events will use software events only. 2097 2098source "mm/Kconfig" 2099 2100config SMP 2101 bool "Multi-Processing support" 2102 depends on SYS_SUPPORTS_SMP 2103 select IRQ_PER_CPU 2104 select USE_GENERIC_SMP_HELPERS 2105 help 2106 This enables support for systems with more than one CPU. If you have 2107 a system with only one CPU, like most personal computers, say N. If 2108 you have a system with more than one CPU, say Y. 2109 2110 If you say N here, the kernel will run on single and multiprocessor 2111 machines, but will use only one CPU of a multiprocessor machine. If 2112 you say Y here, the kernel will run on many, but not all, 2113 singleprocessor machines. On a singleprocessor machine, the kernel 2114 will run faster if you say N here. 2115 2116 People using multiprocessor machines who say Y here should also say 2117 Y to "Enhanced Real Time Clock Support", below. 2118 2119 See also the SMP-HOWTO available at 2120 <http://www.tldp.org/docs.html#howto>. 2121 2122 If you don't know what to do here, say N. 2123 2124config SMP_UP 2125 bool 2126 2127config SYS_SUPPORTS_MIPS_CMP 2128 bool 2129 2130config SYS_SUPPORTS_SMP 2131 bool 2132 2133config NR_CPUS_DEFAULT_1 2134 bool 2135 2136config NR_CPUS_DEFAULT_2 2137 bool 2138 2139config NR_CPUS_DEFAULT_4 2140 bool 2141 2142config NR_CPUS_DEFAULT_8 2143 bool 2144 2145config NR_CPUS_DEFAULT_16 2146 bool 2147 2148config NR_CPUS_DEFAULT_32 2149 bool 2150 2151config NR_CPUS_DEFAULT_64 2152 bool 2153 2154config NR_CPUS 2155 int "Maximum number of CPUs (2-64)" 2156 range 1 64 if NR_CPUS_DEFAULT_1 2157 depends on SMP 2158 default "1" if NR_CPUS_DEFAULT_1 2159 default "2" if NR_CPUS_DEFAULT_2 2160 default "4" if NR_CPUS_DEFAULT_4 2161 default "8" if NR_CPUS_DEFAULT_8 2162 default "16" if NR_CPUS_DEFAULT_16 2163 default "32" if NR_CPUS_DEFAULT_32 2164 default "64" if NR_CPUS_DEFAULT_64 2165 help 2166 This allows you to specify the maximum number of CPUs which this 2167 kernel will support. The maximum supported value is 32 for 32-bit 2168 kernel and 64 for 64-bit kernels; the minimum value which makes 2169 sense is 1 for Qemu (useful only for kernel debugging purposes) 2170 and 2 for all others. 2171 2172 This is purely to save memory - each supported CPU adds 2173 approximately eight kilobytes to the kernel image. For best 2174 performance should round up your number of processors to the next 2175 power of two. 2176 2177source "kernel/time/Kconfig" 2178 2179# 2180# Timer Interrupt Frequency Configuration 2181# 2182 2183choice 2184 prompt "Timer frequency" 2185 default HZ_250 2186 help 2187 Allows the configuration of the timer frequency. 2188 2189 config HZ_48 2190 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 2191 2192 config HZ_100 2193 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 2194 2195 config HZ_128 2196 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 2197 2198 config HZ_250 2199 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 2200 2201 config HZ_256 2202 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 2203 2204 config HZ_1000 2205 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 2206 2207 config HZ_1024 2208 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 2209 2210endchoice 2211 2212config SYS_SUPPORTS_48HZ 2213 bool 2214 2215config SYS_SUPPORTS_100HZ 2216 bool 2217 2218config SYS_SUPPORTS_128HZ 2219 bool 2220 2221config SYS_SUPPORTS_250HZ 2222 bool 2223 2224config SYS_SUPPORTS_256HZ 2225 bool 2226 2227config SYS_SUPPORTS_1000HZ 2228 bool 2229 2230config SYS_SUPPORTS_1024HZ 2231 bool 2232 2233config SYS_SUPPORTS_ARBIT_HZ 2234 bool 2235 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ 2236 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ 2237 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ 2238 !SYS_SUPPORTS_1024HZ 2239 2240config HZ 2241 int 2242 default 48 if HZ_48 2243 default 100 if HZ_100 2244 default 128 if HZ_128 2245 default 250 if HZ_250 2246 default 256 if HZ_256 2247 default 1000 if HZ_1000 2248 default 1024 if HZ_1024 2249 2250source "kernel/Kconfig.preempt" 2251 2252config MIPS_INSANE_LARGE 2253 bool "Support for large 64-bit configurations" 2254 depends on CPU_R10000 && 64BIT 2255 help 2256 MIPS R10000 does support a 44 bit / 16TB address space as opposed to 2257 previous 64-bit processors which only supported 40 bit / 1TB. If you 2258 need processes of more than 1TB virtual address space, say Y here. 2259 This will result in additional memory usage, so it is not 2260 recommended for normal users. 2261 2262config KEXEC 2263 bool "Kexec system call (EXPERIMENTAL)" 2264 depends on EXPERIMENTAL 2265 help 2266 kexec is a system call that implements the ability to shutdown your 2267 current kernel, and to start another kernel. It is like a reboot 2268 but it is independent of the system firmware. And like a reboot 2269 you can start any kernel with it, not just Linux. 2270 2271 The name comes from the similarity to the exec system call. 2272 2273 It is an ongoing process to be certain the hardware in a machine 2274 is properly shutdown, so do not be surprised if this code does not 2275 initially work for you. It may help to enable device hotplugging 2276 support. As of this writing the exact hardware interface is 2277 strongly in flux, so no good recommendation can be made. 2278 2279config SECCOMP 2280 bool "Enable seccomp to safely compute untrusted bytecode" 2281 depends on PROC_FS 2282 default y 2283 help 2284 This kernel feature is useful for number crunching applications 2285 that may need to compute untrusted bytecode during their 2286 execution. By using pipes or other transports made available to 2287 the process as file descriptors supporting the read/write 2288 syscalls, it's possible to isolate those applications in 2289 their own address space using seccomp. Once seccomp is 2290 enabled via /proc/<pid>/seccomp, it cannot be disabled 2291 and the task is only allowed to execute a few safe syscalls 2292 defined by each seccomp mode. 2293 2294 If unsure, say Y. Only embedded should say N here. 2295 2296config USE_OF 2297 bool "Flattened Device Tree support" 2298 select OF 2299 select OF_EARLY_FLATTREE 2300 help 2301 Include support for flattened device tree machine descriptions. 2302 2303endmenu 2304 2305config LOCKDEP_SUPPORT 2306 bool 2307 default y 2308 2309config STACKTRACE_SUPPORT 2310 bool 2311 default y 2312 2313source "init/Kconfig" 2314 2315source "kernel/Kconfig.freezer" 2316 2317menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2318 2319config HW_HAS_EISA 2320 bool 2321config HW_HAS_PCI 2322 bool 2323 2324config PCI 2325 bool "Support for PCI controller" 2326 depends on HW_HAS_PCI 2327 select PCI_DOMAINS 2328 help 2329 Find out whether you have a PCI motherboard. PCI is the name of a 2330 bus system, i.e. the way the CPU talks to the other stuff inside 2331 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2332 say Y, otherwise N. 2333 2334config PCI_DOMAINS 2335 bool 2336 2337source "drivers/pci/Kconfig" 2338 2339# 2340# ISA support is now enabled via select. Too many systems still have the one 2341# or other ISA chip on the board that users don't know about so don't expect 2342# users to choose the right thing ... 2343# 2344config ISA 2345 bool 2346 2347config EISA 2348 bool "EISA support" 2349 depends on HW_HAS_EISA 2350 select ISA 2351 select GENERIC_ISA_DMA 2352 ---help--- 2353 The Extended Industry Standard Architecture (EISA) bus was 2354 developed as an open alternative to the IBM MicroChannel bus. 2355 2356 The EISA bus provided some of the features of the IBM MicroChannel 2357 bus while maintaining backward compatibility with cards made for 2358 the older ISA bus. The EISA bus saw limited use between 1988 and 2359 1995 when it was made obsolete by the PCI bus. 2360 2361 Say Y here if you are building a kernel for an EISA-based machine. 2362 2363 Otherwise, say N. 2364 2365source "drivers/eisa/Kconfig" 2366 2367config TC 2368 bool "TURBOchannel support" 2369 depends on MACH_DECSTATION 2370 help 2371 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 2372 processors. TURBOchannel programming specifications are available 2373 at: 2374 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 2375 and: 2376 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 2377 Linux driver support status is documented at: 2378 <http://www.linux-mips.org/wiki/DECstation> 2379 2380#config ACCESSBUS 2381# bool "Access.Bus support" 2382# depends on TC 2383 2384config MMU 2385 bool 2386 default y 2387 2388config I8253 2389 bool 2390 select CLKSRC_I8253 2391 select MIPS_EXTERNAL_TIMER 2392 2393config ZONE_DMA32 2394 bool 2395 2396source "drivers/pcmcia/Kconfig" 2397 2398source "drivers/pci/hotplug/Kconfig" 2399 2400config RAPIDIO 2401 bool "RapidIO support" 2402 depends on PCI 2403 default n 2404 help 2405 If you say Y here, the kernel will include drivers and 2406 infrastructure code to support RapidIO interconnect devices. 2407 2408source "drivers/rapidio/Kconfig" 2409 2410endmenu 2411 2412menu "Executable file formats" 2413 2414source "fs/Kconfig.binfmt" 2415 2416config TRAD_SIGNALS 2417 bool 2418 2419config MIPS32_COMPAT 2420 bool "Kernel support for Linux/MIPS 32-bit binary compatibility" 2421 depends on 64BIT 2422 help 2423 Select this option if you want Linux/MIPS 32-bit binary 2424 compatibility. Since all software available for Linux/MIPS is 2425 currently 32-bit you should say Y here. 2426 2427config COMPAT 2428 bool 2429 depends on MIPS32_COMPAT 2430 default y 2431 2432config SYSVIPC_COMPAT 2433 bool 2434 depends on COMPAT && SYSVIPC 2435 default y 2436 2437config MIPS32_O32 2438 bool "Kernel support for o32 binaries" 2439 depends on MIPS32_COMPAT 2440 help 2441 Select this option if you want to run o32 binaries. These are pure 2442 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2443 existing binaries are in this format. 2444 2445 If unsure, say Y. 2446 2447config MIPS32_N32 2448 bool "Kernel support for n32 binaries" 2449 depends on MIPS32_COMPAT 2450 help 2451 Select this option if you want to run n32 binaries. These are 2452 64-bit binaries using 32-bit quantities for addressing and certain 2453 data that would normally be 64-bit. They are used in special 2454 cases. 2455 2456 If unsure, say N. 2457 2458config BINFMT_ELF32 2459 bool 2460 default y if MIPS32_O32 || MIPS32_N32 2461 2462endmenu 2463 2464menu "Power management options" 2465 2466config ARCH_HIBERNATION_POSSIBLE 2467 def_bool y 2468 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2469 2470config ARCH_SUSPEND_POSSIBLE 2471 def_bool y 2472 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2473 2474source "kernel/power/Kconfig" 2475 2476endmenu 2477 2478source "arch/mips/kernel/cpufreq/Kconfig" 2479 2480source "net/Kconfig" 2481 2482source "drivers/Kconfig" 2483 2484source "fs/Kconfig" 2485 2486source "arch/mips/Kconfig.debug" 2487 2488source "security/Kconfig" 2489 2490source "crypto/Kconfig" 2491 2492menuconfig VIRTUALIZATION 2493 bool "Virtualization" 2494 default n 2495 ---help--- 2496 Say Y here to get to see options for using your Linux host to run other 2497 operating systems inside virtual machines (guests). 2498 This option alone does not add any kernel code. 2499 2500 If you say N, all options in this submenu will be skipped and disabled. 2501 2502if VIRTUALIZATION 2503 2504source drivers/virtio/Kconfig 2505 2506endif # VIRTUALIZATION 2507 2508source "lib/Kconfig" 2509