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