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