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