1config MIPS 2 bool 3 default y 4 select HAVE_IDE 5 select HAVE_OPROFILE 6 select HAVE_ARCH_KGDB 7 # Horrible source of confusion. Die, die, die ... 8 select EMBEDDED 9 select RTC_LIB 10 11mainmenu "Linux/MIPS Kernel Configuration" 12 13menu "Machine selection" 14 15config ZONE_DMA 16 bool 17 18choice 19 prompt "System type" 20 default SGI_IP22 21 22config MACH_ALCHEMY 23 bool "Alchemy processor based machines" 24 25config BASLER_EXCITE 26 bool "Basler eXcite smart camera" 27 select CEVT_R4K 28 select CSRC_R4K 29 select DMA_COHERENT 30 select HW_HAS_PCI 31 select IRQ_CPU 32 select IRQ_CPU_RM7K 33 select IRQ_CPU_RM9K 34 select MIPS_RM9122 35 select SYS_HAS_CPU_RM9000 36 select SYS_SUPPORTS_32BIT_KERNEL 37 select SYS_SUPPORTS_BIG_ENDIAN 38 help 39 The eXcite is a smart camera platform manufactured by 40 Basler Vision Technologies AG. 41 42config BCM47XX 43 bool "BCM47XX based boards" 44 select CEVT_R4K 45 select CSRC_R4K 46 select DMA_NONCOHERENT 47 select HW_HAS_PCI 48 select IRQ_CPU 49 select SYS_HAS_CPU_MIPS32_R1 50 select SYS_SUPPORTS_32BIT_KERNEL 51 select SYS_SUPPORTS_LITTLE_ENDIAN 52 select SSB 53 select SSB_DRIVER_MIPS 54 select SSB_DRIVER_EXTIF 55 select SSB_EMBEDDED 56 select SSB_PCICORE_HOSTMODE if PCI 57 select GENERIC_GPIO 58 select SYS_HAS_EARLY_PRINTK 59 select CFE 60 help 61 Support for BCM47XX based boards 62 63config MIPS_COBALT 64 bool "Cobalt Server" 65 select CEVT_R4K 66 select CSRC_R4K 67 select CEVT_GT641XX 68 select DMA_NONCOHERENT 69 select HW_HAS_PCI 70 select I8253 71 select I8259 72 select IRQ_CPU 73 select IRQ_GT641XX 74 select PCI_GT64XXX_PCI0 75 select SYS_HAS_CPU_NEVADA 76 select SYS_HAS_EARLY_PRINTK 77 select SYS_SUPPORTS_32BIT_KERNEL 78 select SYS_SUPPORTS_64BIT_KERNEL 79 select SYS_SUPPORTS_LITTLE_ENDIAN 80 select GENERIC_HARDIRQS_NO__DO_IRQ 81 82config MACH_DECSTATION 83 bool "DECstations" 84 select BOOT_ELF32 85 select CEVT_DS1287 86 select CEVT_R4K 87 select CSRC_IOASIC 88 select CSRC_R4K 89 select CPU_DADDI_WORKAROUNDS if 64BIT 90 select CPU_R4000_WORKAROUNDS if 64BIT 91 select CPU_R4400_WORKAROUNDS if 64BIT 92 select DMA_NONCOHERENT 93 select NO_IOPORT 94 select IRQ_CPU 95 select SYS_HAS_CPU_R3000 96 select SYS_HAS_CPU_R4X00 97 select SYS_SUPPORTS_32BIT_KERNEL 98 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 99 select SYS_SUPPORTS_LITTLE_ENDIAN 100 select SYS_SUPPORTS_128HZ 101 select SYS_SUPPORTS_256HZ 102 select SYS_SUPPORTS_1024HZ 103 help 104 This enables support for DEC's MIPS based workstations. For details 105 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the 106 DECstation porting pages on <http://decstation.unix-ag.org/>. 107 108 If you have one of the following DECstation Models you definitely 109 want to choose R4xx0 for the CPU Type: 110 111 DECstation 5000/50 112 DECstation 5000/150 113 DECstation 5000/260 114 DECsystem 5900/260 115 116 otherwise choose R3000. 117 118config MACH_JAZZ 119 bool "Jazz family of machines" 120 select ARC 121 select ARC32 122 select ARCH_MAY_HAVE_PC_FDC 123 select CEVT_R4K 124 select CSRC_R4K 125 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 126 select GENERIC_ISA_DMA 127 select IRQ_CPU 128 select I8253 129 select I8259 130 select ISA 131 select SYS_HAS_CPU_R4X00 132 select SYS_SUPPORTS_32BIT_KERNEL 133 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 134 select SYS_SUPPORTS_100HZ 135 select GENERIC_HARDIRQS_NO__DO_IRQ 136 help 137 This a family of machines based on the MIPS R4030 chipset which was 138 used by several vendors to build RISC/os and Windows NT workstations. 139 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and 140 Olivetti M700-10 workstations. 141 142config LASAT 143 bool "LASAT Networks platforms" 144 select CEVT_R4K 145 select CSRC_R4K 146 select DMA_NONCOHERENT 147 select SYS_HAS_EARLY_PRINTK 148 select HW_HAS_PCI 149 select IRQ_CPU 150 select PCI_GT64XXX_PCI0 151 select MIPS_NILE4 152 select R5000_CPU_SCACHE 153 select SYS_HAS_CPU_R5000 154 select SYS_SUPPORTS_32BIT_KERNEL 155 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN 156 select SYS_SUPPORTS_LITTLE_ENDIAN 157 select GENERIC_HARDIRQS_NO__DO_IRQ 158 159config LEMOTE_FULONG 160 bool "Lemote Fulong mini-PC" 161 select ARCH_SPARSEMEM_ENABLE 162 select CEVT_R4K 163 select CSRC_R4K 164 select SYS_HAS_CPU_LOONGSON2 165 select DMA_NONCOHERENT 166 select BOOT_ELF32 167 select BOARD_SCACHE 168 select HAVE_STD_PC_SERIAL_PORT 169 select HW_HAS_PCI 170 select I8259 171 select ISA 172 select IRQ_CPU 173 select SYS_SUPPORTS_32BIT_KERNEL 174 select SYS_SUPPORTS_64BIT_KERNEL 175 select SYS_SUPPORTS_LITTLE_ENDIAN 176 select SYS_SUPPORTS_HIGHMEM 177 select SYS_HAS_EARLY_PRINTK 178 select GENERIC_HARDIRQS_NO__DO_IRQ 179 select GENERIC_ISA_DMA_SUPPORT_BROKEN 180 select CPU_HAS_WB 181 help 182 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and 183 an FPGA northbridge 184 185config MIPS_MALTA 186 bool "MIPS Malta board" 187 select ARCH_MAY_HAVE_PC_FDC 188 select BOOT_ELF32 189 select BOOT_RAW 190 select CEVT_R4K 191 select CSRC_R4K 192 select DMA_NONCOHERENT 193 select GENERIC_ISA_DMA 194 select IRQ_CPU 195 select IRQ_GIC 196 select HW_HAS_PCI 197 select I8253 198 select I8259 199 select MIPS_BOARDS_GEN 200 select MIPS_BONITO64 201 select MIPS_CPU_SCACHE 202 select PCI_GT64XXX_PCI0 203 select MIPS_MSC 204 select SWAP_IO_SPACE 205 select SYS_HAS_CPU_MIPS32_R1 206 select SYS_HAS_CPU_MIPS32_R2 207 select SYS_HAS_CPU_MIPS64_R1 208 select SYS_HAS_CPU_NEVADA 209 select SYS_HAS_CPU_RM7000 210 select SYS_HAS_EARLY_PRINTK 211 select SYS_SUPPORTS_32BIT_KERNEL 212 select SYS_SUPPORTS_64BIT_KERNEL 213 select SYS_SUPPORTS_BIG_ENDIAN 214 select SYS_SUPPORTS_LITTLE_ENDIAN 215 select SYS_SUPPORTS_MIPS_CMP if BROKEN # because SYNC_R4K is broken 216 select SYS_SUPPORTS_MULTITHREADING 217 select SYS_SUPPORTS_SMARTMIPS 218 help 219 This enables support for the MIPS Technologies Malta evaluation 220 board. 221 222config MIPS_SIM 223 bool 'MIPS simulator (MIPSsim)' 224 select CEVT_R4K 225 select CSRC_R4K 226 select DMA_NONCOHERENT 227 select SYS_HAS_EARLY_PRINTK 228 select IRQ_CPU 229 select BOOT_RAW 230 select SYS_HAS_CPU_MIPS32_R1 231 select SYS_HAS_CPU_MIPS32_R2 232 select SYS_HAS_EARLY_PRINTK 233 select SYS_SUPPORTS_32BIT_KERNEL 234 select SYS_SUPPORTS_BIG_ENDIAN 235 select SYS_SUPPORTS_MULTITHREADING 236 select SYS_SUPPORTS_LITTLE_ENDIAN 237 help 238 This option enables support for MIPS Technologies MIPSsim software 239 emulator. 240 241config MACH_EMMA 242 bool "NEC EMMA series based machines" 243 244config MACH_VR41XX 245 bool "NEC VR4100 series based machines" 246 select CEVT_R4K 247 select CSRC_R4K 248 select SYS_HAS_CPU_VR41XX 249 select GENERIC_HARDIRQS_NO__DO_IRQ 250 251config NXP_STB220 252 bool "NXP STB220 board" 253 select SOC_PNX833X 254 help 255 Support for NXP Semiconductors STB220 Development Board. 256 257config NXP_STB225 258 bool "NXP 225 board" 259 select SOC_PNX833X 260 select SOC_PNX8335 261 help 262 Support for NXP Semiconductors STB225 Development Board. 263 264config PNX8550_JBS 265 bool "NXP PNX8550 based JBS board" 266 select PNX8550 267 select SYS_SUPPORTS_LITTLE_ENDIAN 268 269config PNX8550_STB810 270 bool "NXP PNX8550 based STB810 board" 271 select PNX8550 272 select SYS_SUPPORTS_LITTLE_ENDIAN 273 274config PMC_MSP 275 bool "PMC-Sierra MSP chipsets" 276 depends on EXPERIMENTAL 277 select DMA_NONCOHERENT 278 select SWAP_IO_SPACE 279 select NO_EXCEPT_FILL 280 select BOOT_RAW 281 select SYS_HAS_CPU_MIPS32_R1 282 select SYS_HAS_CPU_MIPS32_R2 283 select SYS_SUPPORTS_32BIT_KERNEL 284 select SYS_SUPPORTS_BIG_ENDIAN 285 select IRQ_CPU 286 select SERIAL_8250 287 select SERIAL_8250_CONSOLE 288 help 289 This adds support for the PMC-Sierra family of Multi-Service 290 Processor System-On-A-Chips. These parts include a number 291 of integrated peripherals, interfaces and DSPs in addition to 292 a variety of MIPS cores. 293 294config PMC_YOSEMITE 295 bool "PMC-Sierra Yosemite eval board" 296 select CEVT_R4K 297 select CSRC_R4K 298 select DMA_COHERENT 299 select HW_HAS_PCI 300 select IRQ_CPU 301 select IRQ_CPU_RM7K 302 select IRQ_CPU_RM9K 303 select SWAP_IO_SPACE 304 select SYS_HAS_CPU_RM9000 305 select SYS_HAS_EARLY_PRINTK 306 select SYS_SUPPORTS_32BIT_KERNEL 307 select SYS_SUPPORTS_64BIT_KERNEL 308 select SYS_SUPPORTS_BIG_ENDIAN 309 select SYS_SUPPORTS_HIGHMEM 310 select SYS_SUPPORTS_SMP 311 help 312 Yosemite is an evaluation board for the RM9000x2 processor 313 manufactured by PMC-Sierra. 314 315config SGI_IP22 316 bool "SGI IP22 (Indy/Indigo2)" 317 select ARC 318 select ARC32 319 select BOOT_ELF32 320 select CEVT_R4K 321 select CSRC_R4K 322 select DEFAULT_SGI_PARTITION 323 select DMA_NONCOHERENT 324 select HW_HAS_EISA 325 select I8253 326 select I8259 327 select IP22_CPU_SCACHE 328 select IRQ_CPU 329 select GENERIC_ISA_DMA_SUPPORT_BROKEN 330 select SGI_HAS_DS1286 331 select SGI_HAS_I8042 332 select SGI_HAS_INDYDOG 333 select SGI_HAS_HAL2 334 select SGI_HAS_SEEQ 335 select SGI_HAS_WD93 336 select SGI_HAS_ZILOG 337 select SWAP_IO_SPACE 338 select SYS_HAS_CPU_R4X00 339 select SYS_HAS_CPU_R5000 340 select SYS_HAS_EARLY_PRINTK 341 select SYS_SUPPORTS_32BIT_KERNEL 342 select SYS_SUPPORTS_64BIT_KERNEL 343 select SYS_SUPPORTS_BIG_ENDIAN 344 help 345 This are the SGI Indy, Challenge S and Indigo2, as well as certain 346 OEM variants like the Tandem CMN B006S. To compile a Linux kernel 347 that runs on these, say Y here. 348 349config SGI_IP27 350 bool "SGI IP27 (Origin200/2000)" 351 select ARC 352 select ARC64 353 select BOOT_ELF64 354 select DEFAULT_SGI_PARTITION 355 select DMA_IP27 356 select SYS_HAS_EARLY_PRINTK 357 select HW_HAS_PCI 358 select NR_CPUS_DEFAULT_64 359 select SYS_HAS_CPU_R10000 360 select SYS_SUPPORTS_64BIT_KERNEL 361 select SYS_SUPPORTS_BIG_ENDIAN 362 select SYS_SUPPORTS_NUMA 363 select SYS_SUPPORTS_SMP 364 select GENERIC_HARDIRQS_NO__DO_IRQ 365 help 366 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics 367 workstations. To compile a Linux kernel that runs on these, say Y 368 here. 369 370config SGI_IP28 371 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)" 372 depends on EXPERIMENTAL 373 select ARC 374 select ARC64 375 select BOOT_ELF64 376 select CEVT_R4K 377 select CSRC_R4K 378 select DEFAULT_SGI_PARTITION 379 select DMA_NONCOHERENT 380 select GENERIC_ISA_DMA_SUPPORT_BROKEN 381 select IRQ_CPU 382 select HW_HAS_EISA 383 select I8253 384 select I8259 385 select SGI_HAS_DS1286 386 select SGI_HAS_I8042 387 select SGI_HAS_INDYDOG 388 select SGI_HAS_HAL2 389 select SGI_HAS_SEEQ 390 select SGI_HAS_WD93 391 select SGI_HAS_ZILOG 392 select SWAP_IO_SPACE 393 select SYS_HAS_CPU_R10000 394 select SYS_HAS_EARLY_PRINTK 395 select SYS_SUPPORTS_64BIT_KERNEL 396 select SYS_SUPPORTS_BIG_ENDIAN 397 help 398 This is the SGI Indigo2 with R10000 processor. To compile a Linux 399 kernel that runs on these, say Y here. 400 401config SGI_IP32 402 bool "SGI IP32 (O2)" 403 select ARC 404 select ARC32 405 select BOOT_ELF32 406 select CEVT_R4K 407 select CSRC_R4K 408 select DMA_NONCOHERENT 409 select HW_HAS_PCI 410 select IRQ_CPU 411 select R5000_CPU_SCACHE 412 select RM7000_CPU_SCACHE 413 select SYS_HAS_CPU_R5000 414 select SYS_HAS_CPU_R10000 if BROKEN 415 select SYS_HAS_CPU_RM7000 416 select SYS_HAS_CPU_NEVADA 417 select SYS_SUPPORTS_64BIT_KERNEL 418 select SYS_SUPPORTS_BIG_ENDIAN 419 help 420 If you want this kernel to run on SGI O2 workstation, say Y here. 421 422config SIBYTE_CRHINE 423 bool "Sibyte BCM91120C-CRhine" 424 depends on EXPERIMENTAL 425 select BOOT_ELF32 426 select DMA_COHERENT 427 select SIBYTE_BCM1120 428 select SWAP_IO_SPACE 429 select SYS_HAS_CPU_SB1 430 select SYS_SUPPORTS_BIG_ENDIAN 431 select SYS_SUPPORTS_LITTLE_ENDIAN 432 433config SIBYTE_CARMEL 434 bool "Sibyte BCM91120x-Carmel" 435 depends on EXPERIMENTAL 436 select BOOT_ELF32 437 select DMA_COHERENT 438 select SIBYTE_BCM1120 439 select SWAP_IO_SPACE 440 select SYS_HAS_CPU_SB1 441 select SYS_SUPPORTS_BIG_ENDIAN 442 select SYS_SUPPORTS_LITTLE_ENDIAN 443 444config SIBYTE_CRHONE 445 bool "Sibyte BCM91125C-CRhone" 446 depends on EXPERIMENTAL 447 select BOOT_ELF32 448 select DMA_COHERENT 449 select SIBYTE_BCM1125 450 select SWAP_IO_SPACE 451 select SYS_HAS_CPU_SB1 452 select SYS_SUPPORTS_BIG_ENDIAN 453 select SYS_SUPPORTS_HIGHMEM 454 select SYS_SUPPORTS_LITTLE_ENDIAN 455 456config SIBYTE_RHONE 457 bool "Sibyte BCM91125E-Rhone" 458 depends on EXPERIMENTAL 459 select BOOT_ELF32 460 select DMA_COHERENT 461 select SIBYTE_BCM1125H 462 select SWAP_IO_SPACE 463 select SYS_HAS_CPU_SB1 464 select SYS_SUPPORTS_BIG_ENDIAN 465 select SYS_SUPPORTS_LITTLE_ENDIAN 466 467config SIBYTE_SWARM 468 bool "Sibyte BCM91250A-SWARM" 469 select BOOT_ELF32 470 select DMA_COHERENT 471 select NR_CPUS_DEFAULT_2 472 select SIBYTE_SB1250 473 select SWAP_IO_SPACE 474 select SYS_HAS_CPU_SB1 475 select SYS_SUPPORTS_BIG_ENDIAN 476 select SYS_SUPPORTS_HIGHMEM 477 select SYS_SUPPORTS_LITTLE_ENDIAN 478 select ZONE_DMA32 if 64BIT 479 480config SIBYTE_LITTLESUR 481 bool "Sibyte BCM91250C2-LittleSur" 482 depends on EXPERIMENTAL 483 select BOOT_ELF32 484 select DMA_COHERENT 485 select NR_CPUS_DEFAULT_2 486 select SIBYTE_SB1250 487 select SWAP_IO_SPACE 488 select SYS_HAS_CPU_SB1 489 select SYS_SUPPORTS_BIG_ENDIAN 490 select SYS_SUPPORTS_HIGHMEM 491 select SYS_SUPPORTS_LITTLE_ENDIAN 492 493config SIBYTE_SENTOSA 494 bool "Sibyte BCM91250E-Sentosa" 495 depends on EXPERIMENTAL 496 select BOOT_ELF32 497 select DMA_COHERENT 498 select NR_CPUS_DEFAULT_2 499 select SIBYTE_SB1250 500 select SWAP_IO_SPACE 501 select SYS_HAS_CPU_SB1 502 select SYS_SUPPORTS_BIG_ENDIAN 503 select SYS_SUPPORTS_LITTLE_ENDIAN 504 505config SIBYTE_BIGSUR 506 bool "Sibyte BCM91480B-BigSur" 507 select BOOT_ELF32 508 select DMA_COHERENT 509 select NR_CPUS_DEFAULT_4 510 select SIBYTE_BCM1x80 511 select SWAP_IO_SPACE 512 select SYS_HAS_CPU_SB1 513 select SYS_SUPPORTS_BIG_ENDIAN 514 select SYS_SUPPORTS_HIGHMEM 515 select SYS_SUPPORTS_LITTLE_ENDIAN 516 select ZONE_DMA32 if 64BIT 517 518config SNI_RM 519 bool "SNI RM200/300/400" 520 select ARC if CPU_LITTLE_ENDIAN 521 select ARC32 if CPU_LITTLE_ENDIAN 522 select SNIPROM if CPU_BIG_ENDIAN 523 select ARCH_MAY_HAVE_PC_FDC 524 select BOOT_ELF32 525 select CEVT_R4K 526 select CSRC_R4K 527 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 528 select DMA_NONCOHERENT 529 select GENERIC_ISA_DMA 530 select HW_HAS_EISA 531 select HW_HAS_PCI 532 select IRQ_CPU 533 select I8253 534 select I8259 535 select ISA 536 select SWAP_IO_SPACE if CPU_BIG_ENDIAN 537 select SYS_HAS_CPU_R4X00 538 select SYS_HAS_CPU_R5000 539 select SYS_HAS_CPU_R10000 540 select R5000_CPU_SCACHE 541 select SYS_HAS_EARLY_PRINTK 542 select SYS_SUPPORTS_32BIT_KERNEL 543 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 544 select SYS_SUPPORTS_BIG_ENDIAN 545 select SYS_SUPPORTS_HIGHMEM 546 select SYS_SUPPORTS_LITTLE_ENDIAN 547 help 548 The SNI RM200/300/400 are MIPS-based machines manufactured by 549 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid 550 Technology and now in turn merged with Fujitsu. Say Y here to 551 support this machine type. 552 553config MACH_TX39XX 554 bool "Toshiba TX39 series based machines" 555 556config MACH_TX49XX 557 bool "Toshiba TX49 series based machines" 558 559config MIKROTIK_RB532 560 bool "Mikrotik RB532 boards" 561 select CEVT_R4K 562 select CSRC_R4K 563 select DMA_NONCOHERENT 564 select GENERIC_HARDIRQS_NO__DO_IRQ 565 select HW_HAS_PCI 566 select IRQ_CPU 567 select SYS_HAS_CPU_MIPS32_R1 568 select SYS_SUPPORTS_32BIT_KERNEL 569 select SYS_SUPPORTS_LITTLE_ENDIAN 570 select SWAP_IO_SPACE 571 select BOOT_RAW 572 select ARCH_REQUIRE_GPIOLIB 573 help 574 Support the Mikrotik(tm) RouterBoard 532 series, 575 based on the IDT RC32434 SoC. 576 577config WR_PPMC 578 bool "Wind River PPMC board" 579 select CEVT_R4K 580 select CSRC_R4K 581 select IRQ_CPU 582 select BOOT_ELF32 583 select DMA_NONCOHERENT 584 select HW_HAS_PCI 585 select PCI_GT64XXX_PCI0 586 select SWAP_IO_SPACE 587 select SYS_HAS_CPU_MIPS32_R1 588 select SYS_HAS_CPU_MIPS32_R2 589 select SYS_HAS_CPU_MIPS64_R1 590 select SYS_HAS_CPU_NEVADA 591 select SYS_HAS_CPU_RM7000 592 select SYS_SUPPORTS_32BIT_KERNEL 593 select SYS_SUPPORTS_64BIT_KERNEL 594 select SYS_SUPPORTS_BIG_ENDIAN 595 select SYS_SUPPORTS_LITTLE_ENDIAN 596 help 597 This enables support for the Wind River MIPS32 4KC PPMC evaluation 598 board, which is based on GT64120 bridge chip. 599 600endchoice 601 602source "arch/mips/alchemy/Kconfig" 603source "arch/mips/basler/excite/Kconfig" 604source "arch/mips/emma/Kconfig" 605source "arch/mips/jazz/Kconfig" 606source "arch/mips/lasat/Kconfig" 607source "arch/mips/pmc-sierra/Kconfig" 608source "arch/mips/sgi-ip27/Kconfig" 609source "arch/mips/sibyte/Kconfig" 610source "arch/mips/txx9/Kconfig" 611source "arch/mips/vr41xx/Kconfig" 612 613endmenu 614 615config RWSEM_GENERIC_SPINLOCK 616 bool 617 default y 618 619config RWSEM_XCHGADD_ALGORITHM 620 bool 621 622config ARCH_HAS_ILOG2_U32 623 bool 624 default n 625 626config ARCH_HAS_ILOG2_U64 627 bool 628 default n 629 630config ARCH_SUPPORTS_OPROFILE 631 bool 632 default y if !MIPS_MT_SMTC 633 634config GENERIC_FIND_NEXT_BIT 635 bool 636 default y 637 638config GENERIC_HWEIGHT 639 bool 640 default y 641 642config GENERIC_CALIBRATE_DELAY 643 bool 644 default y 645 646config GENERIC_CLOCKEVENTS 647 bool 648 default y 649 650config GENERIC_TIME 651 bool 652 default y 653 654config GENERIC_CMOS_UPDATE 655 bool 656 default y 657 658config SCHED_NO_NO_OMIT_FRAME_POINTER 659 bool 660 default y 661 662config GENERIC_HARDIRQS_NO__DO_IRQ 663 bool 664 default n 665 666# 667# Select some configuration options automatically based on user selections. 668# 669config ARC 670 bool 671 672config ARCH_MAY_HAVE_PC_FDC 673 bool 674 675config BOOT_RAW 676 bool 677 678config CEVT_BCM1480 679 bool 680 681config CEVT_DS1287 682 bool 683 684config CEVT_GT641XX 685 bool 686 687config CEVT_R4K 688 bool 689 690config CEVT_SB1250 691 bool 692 693config CEVT_TXX9 694 bool 695 696config CSRC_BCM1480 697 bool 698 699config CSRC_IOASIC 700 bool 701 702config CSRC_R4K 703 bool 704 705config CSRC_SB1250 706 bool 707 708config GPIO_TXX9 709 select GENERIC_GPIO 710 select ARCH_REQUIRE_GPIOLIB 711 bool 712 713config CFE 714 bool 715 716config DMA_COHERENT 717 bool 718 719config DMA_IP27 720 bool 721 722config DMA_NONCOHERENT 723 bool 724 select DMA_NEED_PCI_MAP_STATE 725 726config DMA_NEED_PCI_MAP_STATE 727 bool 728 729config EARLY_PRINTK 730 bool "Early printk" if EMBEDDED && DEBUG_KERNEL 731 depends on SYS_HAS_EARLY_PRINTK 732 default y 733 help 734 This option enables special console drivers which allow the kernel 735 to print messages very early in the bootup process. 736 737 This is useful for kernel debugging when your machine crashes very 738 early before the console code is initialized. For normal operation, 739 it is not recommended because it looks ugly on some machines and 740 doesn't cooperate with an X server. You should normally say N here, 741 unless you want to debug such a crash. 742 743config SYS_HAS_EARLY_PRINTK 744 bool 745 746config HOTPLUG_CPU 747 bool 748 default n 749 750config I8259 751 bool 752 753config MIPS_BONITO64 754 bool 755 756config MIPS_MSC 757 bool 758 759config MIPS_NILE4 760 bool 761 762config MIPS_DISABLE_OBSOLETE_IDE 763 bool 764 765config SYNC_R4K 766 bool 767 768config NO_IOPORT 769 def_bool n 770 771config GENERIC_ISA_DMA 772 bool 773 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 774 775config GENERIC_ISA_DMA_SUPPORT_BROKEN 776 bool 777 select GENERIC_ISA_DMA 778 779config GENERIC_GPIO 780 bool 781 782# 783# Endianess selection. Sufficiently obscure so many users don't know what to 784# answer,so we try hard to limit the available choices. Also the use of a 785# choice statement should be more obvious to the user. 786# 787choice 788 prompt "Endianess selection" 789 help 790 Some MIPS machines can be configured for either little or big endian 791 byte order. These modes require different kernels and a different 792 Linux distribution. In general there is one preferred byteorder for a 793 particular system but some systems are just as commonly used in the 794 one or the other endianness. 795 796config CPU_BIG_ENDIAN 797 bool "Big endian" 798 depends on SYS_SUPPORTS_BIG_ENDIAN 799 800config CPU_LITTLE_ENDIAN 801 bool "Little endian" 802 depends on SYS_SUPPORTS_LITTLE_ENDIAN 803 help 804 805endchoice 806 807config SYS_SUPPORTS_APM_EMULATION 808 bool 809 810config SYS_SUPPORTS_BIG_ENDIAN 811 bool 812 813config SYS_SUPPORTS_LITTLE_ENDIAN 814 bool 815 816config IRQ_CPU 817 bool 818 819config IRQ_CPU_RM7K 820 bool 821 822config IRQ_CPU_RM9K 823 bool 824 825config IRQ_MSP_SLP 826 bool 827 828config IRQ_MSP_CIC 829 bool 830 831config IRQ_TXX9 832 bool 833 834config IRQ_GT641XX 835 bool 836 837config IRQ_GIC 838 bool 839 840config MIPS_BOARDS_GEN 841 bool 842 843config PCI_GT64XXX_PCI0 844 bool 845 846config NO_EXCEPT_FILL 847 bool 848 849config MIPS_RM9122 850 bool 851 select SERIAL_RM9000 852 853config SOC_PNX833X 854 bool 855 select CEVT_R4K 856 select CSRC_R4K 857 select IRQ_CPU 858 select DMA_NONCOHERENT 859 select SYS_HAS_CPU_MIPS32_R2 860 select SYS_SUPPORTS_32BIT_KERNEL 861 select SYS_SUPPORTS_LITTLE_ENDIAN 862 select SYS_SUPPORTS_BIG_ENDIAN 863 select GENERIC_HARDIRQS_NO__DO_IRQ 864 select GENERIC_GPIO 865 select CPU_MIPSR2_IRQ_VI 866 867config SOC_PNX8335 868 bool 869 select SOC_PNX833X 870 871config PNX8550 872 bool 873 select SOC_PNX8550 874 875config SOC_PNX8550 876 bool 877 select DMA_NONCOHERENT 878 select HW_HAS_PCI 879 select SYS_HAS_CPU_MIPS32_R1 880 select SYS_HAS_EARLY_PRINTK 881 select SYS_SUPPORTS_32BIT_KERNEL 882 select GENERIC_HARDIRQS_NO__DO_IRQ 883 select GENERIC_GPIO 884 885config SWAP_IO_SPACE 886 bool 887 888config EMMA2RH 889 bool 890 depends on MARKEINS 891 default y 892 893config SERIAL_RM9000 894 bool 895 896config SGI_HAS_DS1286 897 bool 898 899config SGI_HAS_INDYDOG 900 bool 901 902config SGI_HAS_HAL2 903 bool 904 905config SGI_HAS_SEEQ 906 bool 907 908config SGI_HAS_WD93 909 bool 910 911config SGI_HAS_ZILOG 912 bool 913 914config SGI_HAS_I8042 915 bool 916 917config DEFAULT_SGI_PARTITION 918 bool 919 920config ARC32 921 bool 922 923config SNIPROM 924 bool 925 926config BOOT_ELF32 927 bool 928 929config MIPS_L1_CACHE_SHIFT 930 int 931 default "4" if MACH_DECSTATION || MIKROTIK_RB532 932 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM 933 default "4" if PMC_MSP4200_EVAL 934 default "5" 935 936config HAVE_STD_PC_SERIAL_PORT 937 bool 938 939config ARC_CONSOLE 940 bool "ARC console support" 941 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 942 943config ARC_MEMORY 944 bool 945 depends on MACH_JAZZ || SNI_RM || SGI_IP32 946 default y 947 948config ARC_PROMLIB 949 bool 950 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 951 default y 952 953config ARC64 954 bool 955 956config BOOT_ELF64 957 bool 958 959menu "CPU selection" 960 961choice 962 prompt "CPU type" 963 default CPU_R4X00 964 965config CPU_LOONGSON2 966 bool "Loongson 2" 967 depends on SYS_HAS_CPU_LOONGSON2 968 select CPU_SUPPORTS_32BIT_KERNEL 969 select CPU_SUPPORTS_64BIT_KERNEL 970 select CPU_SUPPORTS_HIGHMEM 971 help 972 The Loongson 2E processor implements the MIPS III instruction set 973 with many extensions. 974 975config CPU_MIPS32_R1 976 bool "MIPS32 Release 1" 977 depends on SYS_HAS_CPU_MIPS32_R1 978 select CPU_HAS_LLSC 979 select CPU_HAS_PREFETCH 980 select CPU_SUPPORTS_32BIT_KERNEL 981 select CPU_SUPPORTS_HIGHMEM 982 help 983 Choose this option to build a kernel for release 1 or later of the 984 MIPS32 architecture. Most modern embedded systems with a 32-bit 985 MIPS processor are based on a MIPS32 processor. If you know the 986 specific type of processor in your system, choose those that one 987 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 988 Release 2 of the MIPS32 architecture is available since several 989 years so chances are you even have a MIPS32 Release 2 processor 990 in which case you should choose CPU_MIPS32_R2 instead for better 991 performance. 992 993config CPU_MIPS32_R2 994 bool "MIPS32 Release 2" 995 depends on SYS_HAS_CPU_MIPS32_R2 996 select CPU_HAS_LLSC 997 select CPU_HAS_PREFETCH 998 select CPU_SUPPORTS_32BIT_KERNEL 999 select CPU_SUPPORTS_HIGHMEM 1000 help 1001 Choose this option to build a kernel for release 2 or later of the 1002 MIPS32 architecture. Most modern embedded systems with a 32-bit 1003 MIPS processor are based on a MIPS32 processor. If you know the 1004 specific type of processor in your system, choose those that one 1005 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1006 1007config CPU_MIPS64_R1 1008 bool "MIPS64 Release 1" 1009 depends on SYS_HAS_CPU_MIPS64_R1 1010 select CPU_HAS_LLSC 1011 select CPU_HAS_PREFETCH 1012 select CPU_SUPPORTS_32BIT_KERNEL 1013 select CPU_SUPPORTS_64BIT_KERNEL 1014 select CPU_SUPPORTS_HIGHMEM 1015 help 1016 Choose this option to build a kernel for release 1 or later of the 1017 MIPS64 architecture. Many modern embedded systems with a 64-bit 1018 MIPS processor are based on a MIPS64 processor. If you know the 1019 specific type of processor in your system, choose those that one 1020 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1021 Release 2 of the MIPS64 architecture is available since several 1022 years so chances are you even have a MIPS64 Release 2 processor 1023 in which case you should choose CPU_MIPS64_R2 instead for better 1024 performance. 1025 1026config CPU_MIPS64_R2 1027 bool "MIPS64 Release 2" 1028 depends on SYS_HAS_CPU_MIPS64_R2 1029 select CPU_HAS_LLSC 1030 select CPU_HAS_PREFETCH 1031 select CPU_SUPPORTS_32BIT_KERNEL 1032 select CPU_SUPPORTS_64BIT_KERNEL 1033 select CPU_SUPPORTS_HIGHMEM 1034 help 1035 Choose this option to build a kernel for release 2 or later of the 1036 MIPS64 architecture. Many modern embedded systems with a 64-bit 1037 MIPS processor are based on a MIPS64 processor. If you know the 1038 specific type of processor in your system, choose those that one 1039 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1040 1041config CPU_R3000 1042 bool "R3000" 1043 depends on SYS_HAS_CPU_R3000 1044 select CPU_HAS_WB 1045 select CPU_SUPPORTS_32BIT_KERNEL 1046 select CPU_SUPPORTS_HIGHMEM 1047 help 1048 Please make sure to pick the right CPU type. Linux/MIPS is not 1049 designed to be generic, i.e. Kernels compiled for R3000 CPUs will 1050 *not* work on R4000 machines and vice versa. However, since most 1051 of the supported machines have an R4000 (or similar) CPU, R4x00 1052 might be a safe bet. If the resulting kernel does not work, 1053 try to recompile with R3000. 1054 1055config CPU_TX39XX 1056 bool "R39XX" 1057 depends on SYS_HAS_CPU_TX39XX 1058 select CPU_SUPPORTS_32BIT_KERNEL 1059 1060config CPU_VR41XX 1061 bool "R41xx" 1062 depends on SYS_HAS_CPU_VR41XX 1063 select CPU_SUPPORTS_32BIT_KERNEL 1064 select CPU_SUPPORTS_64BIT_KERNEL 1065 help 1066 The options selects support for the NEC VR4100 series of processors. 1067 Only choose this option if you have one of these processors as a 1068 kernel built with this option will not run on any other type of 1069 processor or vice versa. 1070 1071config CPU_R4300 1072 bool "R4300" 1073 depends on SYS_HAS_CPU_R4300 1074 select CPU_HAS_LLSC 1075 select CPU_SUPPORTS_32BIT_KERNEL 1076 select CPU_SUPPORTS_64BIT_KERNEL 1077 help 1078 MIPS Technologies R4300-series processors. 1079 1080config CPU_R4X00 1081 bool "R4x00" 1082 depends on SYS_HAS_CPU_R4X00 1083 select CPU_HAS_LLSC 1084 select CPU_SUPPORTS_32BIT_KERNEL 1085 select CPU_SUPPORTS_64BIT_KERNEL 1086 help 1087 MIPS Technologies R4000-series processors other than 4300, including 1088 the R4000, R4400, R4600, and 4700. 1089 1090config CPU_TX49XX 1091 bool "R49XX" 1092 depends on SYS_HAS_CPU_TX49XX 1093 select CPU_HAS_LLSC 1094 select CPU_HAS_PREFETCH 1095 select CPU_SUPPORTS_32BIT_KERNEL 1096 select CPU_SUPPORTS_64BIT_KERNEL 1097 1098config CPU_R5000 1099 bool "R5000" 1100 depends on SYS_HAS_CPU_R5000 1101 select CPU_HAS_LLSC 1102 select CPU_SUPPORTS_32BIT_KERNEL 1103 select CPU_SUPPORTS_64BIT_KERNEL 1104 help 1105 MIPS Technologies R5000-series processors other than the Nevada. 1106 1107config CPU_R5432 1108 bool "R5432" 1109 depends on SYS_HAS_CPU_R5432 1110 select CPU_HAS_LLSC 1111 select CPU_SUPPORTS_32BIT_KERNEL 1112 select CPU_SUPPORTS_64BIT_KERNEL 1113 1114config CPU_R5500 1115 bool "R5500" 1116 depends on SYS_HAS_CPU_R5500 1117 select CPU_HAS_LLSC 1118 select CPU_SUPPORTS_32BIT_KERNEL 1119 select CPU_SUPPORTS_64BIT_KERNEL 1120 help 1121 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1122 instruction set. 1123 1124config CPU_R6000 1125 bool "R6000" 1126 depends on EXPERIMENTAL 1127 select CPU_HAS_LLSC 1128 depends on SYS_HAS_CPU_R6000 1129 select CPU_SUPPORTS_32BIT_KERNEL 1130 help 1131 MIPS Technologies R6000 and R6000A series processors. Note these 1132 processors are extremely rare and the support for them is incomplete. 1133 1134config CPU_NEVADA 1135 bool "RM52xx" 1136 depends on SYS_HAS_CPU_NEVADA 1137 select CPU_HAS_LLSC 1138 select CPU_SUPPORTS_32BIT_KERNEL 1139 select CPU_SUPPORTS_64BIT_KERNEL 1140 help 1141 QED / PMC-Sierra RM52xx-series ("Nevada") processors. 1142 1143config CPU_R8000 1144 bool "R8000" 1145 depends on EXPERIMENTAL 1146 depends on SYS_HAS_CPU_R8000 1147 select CPU_HAS_LLSC 1148 select CPU_HAS_PREFETCH 1149 select CPU_SUPPORTS_64BIT_KERNEL 1150 help 1151 MIPS Technologies R8000 processors. Note these processors are 1152 uncommon and the support for them is incomplete. 1153 1154config CPU_R10000 1155 bool "R10000" 1156 depends on SYS_HAS_CPU_R10000 1157 select CPU_HAS_LLSC 1158 select CPU_HAS_PREFETCH 1159 select CPU_SUPPORTS_32BIT_KERNEL 1160 select CPU_SUPPORTS_64BIT_KERNEL 1161 select CPU_SUPPORTS_HIGHMEM 1162 help 1163 MIPS Technologies R10000-series processors. 1164 1165config CPU_RM7000 1166 bool "RM7000" 1167 depends on SYS_HAS_CPU_RM7000 1168 select CPU_HAS_LLSC 1169 select CPU_HAS_PREFETCH 1170 select CPU_SUPPORTS_32BIT_KERNEL 1171 select CPU_SUPPORTS_64BIT_KERNEL 1172 select CPU_SUPPORTS_HIGHMEM 1173 1174config CPU_RM9000 1175 bool "RM9000" 1176 depends on SYS_HAS_CPU_RM9000 1177 select CPU_HAS_LLSC 1178 select CPU_HAS_PREFETCH 1179 select CPU_SUPPORTS_32BIT_KERNEL 1180 select CPU_SUPPORTS_64BIT_KERNEL 1181 select CPU_SUPPORTS_HIGHMEM 1182 select WEAK_ORDERING 1183 1184config CPU_SB1 1185 bool "SB1" 1186 depends on SYS_HAS_CPU_SB1 1187 select CPU_HAS_LLSC 1188 select CPU_SUPPORTS_32BIT_KERNEL 1189 select CPU_SUPPORTS_64BIT_KERNEL 1190 select CPU_SUPPORTS_HIGHMEM 1191 select WEAK_ORDERING 1192 1193endchoice 1194 1195config SYS_HAS_CPU_LOONGSON2 1196 bool 1197 1198config SYS_HAS_CPU_MIPS32_R1 1199 bool 1200 1201config SYS_HAS_CPU_MIPS32_R2 1202 bool 1203 1204config SYS_HAS_CPU_MIPS64_R1 1205 bool 1206 1207config SYS_HAS_CPU_MIPS64_R2 1208 bool 1209 1210config SYS_HAS_CPU_R3000 1211 bool 1212 1213config SYS_HAS_CPU_TX39XX 1214 bool 1215 1216config SYS_HAS_CPU_VR41XX 1217 bool 1218 1219config SYS_HAS_CPU_R4300 1220 bool 1221 1222config SYS_HAS_CPU_R4X00 1223 bool 1224 1225config SYS_HAS_CPU_TX49XX 1226 bool 1227 1228config SYS_HAS_CPU_R5000 1229 bool 1230 1231config SYS_HAS_CPU_R5432 1232 bool 1233 1234config SYS_HAS_CPU_R5500 1235 bool 1236 1237config SYS_HAS_CPU_R6000 1238 bool 1239 1240config SYS_HAS_CPU_NEVADA 1241 bool 1242 1243config SYS_HAS_CPU_R8000 1244 bool 1245 1246config SYS_HAS_CPU_R10000 1247 bool 1248 1249config SYS_HAS_CPU_RM7000 1250 bool 1251 1252config SYS_HAS_CPU_RM9000 1253 bool 1254 1255config SYS_HAS_CPU_SB1 1256 bool 1257 1258# 1259# CPU may reorder R->R, R->W, W->R, W->W 1260# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1261# 1262config WEAK_ORDERING 1263 bool 1264 1265# 1266# CPU may reorder reads and writes beyond LL/SC 1267# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 1268# 1269config WEAK_REORDERING_BEYOND_LLSC 1270 bool 1271endmenu 1272 1273# 1274# These two indicate any level of the MIPS32 and MIPS64 architecture 1275# 1276config CPU_MIPS32 1277 bool 1278 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 1279 1280config CPU_MIPS64 1281 bool 1282 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 1283 1284# 1285# These two indicate the revision of the architecture, either Release 1 or Release 2 1286# 1287config CPU_MIPSR1 1288 bool 1289 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 1290 1291config CPU_MIPSR2 1292 bool 1293 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 1294 1295config SYS_SUPPORTS_32BIT_KERNEL 1296 bool 1297config SYS_SUPPORTS_64BIT_KERNEL 1298 bool 1299config CPU_SUPPORTS_32BIT_KERNEL 1300 bool 1301config CPU_SUPPORTS_64BIT_KERNEL 1302 bool 1303 1304# 1305# Set to y for ptrace access to watch registers. 1306# 1307config HARDWARE_WATCHPOINTS 1308 bool 1309 default y if CPU_MIPS32 || CPU_MIPS64 1310 1311menu "Kernel type" 1312 1313choice 1314 1315 prompt "Kernel code model" 1316 help 1317 You should only select this option if you have a workload that 1318 actually benefits from 64-bit processing or if your machine has 1319 large memory. You will only be presented a single option in this 1320 menu if your system does not support both 32-bit and 64-bit kernels. 1321 1322config 32BIT 1323 bool "32-bit kernel" 1324 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 1325 select TRAD_SIGNALS 1326 help 1327 Select this option if you want to build a 32-bit kernel. 1328config 64BIT 1329 bool "64-bit kernel" 1330 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 1331 help 1332 Select this option if you want to build a 64-bit kernel. 1333 1334endchoice 1335 1336choice 1337 prompt "Kernel page size" 1338 default PAGE_SIZE_4KB 1339 1340config PAGE_SIZE_4KB 1341 bool "4kB" 1342 help 1343 This option select the standard 4kB Linux page size. On some 1344 R3000-family processors this is the only available page size. Using 1345 4kB page size will minimize memory consumption and is therefore 1346 recommended for low memory systems. 1347 1348config PAGE_SIZE_8KB 1349 bool "8kB" 1350 depends on EXPERIMENTAL && CPU_R8000 1351 help 1352 Using 8kB page size will result in higher performance kernel at 1353 the price of higher memory consumption. This option is available 1354 only on the R8000 processor. Not that at the time of this writing 1355 this option is still high experimental; there are also issues with 1356 compatibility of user applications. 1357 1358config PAGE_SIZE_16KB 1359 bool "16kB" 1360 depends on !CPU_R3000 && !CPU_TX39XX 1361 help 1362 Using 16kB page size will result in higher performance kernel at 1363 the price of higher memory consumption. This option is available on 1364 all non-R3000 family processors. Note that you will need a suitable 1365 Linux distribution to support this. 1366 1367config PAGE_SIZE_64KB 1368 bool "64kB" 1369 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX 1370 help 1371 Using 64kB page size will result in higher performance kernel at 1372 the price of higher memory consumption. This option is available on 1373 all non-R3000 family processor. Not that at the time of this 1374 writing this option is still high experimental. 1375 1376endchoice 1377 1378config BOARD_SCACHE 1379 bool 1380 1381config IP22_CPU_SCACHE 1382 bool 1383 select BOARD_SCACHE 1384 1385# 1386# Support for a MIPS32 / MIPS64 style S-caches 1387# 1388config MIPS_CPU_SCACHE 1389 bool 1390 select BOARD_SCACHE 1391 1392config R5000_CPU_SCACHE 1393 bool 1394 select BOARD_SCACHE 1395 1396config RM7000_CPU_SCACHE 1397 bool 1398 select BOARD_SCACHE 1399 1400config SIBYTE_DMA_PAGEOPS 1401 bool "Use DMA to clear/copy pages" 1402 depends on CPU_SB1 1403 help 1404 Instead of using the CPU to zero and copy pages, use a Data Mover 1405 channel. These DMA channels are otherwise unused by the standard 1406 SiByte Linux port. Seems to give a small performance benefit. 1407 1408config CPU_HAS_PREFETCH 1409 bool 1410 1411choice 1412 prompt "MIPS MT options" 1413 1414config MIPS_MT_DISABLED 1415 bool "Disable multithreading support." 1416 help 1417 Use this option if your workload can't take advantage of 1418 MIPS hardware multithreading support. On systems that don't have 1419 the option of an MT-enabled processor this option will be the only 1420 option in this menu. 1421 1422config MIPS_MT_SMP 1423 bool "Use 1 TC on each available VPE for SMP" 1424 depends on SYS_SUPPORTS_MULTITHREADING 1425 select CPU_MIPSR2_IRQ_VI 1426 select CPU_MIPSR2_IRQ_EI 1427 select MIPS_MT 1428 select NR_CPUS_DEFAULT_2 1429 select SMP 1430 select SYS_SUPPORTS_SCHED_SMT if SMP 1431 select SYS_SUPPORTS_SMP 1432 select SMP_UP 1433 help 1434 This is a kernel model which is also known a VSMP or lately 1435 has been marketesed into SMVP. 1436 1437config MIPS_MT_SMTC 1438 bool "SMTC: Use all TCs on all VPEs for SMP" 1439 depends on CPU_MIPS32_R2 1440 #depends on CPU_MIPS64_R2 # once there is hardware ... 1441 depends on SYS_SUPPORTS_MULTITHREADING 1442 select CPU_MIPSR2_IRQ_VI 1443 select CPU_MIPSR2_IRQ_EI 1444 select MIPS_MT 1445 select NR_CPUS_DEFAULT_8 1446 select SMP 1447 select SYS_SUPPORTS_SMP 1448 select SMP_UP 1449 help 1450 This is a kernel model which is known a SMTC or lately has been 1451 marketesed into SMVP. 1452 1453endchoice 1454 1455config MIPS_MT 1456 bool 1457 1458config SCHED_SMT 1459 bool "SMT (multithreading) scheduler support" 1460 depends on SYS_SUPPORTS_SCHED_SMT 1461 default n 1462 help 1463 SMT scheduler support improves the CPU scheduler's decision making 1464 when dealing with MIPS MT enabled cores at a cost of slightly 1465 increased overhead in some places. If unsure say N here. 1466 1467config SYS_SUPPORTS_SCHED_SMT 1468 bool 1469 1470 1471config SYS_SUPPORTS_MULTITHREADING 1472 bool 1473 1474config MIPS_MT_FPAFF 1475 bool "Dynamic FPU affinity for FP-intensive threads" 1476 default y 1477 depends on MIPS_MT_SMP || MIPS_MT_SMTC 1478 1479config MIPS_VPE_LOADER 1480 bool "VPE loader support." 1481 depends on SYS_SUPPORTS_MULTITHREADING 1482 select CPU_MIPSR2_IRQ_VI 1483 select CPU_MIPSR2_IRQ_EI 1484 select MIPS_MT 1485 help 1486 Includes a loader for loading an elf relocatable object 1487 onto another VPE and running it. 1488 1489config MIPS_MT_SMTC_IM_BACKSTOP 1490 bool "Use per-TC register bits as backstop for inhibited IM bits" 1491 depends on MIPS_MT_SMTC 1492 default n 1493 help 1494 To support multiple TC microthreads acting as "CPUs" within 1495 a VPE, VPE-wide interrupt mask bits must be specially manipulated 1496 during interrupt handling. To support legacy drivers and interrupt 1497 controller management code, SMTC has a "backstop" to track and 1498 if necessary restore the interrupt mask. This has some performance 1499 impact on interrupt service overhead. 1500 1501config MIPS_MT_SMTC_IRQAFF 1502 bool "Support IRQ affinity API" 1503 depends on MIPS_MT_SMTC 1504 default n 1505 help 1506 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.) 1507 for SMTC Linux kernel. Requires platform support, of which 1508 an example can be found in the MIPS kernel i8259 and Malta 1509 platform code. Adds some overhead to interrupt dispatch, and 1510 should be used only if you know what you are doing. 1511 1512config MIPS_VPE_LOADER_TOM 1513 bool "Load VPE program into memory hidden from linux" 1514 depends on MIPS_VPE_LOADER 1515 default y 1516 help 1517 The loader can use memory that is present but has been hidden from 1518 Linux using the kernel command line option "mem=xxMB". It's up to 1519 you to ensure the amount you put in the option and the space your 1520 program requires is less or equal to the amount physically present. 1521 1522# this should possibly be in drivers/char, but it is rather cpu related. Hmmm 1523config MIPS_VPE_APSP_API 1524 bool "Enable support for AP/SP API (RTLX)" 1525 depends on MIPS_VPE_LOADER 1526 help 1527 1528config MIPS_APSP_KSPD 1529 bool "Enable KSPD" 1530 depends on MIPS_VPE_APSP_API 1531 default y 1532 help 1533 KSPD is a kernel daemon that accepts syscall requests from the SP 1534 side, actions them and returns the results. It also handles the 1535 "exit" syscall notifying other kernel modules the SP program is 1536 exiting. You probably want to say yes here. 1537 1538config MIPS_CMP 1539 bool "MIPS CMP framework support" 1540 depends on SYS_SUPPORTS_MIPS_CMP 1541 select SYNC_R4K if BROKEN 1542 select SYS_SUPPORTS_SMP 1543 select SYS_SUPPORTS_SCHED_SMT if SMP 1544 select WEAK_ORDERING 1545 default n 1546 help 1547 This is a placeholder option for the GCMP work. It will need to 1548 be handled differently... 1549 1550config SB1_PASS_1_WORKAROUNDS 1551 bool 1552 depends on CPU_SB1_PASS_1 1553 default y 1554 1555config SB1_PASS_2_WORKAROUNDS 1556 bool 1557 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 1558 default y 1559 1560config SB1_PASS_2_1_WORKAROUNDS 1561 bool 1562 depends on CPU_SB1 && CPU_SB1_PASS_2 1563 default y 1564 1565config 64BIT_PHYS_ADDR 1566 bool 1567 1568config CPU_HAS_LLSC 1569 bool 1570 1571config CPU_HAS_SMARTMIPS 1572 depends on SYS_SUPPORTS_SMARTMIPS 1573 bool "Support for the SmartMIPS ASE" 1574 help 1575 SmartMIPS is a extension of the MIPS32 architecture aimed at 1576 increased security at both hardware and software level for 1577 smartcards. Enabling this option will allow proper use of the 1578 SmartMIPS instructions by Linux applications. However a kernel with 1579 this option will not work on a MIPS core without SmartMIPS core. If 1580 you don't know you probably don't have SmartMIPS and should say N 1581 here. 1582 1583config CPU_HAS_WB 1584 bool 1585 1586# 1587# Vectored interrupt mode is an R2 feature 1588# 1589config CPU_MIPSR2_IRQ_VI 1590 bool 1591 1592# 1593# Extended interrupt mode is an R2 feature 1594# 1595config CPU_MIPSR2_IRQ_EI 1596 bool 1597 1598config CPU_HAS_SYNC 1599 bool 1600 depends on !CPU_R3000 1601 default y 1602 1603config GENERIC_CLOCKEVENTS_BROADCAST 1604 bool 1605 1606# 1607# CPU non-features 1608# 1609config CPU_DADDI_WORKAROUNDS 1610 bool 1611 1612config CPU_R4000_WORKAROUNDS 1613 bool 1614 select CPU_R4400_WORKAROUNDS 1615 1616config CPU_R4400_WORKAROUNDS 1617 bool 1618 1619# 1620# Use the generic interrupt handling code in kernel/irq/: 1621# 1622config GENERIC_HARDIRQS 1623 bool 1624 default y 1625 1626config GENERIC_IRQ_PROBE 1627 bool 1628 default y 1629 1630config IRQ_PER_CPU 1631 bool 1632 1633# 1634# - Highmem only makes sense for the 32-bit kernel. 1635# - The current highmem code will only work properly on physically indexed 1636# caches such as R3000, SB1, R7000 or those that look like they're virtually 1637# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 1638# moment we protect the user and offer the highmem option only on machines 1639# where it's known to be safe. This will not offer highmem on a few systems 1640# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 1641# indexed CPUs but we're playing safe. 1642# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 1643# know they might have memory configurations that could make use of highmem 1644# support. 1645# 1646config HIGHMEM 1647 bool "High Memory Support" 1648 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM 1649 1650config CPU_SUPPORTS_HIGHMEM 1651 bool 1652 1653config SYS_SUPPORTS_HIGHMEM 1654 bool 1655 1656config SYS_SUPPORTS_SMARTMIPS 1657 bool 1658 1659config ARCH_FLATMEM_ENABLE 1660 def_bool y 1661 depends on !NUMA 1662 1663config ARCH_DISCONTIGMEM_ENABLE 1664 bool 1665 default y if SGI_IP27 1666 help 1667 Say Y to support efficient handling of discontiguous physical memory, 1668 for architectures which are either NUMA (Non-Uniform Memory Access) 1669 or have huge holes in the physical address space for other reasons. 1670 See <file:Documentation/vm/numa> for more. 1671 1672config ARCH_POPULATES_NODE_MAP 1673 def_bool y 1674 1675config ARCH_SPARSEMEM_ENABLE 1676 bool 1677 select SPARSEMEM_STATIC 1678 1679config NUMA 1680 bool "NUMA Support" 1681 depends on SYS_SUPPORTS_NUMA 1682 help 1683 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 1684 Access). This option improves performance on systems with more 1685 than two nodes; on two node systems it is generally better to 1686 leave it disabled; on single node systems disable this option 1687 disabled. 1688 1689config SYS_SUPPORTS_NUMA 1690 bool 1691 1692config NODES_SHIFT 1693 int 1694 default "6" 1695 depends on NEED_MULTIPLE_NODES 1696 1697source "mm/Kconfig" 1698 1699config SMP 1700 bool "Multi-Processing support" 1701 depends on SYS_SUPPORTS_SMP 1702 select IRQ_PER_CPU 1703 select USE_GENERIC_SMP_HELPERS 1704 help 1705 This enables support for systems with more than one CPU. If you have 1706 a system with only one CPU, like most personal computers, say N. If 1707 you have a system with more than one CPU, say Y. 1708 1709 If you say N here, the kernel will run on single and multiprocessor 1710 machines, but will use only one CPU of a multiprocessor machine. If 1711 you say Y here, the kernel will run on many, but not all, 1712 singleprocessor machines. On a singleprocessor machine, the kernel 1713 will run faster if you say N here. 1714 1715 People using multiprocessor machines who say Y here should also say 1716 Y to "Enhanced Real Time Clock Support", below. 1717 1718 See also the SMP-HOWTO available at 1719 <http://www.tldp.org/docs.html#howto>. 1720 1721 If you don't know what to do here, say N. 1722 1723config SMP_UP 1724 bool 1725 1726config SYS_SUPPORTS_MIPS_CMP 1727 bool 1728 1729config SYS_SUPPORTS_SMP 1730 bool 1731 1732config NR_CPUS_DEFAULT_1 1733 bool 1734 1735config NR_CPUS_DEFAULT_2 1736 bool 1737 1738config NR_CPUS_DEFAULT_4 1739 bool 1740 1741config NR_CPUS_DEFAULT_8 1742 bool 1743 1744config NR_CPUS_DEFAULT_16 1745 bool 1746 1747config NR_CPUS_DEFAULT_32 1748 bool 1749 1750config NR_CPUS_DEFAULT_64 1751 bool 1752 1753config NR_CPUS 1754 int "Maximum number of CPUs (2-64)" 1755 range 1 64 if NR_CPUS_DEFAULT_1 1756 depends on SMP 1757 default "1" if NR_CPUS_DEFAULT_1 1758 default "2" if NR_CPUS_DEFAULT_2 1759 default "4" if NR_CPUS_DEFAULT_4 1760 default "8" if NR_CPUS_DEFAULT_8 1761 default "16" if NR_CPUS_DEFAULT_16 1762 default "32" if NR_CPUS_DEFAULT_32 1763 default "64" if NR_CPUS_DEFAULT_64 1764 help 1765 This allows you to specify the maximum number of CPUs which this 1766 kernel will support. The maximum supported value is 32 for 32-bit 1767 kernel and 64 for 64-bit kernels; the minimum value which makes 1768 sense is 1 for Qemu (useful only for kernel debugging purposes) 1769 and 2 for all others. 1770 1771 This is purely to save memory - each supported CPU adds 1772 approximately eight kilobytes to the kernel image. For best 1773 performance should round up your number of processors to the next 1774 power of two. 1775 1776source "kernel/time/Kconfig" 1777 1778# 1779# Timer Interrupt Frequency Configuration 1780# 1781 1782choice 1783 prompt "Timer frequency" 1784 default HZ_250 1785 help 1786 Allows the configuration of the timer frequency. 1787 1788 config HZ_48 1789 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 1790 1791 config HZ_100 1792 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 1793 1794 config HZ_128 1795 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 1796 1797 config HZ_250 1798 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 1799 1800 config HZ_256 1801 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 1802 1803 config HZ_1000 1804 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 1805 1806 config HZ_1024 1807 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 1808 1809endchoice 1810 1811config SYS_SUPPORTS_48HZ 1812 bool 1813 1814config SYS_SUPPORTS_100HZ 1815 bool 1816 1817config SYS_SUPPORTS_128HZ 1818 bool 1819 1820config SYS_SUPPORTS_250HZ 1821 bool 1822 1823config SYS_SUPPORTS_256HZ 1824 bool 1825 1826config SYS_SUPPORTS_1000HZ 1827 bool 1828 1829config SYS_SUPPORTS_1024HZ 1830 bool 1831 1832config SYS_SUPPORTS_ARBIT_HZ 1833 bool 1834 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ 1835 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ 1836 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ 1837 !SYS_SUPPORTS_1024HZ 1838 1839config HZ 1840 int 1841 default 48 if HZ_48 1842 default 100 if HZ_100 1843 default 128 if HZ_128 1844 default 250 if HZ_250 1845 default 256 if HZ_256 1846 default 1000 if HZ_1000 1847 default 1024 if HZ_1024 1848 1849source "kernel/Kconfig.preempt" 1850 1851config MIPS_INSANE_LARGE 1852 bool "Support for large 64-bit configurations" 1853 depends on CPU_R10000 && 64BIT 1854 help 1855 MIPS R10000 does support a 44 bit / 16TB address space as opposed to 1856 previous 64-bit processors which only supported 40 bit / 1TB. If you 1857 need processes of more than 1TB virtual address space, say Y here. 1858 This will result in additional memory usage, so it is not 1859 recommended for normal users. 1860 1861config KEXEC 1862 bool "Kexec system call (EXPERIMENTAL)" 1863 depends on EXPERIMENTAL 1864 help 1865 kexec is a system call that implements the ability to shutdown your 1866 current kernel, and to start another kernel. It is like a reboot 1867 but it is independent of the system firmware. And like a reboot 1868 you can start any kernel with it, not just Linux. 1869 1870 The name comes from the similarity to the exec system call. 1871 1872 It is an ongoing process to be certain the hardware in a machine 1873 is properly shutdown, so do not be surprised if this code does not 1874 initially work for you. It may help to enable device hotplugging 1875 support. As of this writing the exact hardware interface is 1876 strongly in flux, so no good recommendation can be made. 1877 1878config SECCOMP 1879 bool "Enable seccomp to safely compute untrusted bytecode" 1880 depends on PROC_FS 1881 default y 1882 help 1883 This kernel feature is useful for number crunching applications 1884 that may need to compute untrusted bytecode during their 1885 execution. By using pipes or other transports made available to 1886 the process as file descriptors supporting the read/write 1887 syscalls, it's possible to isolate those applications in 1888 their own address space using seccomp. Once seccomp is 1889 enabled via /proc/<pid>/seccomp, it cannot be disabled 1890 and the task is only allowed to execute a few safe syscalls 1891 defined by each seccomp mode. 1892 1893 If unsure, say Y. Only embedded should say N here. 1894 1895endmenu 1896 1897config RWSEM_GENERIC_SPINLOCK 1898 bool 1899 default y 1900 1901config LOCKDEP_SUPPORT 1902 bool 1903 default y 1904 1905config STACKTRACE_SUPPORT 1906 bool 1907 default y 1908 1909source "init/Kconfig" 1910 1911config PROBE_INITRD_HEADER 1912 bool "Probe initrd header created by addinitrd" 1913 depends on BLK_DEV_INITRD 1914 help 1915 Probe initrd header at the last page of kernel image. 1916 Say Y here if you are using arch/mips/boot/addinitrd.c to 1917 add initrd or initramfs image to the kernel image. 1918 Otherwise, say N. 1919 1920source "kernel/Kconfig.freezer" 1921 1922menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 1923 1924config HW_HAS_EISA 1925 bool 1926config HW_HAS_PCI 1927 bool 1928 1929config PCI 1930 bool "Support for PCI controller" 1931 depends on HW_HAS_PCI 1932 select PCI_DOMAINS 1933 help 1934 Find out whether you have a PCI motherboard. PCI is the name of a 1935 bus system, i.e. the way the CPU talks to the other stuff inside 1936 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 1937 say Y, otherwise N. 1938 1939config PCI_DOMAINS 1940 bool 1941 1942source "drivers/pci/Kconfig" 1943 1944# 1945# ISA support is now enabled via select. Too many systems still have the one 1946# or other ISA chip on the board that users don't know about so don't expect 1947# users to choose the right thing ... 1948# 1949config ISA 1950 bool 1951 1952config EISA 1953 bool "EISA support" 1954 depends on HW_HAS_EISA 1955 select ISA 1956 select GENERIC_ISA_DMA 1957 ---help--- 1958 The Extended Industry Standard Architecture (EISA) bus was 1959 developed as an open alternative to the IBM MicroChannel bus. 1960 1961 The EISA bus provided some of the features of the IBM MicroChannel 1962 bus while maintaining backward compatibility with cards made for 1963 the older ISA bus. The EISA bus saw limited use between 1988 and 1964 1995 when it was made obsolete by the PCI bus. 1965 1966 Say Y here if you are building a kernel for an EISA-based machine. 1967 1968 Otherwise, say N. 1969 1970source "drivers/eisa/Kconfig" 1971 1972config TC 1973 bool "TURBOchannel support" 1974 depends on MACH_DECSTATION 1975 help 1976 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 1977 processors. Documentation on writing device drivers for TurboChannel 1978 is available at: 1979 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>. 1980 1981#config ACCESSBUS 1982# bool "Access.Bus support" 1983# depends on TC 1984 1985config MMU 1986 bool 1987 default y 1988 1989config I8253 1990 bool 1991 1992config ZONE_DMA32 1993 bool 1994 1995source "drivers/pcmcia/Kconfig" 1996 1997source "drivers/pci/hotplug/Kconfig" 1998 1999endmenu 2000 2001menu "Executable file formats" 2002 2003source "fs/Kconfig.binfmt" 2004 2005config TRAD_SIGNALS 2006 bool 2007 2008config MIPS32_COMPAT 2009 bool "Kernel support for Linux/MIPS 32-bit binary compatibility" 2010 depends on 64BIT 2011 help 2012 Select this option if you want Linux/MIPS 32-bit binary 2013 compatibility. Since all software available for Linux/MIPS is 2014 currently 32-bit you should say Y here. 2015 2016config COMPAT 2017 bool 2018 depends on MIPS32_COMPAT 2019 default y 2020 2021config SYSVIPC_COMPAT 2022 bool 2023 depends on COMPAT && SYSVIPC 2024 default y 2025 2026config MIPS32_O32 2027 bool "Kernel support for o32 binaries" 2028 depends on MIPS32_COMPAT 2029 help 2030 Select this option if you want to run o32 binaries. These are pure 2031 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2032 existing binaries are in this format. 2033 2034 If unsure, say Y. 2035 2036config MIPS32_N32 2037 bool "Kernel support for n32 binaries" 2038 depends on MIPS32_COMPAT 2039 help 2040 Select this option if you want to run n32 binaries. These are 2041 64-bit binaries using 32-bit quantities for addressing and certain 2042 data that would normally be 64-bit. They are used in special 2043 cases. 2044 2045 If unsure, say N. 2046 2047config BINFMT_ELF32 2048 bool 2049 default y if MIPS32_O32 || MIPS32_N32 2050 2051endmenu 2052 2053menu "Power management options" 2054 2055config ARCH_SUSPEND_POSSIBLE 2056 def_bool y 2057 depends on !SMP 2058 2059source "kernel/power/Kconfig" 2060 2061endmenu 2062 2063source "net/Kconfig" 2064 2065source "drivers/Kconfig" 2066 2067source "fs/Kconfig" 2068 2069source "arch/mips/Kconfig.debug" 2070 2071source "security/Kconfig" 2072 2073source "crypto/Kconfig" 2074 2075source "lib/Kconfig" 2076