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