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