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