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