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