1config MIPS 2 bool 3 default y 4 select HAVE_GENERIC_DMA_COHERENT 5 select HAVE_IDE 6 select HAVE_OPROFILE 7 select HAVE_ARCH_KGDB 8 select HAVE_FUNCTION_TRACER 9 select HAVE_FUNCTION_TRACE_MCOUNT_TEST 10 select HAVE_DYNAMIC_FTRACE 11 select HAVE_FTRACE_MCOUNT_RECORD 12 select HAVE_FUNCTION_GRAPH_TRACER 13 select HAVE_KPROBES 14 select HAVE_KRETPROBES 15 select RTC_LIB if !MACH_LOONGSON 16 select GENERIC_ATOMIC64 if !64BIT 17 18mainmenu "Linux/MIPS Kernel Configuration" 19 20menu "Machine selection" 21 22config ZONE_DMA 23 bool 24 25choice 26 prompt "System type" 27 default MIPS_BRCM 28 29config MIPS_BRCM 30 bool "Broadcom MIPS based platforms" 31 select SYS_SUPPORTS_LITTLE_ENDIAN 32 select DMA_NONCOHERENT 33 select HW_HAS_PCI 34 select IRQ_CPU 35 select SYS_SUPPORTS_32BIT_KERNEL 36 select SYS_SUPPORTS_KGDB 37 select SYS_HAS_CPU_MIPS32_R1 38 select SYS_HAS_CPU_MIPS32_R2 39 select ARCH_SELECT_MEMORY_MODEL 40 select ARCH_SPARSEMEM_ENABLE 41 select CPU_SUPPORTS_HIGHMEM 42 select SYS_SUPPORTS_HIGHMEM 43 select SYS_HAS_EARLY_PRINTK 44 select EMBEDDED 45 select BOOT_RAW 46 select CFE 47 48config MIPS_ALCHEMY 49 bool "Alchemy processor based machines" 50 select 64BIT_PHYS_ADDR 51 select CEVT_R4K_LIB 52 select CSRC_R4K_LIB 53 select IRQ_CPU 54 select SYS_HAS_CPU_MIPS32_R1 55 select SYS_SUPPORTS_32BIT_KERNEL 56 select SYS_SUPPORTS_APM_EMULATION 57 select GENERIC_GPIO 58 select ARCH_WANT_OPTIONAL_GPIOLIB 59 select SYS_SUPPORTS_ZBOOT 60 61config AR7 62 bool "Texas Instruments AR7" 63 select BOOT_ELF32 64 select DMA_NONCOHERENT 65 select CEVT_R4K 66 select CSRC_R4K 67 select IRQ_CPU 68 select NO_EXCEPT_FILL 69 select SWAP_IO_SPACE 70 select SYS_HAS_CPU_MIPS32_R1 71 select SYS_HAS_EARLY_PRINTK 72 select SYS_SUPPORTS_32BIT_KERNEL 73 select SYS_SUPPORTS_LITTLE_ENDIAN 74 select SYS_SUPPORTS_ZBOOT_UART16550 75 select ARCH_REQUIRE_GPIOLIB 76 select GCD 77 select VLYNQ 78 help 79 Support for the Texas Instruments AR7 System-on-a-Chip 80 family: TNETD7100, 7200 and 7300. 81 82config BCM47XX 83 bool "Broadcom BCM47XX based boards" 84 select CEVT_R4K 85 select CSRC_R4K 86 select DMA_NONCOHERENT 87 select HW_HAS_PCI 88 select IRQ_CPU 89 select SYS_HAS_CPU_MIPS32_R1 90 select SYS_SUPPORTS_32BIT_KERNEL 91 select SYS_SUPPORTS_LITTLE_ENDIAN 92 select SSB 93 select SSB_DRIVER_MIPS 94 select SSB_DRIVER_EXTIF 95 select SSB_EMBEDDED 96 select SSB_B43_PCI_BRIDGE if PCI 97 select SSB_PCICORE_HOSTMODE if PCI 98 select GENERIC_GPIO 99 select SYS_HAS_EARLY_PRINTK 100 select CFE 101 help 102 Support for BCM47XX based boards 103 104config BCM63XX 105 bool "Broadcom BCM63XX based boards" 106 select CEVT_R4K 107 select CSRC_R4K 108 select DMA_NONCOHERENT 109 select IRQ_CPU 110 select SYS_HAS_CPU_MIPS32_R1 111 select SYS_SUPPORTS_32BIT_KERNEL 112 select SYS_SUPPORTS_BIG_ENDIAN 113 select SYS_HAS_EARLY_PRINTK 114 select SWAP_IO_SPACE 115 select ARCH_REQUIRE_GPIOLIB 116 help 117 Support for BCM63XX based boards 118 119config MIPS_COBALT 120 bool "Cobalt Server" 121 select CEVT_R4K 122 select CSRC_R4K 123 select CEVT_GT641XX 124 select DMA_NONCOHERENT 125 select HW_HAS_PCI 126 select I8253 127 select I8259 128 select IRQ_CPU 129 select IRQ_GT641XX 130 select PCI_GT64XXX_PCI0 131 select PCI 132 select SYS_HAS_CPU_NEVADA 133 select SYS_HAS_EARLY_PRINTK 134 select SYS_SUPPORTS_32BIT_KERNEL 135 select SYS_SUPPORTS_64BIT_KERNEL 136 select SYS_SUPPORTS_LITTLE_ENDIAN 137 138config MACH_DECSTATION 139 bool "DECstations" 140 select BOOT_ELF32 141 select CEVT_DS1287 142 select CEVT_R4K 143 select CSRC_IOASIC 144 select CSRC_R4K 145 select CPU_DADDI_WORKAROUNDS if 64BIT 146 select CPU_R4000_WORKAROUNDS if 64BIT 147 select CPU_R4400_WORKAROUNDS if 64BIT 148 select DMA_NONCOHERENT 149 select NO_IOPORT 150 select IRQ_CPU 151 select SYS_HAS_CPU_R3000 152 select SYS_HAS_CPU_R4X00 153 select SYS_SUPPORTS_32BIT_KERNEL 154 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 155 select SYS_SUPPORTS_LITTLE_ENDIAN 156 select SYS_SUPPORTS_128HZ 157 select SYS_SUPPORTS_256HZ 158 select SYS_SUPPORTS_1024HZ 159 help 160 This enables support for DEC's MIPS based workstations. For details 161 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the 162 DECstation porting pages on <http://decstation.unix-ag.org/>. 163 164 If you have one of the following DECstation Models you definitely 165 want to choose R4xx0 for the CPU Type: 166 167 DECstation 5000/50 168 DECstation 5000/150 169 DECstation 5000/260 170 DECsystem 5900/260 171 172 otherwise choose R3000. 173 174config MACH_JAZZ 175 bool "Jazz family of machines" 176 select ARC 177 select ARC32 178 select ARCH_MAY_HAVE_PC_FDC 179 select CEVT_R4K 180 select CSRC_R4K 181 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 182 select GENERIC_ISA_DMA 183 select IRQ_CPU 184 select I8253 185 select I8259 186 select ISA 187 select SYS_HAS_CPU_R4X00 188 select SYS_SUPPORTS_32BIT_KERNEL 189 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 190 select SYS_SUPPORTS_100HZ 191 help 192 This a family of machines based on the MIPS R4030 chipset which was 193 used by several vendors to build RISC/os and Windows NT workstations. 194 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and 195 Olivetti M700-10 workstations. 196 197config MACH_JZ4740 198 bool "Ingenic JZ4740 based machines" 199 select SYS_HAS_CPU_MIPS32_R1 200 select SYS_SUPPORTS_32BIT_KERNEL 201 select SYS_SUPPORTS_LITTLE_ENDIAN 202 select DMA_NONCOHERENT 203 select IRQ_CPU 204 select GENERIC_GPIO 205 select ARCH_REQUIRE_GPIOLIB 206 select SYS_HAS_EARLY_PRINTK 207 select HAVE_PWM 208 select HAVE_CLK 209 210config LASAT 211 bool "LASAT Networks platforms" 212 select CEVT_R4K 213 select CSRC_R4K 214 select DMA_NONCOHERENT 215 select SYS_HAS_EARLY_PRINTK 216 select HW_HAS_PCI 217 select IRQ_CPU 218 select PCI_GT64XXX_PCI0 219 select MIPS_NILE4 220 select R5000_CPU_SCACHE 221 select SYS_HAS_CPU_R5000 222 select SYS_SUPPORTS_32BIT_KERNEL 223 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN 224 select SYS_SUPPORTS_LITTLE_ENDIAN 225 226config MACH_LOONGSON 227 bool "Loongson family of machines" 228 select SYS_SUPPORTS_ZBOOT 229 help 230 This enables the support of Loongson family of machines. 231 232 Loongson is a family of general-purpose MIPS-compatible CPUs. 233 developed at Institute of Computing Technology (ICT), 234 Chinese Academy of Sciences (CAS) in the People's Republic 235 of China. The chief architect is Professor Weiwu Hu. 236 237config MIPS_MALTA 238 bool "MIPS Malta board" 239 select ARCH_MAY_HAVE_PC_FDC 240 select BOOT_ELF32 241 select BOOT_RAW 242 select CEVT_R4K 243 select CSRC_R4K 244 select DMA_NONCOHERENT 245 select GENERIC_ISA_DMA 246 select IRQ_CPU 247 select IRQ_GIC 248 select HW_HAS_PCI 249 select I8253 250 select I8259 251 select MIPS_BOARDS_GEN 252 select MIPS_BONITO64 253 select MIPS_CPU_SCACHE 254 select PCI_GT64XXX_PCI0 255 select MIPS_MSC 256 select SWAP_IO_SPACE 257 select SYS_HAS_CPU_MIPS32_R1 258 select SYS_HAS_CPU_MIPS32_R2 259 select SYS_HAS_CPU_MIPS64_R1 260 select SYS_HAS_CPU_MIPS64_R2 261 select SYS_HAS_CPU_NEVADA 262 select SYS_HAS_CPU_RM7000 263 select SYS_HAS_EARLY_PRINTK 264 select SYS_SUPPORTS_32BIT_KERNEL 265 select SYS_SUPPORTS_64BIT_KERNEL 266 select SYS_SUPPORTS_BIG_ENDIAN 267 select SYS_SUPPORTS_LITTLE_ENDIAN 268 select SYS_SUPPORTS_MIPS_CMP 269 select SYS_SUPPORTS_MULTITHREADING 270 select SYS_SUPPORTS_HOTPLUG_CPU 271 select SYS_SUPPORTS_SMARTMIPS 272 select SYS_SUPPORTS_MICROMIPS 273 select SYS_SUPPORTS_ZBOOT 274 help 275 This enables support for the MIPS Technologies Malta evaluation 276 board. 277 278config MIPS_SEAD3 279 bool "MIPS SEAD3 board" 280 select BOOT_ELF32 281 select BOOT_RAW 282 select CEVT_R4K 283 select CSRC_R4K 284 select DMA_NONCOHERENT 285 select IRQ_CPU 286 select IRQ_GIC 287 select MIPS_BOARDS_GEN 288 select MIPS_CPU_SCACHE 289 select MIPS_MSC 290 select SYS_HAS_CPU_MIPS32_R1 291 select SYS_HAS_CPU_MIPS32_R2 292 select SYS_HAS_CPU_MIPS64_R1 293 select SYS_HAS_EARLY_PRINTK 294 select SYS_SUPPORTS_32BIT_KERNEL 295 select SYS_SUPPORTS_64BIT_KERNEL 296 select SYS_SUPPORTS_BIG_ENDIAN 297 select SYS_SUPPORTS_LITTLE_ENDIAN 298 select SYS_SUPPORTS_MULTITHREADING 299 select SYS_SUPPORTS_SMARTMIPS 300 select SYS_SUPPORTS_MICROMIPS 301 help 302 This enables support for the MIPS Technologies SEAD3 evaluation 303 board. 304 305config MIPS_SIM 306 bool 'MIPS simulator (MIPSsim)' 307 select CEVT_R4K 308 select CSRC_R4K 309 select DMA_NONCOHERENT 310 select SYS_HAS_EARLY_PRINTK 311 select IRQ_CPU 312 select BOOT_RAW 313 select SYS_HAS_CPU_MIPS32_R1 314 select SYS_HAS_CPU_MIPS32_R2 315 select SYS_HAS_EARLY_PRINTK 316 select SYS_SUPPORTS_32BIT_KERNEL 317 select SYS_SUPPORTS_BIG_ENDIAN 318 select SYS_SUPPORTS_MULTITHREADING 319 select SYS_SUPPORTS_LITTLE_ENDIAN 320 help 321 This option enables support for MIPS Technologies MIPSsim software 322 emulator. 323 324config NEC_MARKEINS 325 bool "NEC EMMA2RH Mark-eins board" 326 select SOC_EMMA2RH 327 select HW_HAS_PCI 328 help 329 This enables support for the NEC Electronics Mark-eins boards. 330 331config MACH_VR41XX 332 bool "NEC VR4100 series based machines" 333 select CEVT_R4K 334 select CSRC_R4K 335 select SYS_HAS_CPU_VR41XX 336 select ARCH_REQUIRE_GPIOLIB 337 338config NXP_STB220 339 bool "NXP STB220 board" 340 select SOC_PNX833X 341 help 342 Support for NXP Semiconductors STB220 Development Board. 343 344config NXP_STB225 345 bool "NXP 225 board" 346 select SOC_PNX833X 347 select SOC_PNX8335 348 help 349 Support for NXP Semiconductors STB225 Development Board. 350 351config PNX8550_JBS 352 bool "NXP PNX8550 based JBS board" 353 select PNX8550 354 select SYS_SUPPORTS_LITTLE_ENDIAN 355 356config PNX8550_STB810 357 bool "NXP PNX8550 based STB810 board" 358 select PNX8550 359 select SYS_SUPPORTS_LITTLE_ENDIAN 360 361config PMC_MSP 362 bool "PMC-Sierra MSP chipsets" 363 depends on EXPERIMENTAL 364 select DMA_NONCOHERENT 365 select SWAP_IO_SPACE 366 select NO_EXCEPT_FILL 367 select BOOT_RAW 368 select SYS_HAS_CPU_MIPS32_R1 369 select SYS_HAS_CPU_MIPS32_R2 370 select SYS_SUPPORTS_32BIT_KERNEL 371 select SYS_SUPPORTS_BIG_ENDIAN 372 select IRQ_CPU 373 select SERIAL_8250 374 select SERIAL_8250_CONSOLE 375 help 376 This adds support for the PMC-Sierra family of Multi-Service 377 Processor System-On-A-Chips. These parts include a number 378 of integrated peripherals, interfaces and DSPs in addition to 379 a variety of MIPS cores. 380 381config PMC_YOSEMITE 382 bool "PMC-Sierra Yosemite eval board" 383 select CEVT_R4K 384 select CSRC_R4K 385 select DMA_COHERENT 386 select HW_HAS_PCI 387 select IRQ_CPU 388 select IRQ_CPU_RM7K 389 select IRQ_CPU_RM9K 390 select SWAP_IO_SPACE 391 select SYS_HAS_CPU_RM9000 392 select SYS_HAS_EARLY_PRINTK 393 select SYS_SUPPORTS_32BIT_KERNEL 394 select SYS_SUPPORTS_64BIT_KERNEL 395 select SYS_SUPPORTS_BIG_ENDIAN 396 select SYS_SUPPORTS_HIGHMEM 397 select SYS_SUPPORTS_SMP 398 help 399 Yosemite is an evaluation board for the RM9000x2 processor 400 manufactured by PMC-Sierra. 401 402config POWERTV 403 bool "Cisco PowerTV" 404 select BOOT_ELF32 405 select CEVT_R4K 406 select CPU_MIPSR2_IRQ_VI 407 select CPU_MIPSR2_IRQ_EI 408 select CSRC_POWERTV 409 select DMA_NONCOHERENT 410 select HW_HAS_PCI 411 select SYS_HAS_EARLY_PRINTK 412 select SYS_HAS_CPU_MIPS32_R2 413 select SYS_SUPPORTS_32BIT_KERNEL 414 select SYS_SUPPORTS_BIG_ENDIAN 415 select SYS_SUPPORTS_HIGHMEM 416 select USB_OHCI_LITTLE_ENDIAN 417 help 418 This enables support for the Cisco PowerTV Platform. 419 420config SGI_IP22 421 bool "SGI IP22 (Indy/Indigo2)" 422 select ARC 423 select ARC32 424 select BOOT_ELF32 425 select CEVT_R4K 426 select CSRC_R4K 427 select DEFAULT_SGI_PARTITION 428 select DMA_NONCOHERENT 429 select HW_HAS_EISA 430 select I8253 431 select I8259 432 select IP22_CPU_SCACHE 433 select IRQ_CPU 434 select GENERIC_ISA_DMA_SUPPORT_BROKEN 435 select SGI_HAS_I8042 436 select SGI_HAS_INDYDOG 437 select SGI_HAS_HAL2 438 select SGI_HAS_SEEQ 439 select SGI_HAS_WD93 440 select SGI_HAS_ZILOG 441 select SWAP_IO_SPACE 442 select SYS_HAS_CPU_R4X00 443 select SYS_HAS_CPU_R5000 444 # 445 # Disable EARLY_PRINTK for now since it leads to overwritten prom 446 # memory during early boot on some machines. 447 # 448 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 449 # for a more details discussion 450 # 451 # select SYS_HAS_EARLY_PRINTK 452 select SYS_SUPPORTS_32BIT_KERNEL 453 select SYS_SUPPORTS_64BIT_KERNEL 454 select SYS_SUPPORTS_BIG_ENDIAN 455 help 456 This are the SGI Indy, Challenge S and Indigo2, as well as certain 457 OEM variants like the Tandem CMN B006S. To compile a Linux kernel 458 that runs on these, say Y here. 459 460config SGI_IP27 461 bool "SGI IP27 (Origin200/2000)" 462 select ARC 463 select ARC64 464 select BOOT_ELF64 465 select DEFAULT_SGI_PARTITION 466 select DMA_COHERENT 467 select SYS_HAS_EARLY_PRINTK 468 select HW_HAS_PCI 469 select NR_CPUS_DEFAULT_64 470 select SYS_HAS_CPU_R10000 471 select SYS_SUPPORTS_64BIT_KERNEL 472 select SYS_SUPPORTS_BIG_ENDIAN 473 select SYS_SUPPORTS_NUMA 474 select SYS_SUPPORTS_SMP 475 help 476 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics 477 workstations. To compile a Linux kernel that runs on these, say Y 478 here. 479 480config SGI_IP28 481 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)" 482 depends on EXPERIMENTAL 483 select ARC 484 select ARC64 485 select BOOT_ELF64 486 select CEVT_R4K 487 select CSRC_R4K 488 select DEFAULT_SGI_PARTITION 489 select DMA_NONCOHERENT 490 select GENERIC_ISA_DMA_SUPPORT_BROKEN 491 select IRQ_CPU 492 select HW_HAS_EISA 493 select I8253 494 select I8259 495 select SGI_HAS_I8042 496 select SGI_HAS_INDYDOG 497 select SGI_HAS_HAL2 498 select SGI_HAS_SEEQ 499 select SGI_HAS_WD93 500 select SGI_HAS_ZILOG 501 select SWAP_IO_SPACE 502 select SYS_HAS_CPU_R10000 503 # 504 # Disable EARLY_PRINTK for now since it leads to overwritten prom 505 # memory during early boot on some machines. 506 # 507 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 508 # for a more details discussion 509 # 510 # select SYS_HAS_EARLY_PRINTK 511 select SYS_SUPPORTS_64BIT_KERNEL 512 select SYS_SUPPORTS_BIG_ENDIAN 513 help 514 This is the SGI Indigo2 with R10000 processor. To compile a Linux 515 kernel that runs on these, say Y here. 516 517config SGI_IP32 518 bool "SGI IP32 (O2)" 519 select ARC 520 select ARC32 521 select BOOT_ELF32 522 select CEVT_R4K 523 select CSRC_R4K 524 select DMA_NONCOHERENT 525 select HW_HAS_PCI 526 select IRQ_CPU 527 select R5000_CPU_SCACHE 528 select RM7000_CPU_SCACHE 529 select SYS_HAS_CPU_R5000 530 select SYS_HAS_CPU_R10000 if BROKEN 531 select SYS_HAS_CPU_RM7000 532 select SYS_HAS_CPU_NEVADA 533 select SYS_SUPPORTS_64BIT_KERNEL 534 select SYS_SUPPORTS_BIG_ENDIAN 535 help 536 If you want this kernel to run on SGI O2 workstation, say Y here. 537 538config SIBYTE_CRHINE 539 bool "Sibyte BCM91120C-CRhine" 540 depends on EXPERIMENTAL 541 select BOOT_ELF32 542 select DMA_COHERENT 543 select SIBYTE_BCM1120 544 select SWAP_IO_SPACE 545 select SYS_HAS_CPU_SB1 546 select SYS_SUPPORTS_BIG_ENDIAN 547 select SYS_SUPPORTS_LITTLE_ENDIAN 548 549config SIBYTE_CARMEL 550 bool "Sibyte BCM91120x-Carmel" 551 depends on EXPERIMENTAL 552 select BOOT_ELF32 553 select DMA_COHERENT 554 select SIBYTE_BCM1120 555 select SWAP_IO_SPACE 556 select SYS_HAS_CPU_SB1 557 select SYS_SUPPORTS_BIG_ENDIAN 558 select SYS_SUPPORTS_LITTLE_ENDIAN 559 560config SIBYTE_CRHONE 561 bool "Sibyte BCM91125C-CRhone" 562 depends on EXPERIMENTAL 563 select BOOT_ELF32 564 select DMA_COHERENT 565 select SIBYTE_BCM1125 566 select SWAP_IO_SPACE 567 select SYS_HAS_CPU_SB1 568 select SYS_SUPPORTS_BIG_ENDIAN 569 select SYS_SUPPORTS_HIGHMEM 570 select SYS_SUPPORTS_LITTLE_ENDIAN 571 572config SIBYTE_RHONE 573 bool "Sibyte BCM91125E-Rhone" 574 depends on EXPERIMENTAL 575 select BOOT_ELF32 576 select DMA_COHERENT 577 select SIBYTE_BCM1125H 578 select SWAP_IO_SPACE 579 select SYS_HAS_CPU_SB1 580 select SYS_SUPPORTS_BIG_ENDIAN 581 select SYS_SUPPORTS_LITTLE_ENDIAN 582 583config SIBYTE_SWARM 584 bool "Sibyte BCM91250A-SWARM" 585 select BOOT_ELF32 586 select DMA_COHERENT 587 select HAVE_PATA_PLATFORM 588 select NR_CPUS_DEFAULT_2 589 select SIBYTE_SB1250 590 select SWAP_IO_SPACE 591 select SYS_HAS_CPU_SB1 592 select SYS_SUPPORTS_BIG_ENDIAN 593 select SYS_SUPPORTS_HIGHMEM 594 select SYS_SUPPORTS_LITTLE_ENDIAN 595 select ZONE_DMA32 if 64BIT 596 597config SIBYTE_LITTLESUR 598 bool "Sibyte BCM91250C2-LittleSur" 599 depends on EXPERIMENTAL 600 select BOOT_ELF32 601 select DMA_COHERENT 602 select HAVE_PATA_PLATFORM 603 select NR_CPUS_DEFAULT_2 604 select SIBYTE_SB1250 605 select SWAP_IO_SPACE 606 select SYS_HAS_CPU_SB1 607 select SYS_SUPPORTS_BIG_ENDIAN 608 select SYS_SUPPORTS_HIGHMEM 609 select SYS_SUPPORTS_LITTLE_ENDIAN 610 611config SIBYTE_SENTOSA 612 bool "Sibyte BCM91250E-Sentosa" 613 depends on EXPERIMENTAL 614 select BOOT_ELF32 615 select DMA_COHERENT 616 select NR_CPUS_DEFAULT_2 617 select SIBYTE_SB1250 618 select SWAP_IO_SPACE 619 select SYS_HAS_CPU_SB1 620 select SYS_SUPPORTS_BIG_ENDIAN 621 select SYS_SUPPORTS_LITTLE_ENDIAN 622 623config SIBYTE_BIGSUR 624 bool "Sibyte BCM91480B-BigSur" 625 select BOOT_ELF32 626 select DMA_COHERENT 627 select NR_CPUS_DEFAULT_4 628 select SIBYTE_BCM1x80 629 select SWAP_IO_SPACE 630 select SYS_HAS_CPU_SB1 631 select SYS_SUPPORTS_BIG_ENDIAN 632 select SYS_SUPPORTS_HIGHMEM 633 select SYS_SUPPORTS_LITTLE_ENDIAN 634 select ZONE_DMA32 if 64BIT 635 636config SNI_RM 637 bool "SNI RM200/300/400" 638 select ARC if CPU_LITTLE_ENDIAN 639 select ARC32 if CPU_LITTLE_ENDIAN 640 select SNIPROM if CPU_BIG_ENDIAN 641 select ARCH_MAY_HAVE_PC_FDC 642 select BOOT_ELF32 643 select CEVT_R4K 644 select CSRC_R4K 645 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 646 select DMA_NONCOHERENT 647 select GENERIC_ISA_DMA 648 select HW_HAS_EISA 649 select HW_HAS_PCI 650 select IRQ_CPU 651 select I8253 652 select I8259 653 select ISA 654 select SWAP_IO_SPACE if CPU_BIG_ENDIAN 655 select SYS_HAS_CPU_R4X00 656 select SYS_HAS_CPU_R5000 657 select SYS_HAS_CPU_R10000 658 select R5000_CPU_SCACHE 659 select SYS_HAS_EARLY_PRINTK 660 select SYS_SUPPORTS_32BIT_KERNEL 661 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 662 select SYS_SUPPORTS_BIG_ENDIAN 663 select SYS_SUPPORTS_HIGHMEM 664 select SYS_SUPPORTS_LITTLE_ENDIAN 665 help 666 The SNI RM200/300/400 are MIPS-based machines manufactured by 667 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid 668 Technology and now in turn merged with Fujitsu. Say Y here to 669 support this machine type. 670 671config MACH_TX39XX 672 bool "Toshiba TX39 series based machines" 673 674config MACH_TX49XX 675 bool "Toshiba TX49 series based machines" 676 677config MIKROTIK_RB532 678 bool "Mikrotik RB532 boards" 679 select CEVT_R4K 680 select CSRC_R4K 681 select DMA_NONCOHERENT 682 select HW_HAS_PCI 683 select IRQ_CPU 684 select SYS_HAS_CPU_MIPS32_R1 685 select SYS_SUPPORTS_32BIT_KERNEL 686 select SYS_SUPPORTS_LITTLE_ENDIAN 687 select SWAP_IO_SPACE 688 select BOOT_RAW 689 select ARCH_REQUIRE_GPIOLIB 690 help 691 Support the Mikrotik(tm) RouterBoard 532 series, 692 based on the IDT RC32434 SoC. 693 694config WR_PPMC 695 bool "Wind River PPMC board" 696 select CEVT_R4K 697 select CSRC_R4K 698 select IRQ_CPU 699 select BOOT_ELF32 700 select DMA_NONCOHERENT 701 select HW_HAS_PCI 702 select PCI_GT64XXX_PCI0 703 select SWAP_IO_SPACE 704 select SYS_HAS_CPU_MIPS32_R1 705 select SYS_HAS_CPU_MIPS32_R2 706 select SYS_HAS_CPU_MIPS64_R1 707 select SYS_HAS_CPU_NEVADA 708 select SYS_HAS_CPU_RM7000 709 select SYS_SUPPORTS_32BIT_KERNEL 710 select SYS_SUPPORTS_64BIT_KERNEL 711 select SYS_SUPPORTS_BIG_ENDIAN 712 select SYS_SUPPORTS_LITTLE_ENDIAN 713 help 714 This enables support for the Wind River MIPS32 4KC PPMC evaluation 715 board, which is based on GT64120 bridge chip. 716 717config CAVIUM_OCTEON_SIMULATOR 718 bool "Cavium Networks Octeon Simulator" 719 select CEVT_R4K 720 select 64BIT_PHYS_ADDR 721 select DMA_COHERENT 722 select SYS_SUPPORTS_64BIT_KERNEL 723 select SYS_SUPPORTS_BIG_ENDIAN 724 select SYS_SUPPORTS_HIGHMEM 725 select SYS_SUPPORTS_HOTPLUG_CPU 726 select SYS_HAS_CPU_CAVIUM_OCTEON 727 help 728 The Octeon simulator is software performance model of the Cavium 729 Octeon Processor. It supports simulating Octeon processors on x86 730 hardware. 731 732config CAVIUM_OCTEON_REFERENCE_BOARD 733 bool "Cavium Networks Octeon reference board" 734 select CEVT_R4K 735 select 64BIT_PHYS_ADDR 736 select DMA_COHERENT 737 select SYS_SUPPORTS_64BIT_KERNEL 738 select SYS_SUPPORTS_BIG_ENDIAN 739 select SYS_SUPPORTS_HIGHMEM 740 select SYS_SUPPORTS_HOTPLUG_CPU 741 select SYS_HAS_EARLY_PRINTK 742 select SYS_HAS_CPU_CAVIUM_OCTEON 743 select SWAP_IO_SPACE 744 select HW_HAS_PCI 745 select ARCH_SUPPORTS_MSI 746 help 747 This option supports all of the Octeon reference boards from Cavium 748 Networks. It builds a kernel that dynamically determines the Octeon 749 CPU type and supports all known board reference implementations. 750 Some of the supported boards are: 751 EBT3000 752 EBH3000 753 EBH3100 754 Thunder 755 Kodama 756 Hikari 757 Say Y here for most Octeon reference boards. 758 759endchoice 760 761source "arch/mips/brcm-boards/Kconfig" 762source "arch/mips/alchemy/Kconfig" 763source "arch/mips/bcm63xx/Kconfig" 764source "arch/mips/jazz/Kconfig" 765source "arch/mips/jz4740/Kconfig" 766source "arch/mips/lasat/Kconfig" 767source "arch/mips/pmc-sierra/Kconfig" 768source "arch/mips/powertv/Kconfig" 769source "arch/mips/sgi-ip27/Kconfig" 770source "arch/mips/sibyte/Kconfig" 771source "arch/mips/txx9/Kconfig" 772source "arch/mips/vr41xx/Kconfig" 773source "arch/mips/cavium-octeon/Kconfig" 774source "arch/mips/loongson/Kconfig" 775 776endmenu 777 778config RWSEM_GENERIC_SPINLOCK 779 bool 780 default y 781 782config RWSEM_XCHGADD_ALGORITHM 783 bool 784 785config ARCH_HAS_ILOG2_U32 786 bool 787 default n 788 789config ARCH_HAS_ILOG2_U64 790 bool 791 default n 792 793config ARCH_SUPPORTS_OPROFILE 794 bool 795 default y if !MIPS_MT_SMTC 796 797config GENERIC_FIND_NEXT_BIT 798 bool 799 default y 800 801config GENERIC_HWEIGHT 802 bool 803 default y 804 805config GENERIC_CALIBRATE_DELAY 806 bool 807 default y 808 809config GENERIC_CLOCKEVENTS 810 bool 811 default y 812 813config GENERIC_CMOS_UPDATE 814 bool 815 default y 816 817config SCHED_OMIT_FRAME_POINTER 818 bool 819 default y 820 821# config GENERIC_HARDIRQS_NO__DO_IRQ 822# bool 823# default y 824 825# 826# Select some configuration options automatically based on user selections. 827# 828config ARC 829 bool 830 831config ARCH_MAY_HAVE_PC_FDC 832 bool 833 834config BOOT_RAW 835 bool 836 837config CEVT_BCM1480 838 bool 839 840config CEVT_DS1287 841 bool 842 843config CEVT_GT641XX 844 bool 845 846config CEVT_R4K_LIB 847 bool 848 849config CEVT_R4K 850 select CEVT_R4K_LIB 851 bool 852 853config CEVT_SB1250 854 bool 855 856config CEVT_TXX9 857 bool 858 859config CSRC_BCM1480 860 bool 861 862config CSRC_IOASIC 863 bool 864 865config CSRC_POWERTV 866 bool 867 868config CSRC_R4K_LIB 869 bool 870 871config CSRC_R4K 872 select CSRC_R4K_LIB 873 bool 874 875config CSRC_SB1250 876 bool 877 878config GPIO_TXX9 879 select GENERIC_GPIO 880 select ARCH_REQUIRE_GPIOLIB 881 bool 882 883config CFE 884 bool 885 886config DMA_COHERENT 887 bool 888 889config DMA_NONCOHERENT 890 bool 891 select NEED_DMA_MAP_STATE 892 893config NEED_DMA_MAP_STATE 894 bool 895 896config SYS_HAS_EARLY_PRINTK 897 bool 898 899config HOTPLUG_CPU 900 bool "Support for hot-pluggable CPUs" 901 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU 902 help 903 Say Y here to allow turning CPUs off and on. CPUs can be 904 controlled through /sys/devices/system/cpu. 905 (Note: power management support will enable this option 906 automatically on SMP systems. ) 907 Say N if you want to disable CPU hotplug. 908 909config SYS_SUPPORTS_HOTPLUG_CPU 910 bool 911 912config I8259 913 bool 914 915config MIPS_BONITO64 916 bool 917 918config MIPS_MSC 919 bool 920 921config MIPS_NILE4 922 bool 923 924config MIPS_DISABLE_OBSOLETE_IDE 925 bool 926 927config SYNC_R4K 928 bool 929 930config NO_IOPORT 931 def_bool n 932 933config GENERIC_ISA_DMA 934 bool 935 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 936 select ISA_DMA_API 937 938config GENERIC_ISA_DMA_SUPPORT_BROKEN 939 bool 940 select GENERIC_ISA_DMA 941 942config ISA_DMA_API 943 bool 944 945config GENERIC_GPIO 946 bool 947 948# 949# Endianess selection. Sufficiently obscure so many users don't know what to 950# answer,so we try hard to limit the available choices. Also the use of a 951# choice statement should be more obvious to the user. 952# 953choice 954 prompt "Endianess selection" 955 help 956 Some MIPS machines can be configured for either little or big endian 957 byte order. These modes require different kernels and a different 958 Linux distribution. In general there is one preferred byteorder for a 959 particular system but some systems are just as commonly used in the 960 one or the other endianness. 961 962config CPU_BIG_ENDIAN 963 bool "Big endian" 964 depends on SYS_SUPPORTS_BIG_ENDIAN 965 966config CPU_LITTLE_ENDIAN 967 bool "Little endian" 968 depends on SYS_SUPPORTS_LITTLE_ENDIAN 969 help 970 971endchoice 972 973config EXPORT_UASM 974 bool 975 976config SYS_SUPPORTS_APM_EMULATION 977 bool 978 979config SYS_SUPPORTS_BIG_ENDIAN 980 bool 981 982config SYS_SUPPORTS_LITTLE_ENDIAN 983 bool 984 985config SYS_SUPPORTS_HUGETLBFS 986 bool 987 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT 988 default y 989 990config IRQ_CPU 991 bool 992 993config IRQ_CPU_RM7K 994 bool 995 996config IRQ_CPU_RM9K 997 bool 998 999config IRQ_MSP_SLP 1000 bool 1001 1002config IRQ_MSP_CIC 1003 bool 1004 1005config IRQ_TXX9 1006 bool 1007 1008config IRQ_GT641XX 1009 bool 1010 1011config IRQ_GIC 1012 bool 1013 1014config IRQ_CPU_OCTEON 1015 bool 1016 1017config MIPS_BOARDS_GEN 1018 bool 1019 1020config PCI_GT64XXX_PCI0 1021 bool 1022 1023config NO_EXCEPT_FILL 1024 bool 1025 1026config MIPS_RM9122 1027 bool 1028 select SERIAL_RM9000 1029 1030config SOC_EMMA2RH 1031 bool 1032 select CEVT_R4K 1033 select CSRC_R4K 1034 select DMA_NONCOHERENT 1035 select IRQ_CPU 1036 select SWAP_IO_SPACE 1037 select SYS_HAS_CPU_R5500 1038 select SYS_SUPPORTS_32BIT_KERNEL 1039 select SYS_SUPPORTS_64BIT_KERNEL 1040 select SYS_SUPPORTS_BIG_ENDIAN 1041 1042config SOC_PNX833X 1043 bool 1044 select CEVT_R4K 1045 select CSRC_R4K 1046 select IRQ_CPU 1047 select DMA_NONCOHERENT 1048 select SYS_HAS_CPU_MIPS32_R2 1049 select SYS_SUPPORTS_32BIT_KERNEL 1050 select SYS_SUPPORTS_LITTLE_ENDIAN 1051 select SYS_SUPPORTS_BIG_ENDIAN 1052 select GENERIC_GPIO 1053 select CPU_MIPSR2_IRQ_VI 1054 1055config SOC_PNX8335 1056 bool 1057 select SOC_PNX833X 1058 1059config PNX8550 1060 bool 1061 select SOC_PNX8550 1062 1063config SOC_PNX8550 1064 bool 1065 select DMA_NONCOHERENT 1066 select HW_HAS_PCI 1067 select SYS_HAS_CPU_MIPS32_R1 1068 select SYS_HAS_EARLY_PRINTK 1069 select SYS_SUPPORTS_32BIT_KERNEL 1070 select GENERIC_GPIO 1071 1072config SWAP_IO_SPACE 1073 bool 1074 1075config SERIAL_RM9000 1076 bool 1077 1078config SGI_HAS_INDYDOG 1079 bool 1080 1081config SGI_HAS_HAL2 1082 bool 1083 1084config SGI_HAS_SEEQ 1085 bool 1086 1087config SGI_HAS_WD93 1088 bool 1089 1090config SGI_HAS_ZILOG 1091 bool 1092 1093config SGI_HAS_I8042 1094 bool 1095 1096config DEFAULT_SGI_PARTITION 1097 bool 1098 1099config ARC32 1100 bool 1101 1102config SNIPROM 1103 bool 1104 1105config BOOT_ELF32 1106 bool 1107 1108config MIPS_L1_CACHE_SHIFT 1109 int 1110 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL 1111 default "6" if MIPS_CPU_SCACHE 1112 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON 1113 default "5" 1114 1115config HAVE_STD_PC_SERIAL_PORT 1116 bool 1117 1118config ARC_CONSOLE 1119 bool "ARC console support" 1120 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 1121 1122config ARC_MEMORY 1123 bool 1124 depends on MACH_JAZZ || SNI_RM || SGI_IP32 1125 default y 1126 1127config ARC_PROMLIB 1128 bool 1129 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 1130 default y 1131 1132config ARC64 1133 bool 1134 1135config BOOT_ELF64 1136 bool 1137 1138menu "CPU selection" 1139 1140choice 1141 prompt "CPU type" 1142 default CPU_R4X00 1143 1144config CPU_LOONGSON2E 1145 bool "Loongson 2E" 1146 depends on SYS_HAS_CPU_LOONGSON2E 1147 select CPU_LOONGSON2 1148 help 1149 The Loongson 2E processor implements the MIPS III instruction set 1150 with many extensions. 1151 1152 It has an internal FPGA northbridge, which is compatiable to 1153 bonito64. 1154 1155config CPU_LOONGSON2F 1156 bool "Loongson 2F" 1157 depends on SYS_HAS_CPU_LOONGSON2F 1158 select CPU_LOONGSON2 1159 select GENERIC_GPIO 1160 select ARCH_REQUIRE_GPIOLIB 1161 help 1162 The Loongson 2F processor implements the MIPS III instruction set 1163 with many extensions. 1164 1165 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller 1166 have a similar programming interface with FPGA northbridge used in 1167 Loongson2E. 1168 1169config CPU_MIPS32_R1 1170 bool "MIPS32 Release 1" 1171 depends on SYS_HAS_CPU_MIPS32_R1 1172 select CPU_HAS_PREFETCH 1173 select CPU_SUPPORTS_32BIT_KERNEL 1174 select CPU_SUPPORTS_HIGHMEM 1175 help 1176 Choose this option to build a kernel for release 1 or later of the 1177 MIPS32 architecture. Most modern embedded systems with a 32-bit 1178 MIPS processor are based on a MIPS32 processor. If you know the 1179 specific type of processor in your system, choose those that one 1180 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1181 Release 2 of the MIPS32 architecture is available since several 1182 years so chances are you even have a MIPS32 Release 2 processor 1183 in which case you should choose CPU_MIPS32_R2 instead for better 1184 performance. 1185 1186config CPU_MIPS32_R2 1187 bool "MIPS32 Release 2" 1188 depends on SYS_HAS_CPU_MIPS32_R2 1189 select CPU_HAS_PREFETCH 1190 select CPU_SUPPORTS_32BIT_KERNEL 1191 select CPU_SUPPORTS_HIGHMEM 1192 help 1193 Choose this option to build a kernel for release 2 or later of the 1194 MIPS32 architecture. Most modern embedded systems with a 32-bit 1195 MIPS processor are based on a MIPS32 processor. If you know the 1196 specific type of processor in your system, choose those that one 1197 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1198 1199config CPU_MIPS64_R1 1200 bool "MIPS64 Release 1" 1201 depends on SYS_HAS_CPU_MIPS64_R1 1202 select CPU_HAS_PREFETCH 1203 select CPU_SUPPORTS_32BIT_KERNEL 1204 select CPU_SUPPORTS_64BIT_KERNEL 1205 select CPU_SUPPORTS_HIGHMEM 1206 select CPU_SUPPORTS_HUGEPAGES 1207 help 1208 Choose this option to build a kernel for release 1 or later of the 1209 MIPS64 architecture. Many modern embedded systems with a 64-bit 1210 MIPS processor are based on a MIPS64 processor. If you know the 1211 specific type of processor in your system, choose those that one 1212 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1213 Release 2 of the MIPS64 architecture is available since several 1214 years so chances are you even have a MIPS64 Release 2 processor 1215 in which case you should choose CPU_MIPS64_R2 instead for better 1216 performance. 1217 1218config CPU_MIPS64_R2 1219 bool "MIPS64 Release 2" 1220 depends on SYS_HAS_CPU_MIPS64_R2 1221 select CPU_HAS_PREFETCH 1222 select CPU_SUPPORTS_32BIT_KERNEL 1223 select CPU_SUPPORTS_64BIT_KERNEL 1224 select CPU_SUPPORTS_HIGHMEM 1225 select CPU_SUPPORTS_HUGEPAGES 1226 help 1227 Choose this option to build a kernel for release 2 or later of the 1228 MIPS64 architecture. Many modern embedded systems with a 64-bit 1229 MIPS processor are based on a MIPS64 processor. If you know the 1230 specific type of processor in your system, choose those that one 1231 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1232 1233config CPU_R3000 1234 bool "R3000" 1235 depends on SYS_HAS_CPU_R3000 1236 select CPU_HAS_WB 1237 select CPU_SUPPORTS_32BIT_KERNEL 1238 select CPU_SUPPORTS_HIGHMEM 1239 help 1240 Please make sure to pick the right CPU type. Linux/MIPS is not 1241 designed to be generic, i.e. Kernels compiled for R3000 CPUs will 1242 *not* work on R4000 machines and vice versa. However, since most 1243 of the supported machines have an R4000 (or similar) CPU, R4x00 1244 might be a safe bet. If the resulting kernel does not work, 1245 try to recompile with R3000. 1246 1247config CPU_TX39XX 1248 bool "R39XX" 1249 depends on SYS_HAS_CPU_TX39XX 1250 select CPU_SUPPORTS_32BIT_KERNEL 1251 1252config CPU_VR41XX 1253 bool "R41xx" 1254 depends on SYS_HAS_CPU_VR41XX 1255 select CPU_SUPPORTS_32BIT_KERNEL 1256 select CPU_SUPPORTS_64BIT_KERNEL 1257 help 1258 The options selects support for the NEC VR4100 series of processors. 1259 Only choose this option if you have one of these processors as a 1260 kernel built with this option will not run on any other type of 1261 processor or vice versa. 1262 1263config CPU_R4300 1264 bool "R4300" 1265 depends on SYS_HAS_CPU_R4300 1266 select CPU_SUPPORTS_32BIT_KERNEL 1267 select CPU_SUPPORTS_64BIT_KERNEL 1268 help 1269 MIPS Technologies R4300-series processors. 1270 1271config CPU_R4X00 1272 bool "R4x00" 1273 depends on SYS_HAS_CPU_R4X00 1274 select CPU_SUPPORTS_32BIT_KERNEL 1275 select CPU_SUPPORTS_64BIT_KERNEL 1276 help 1277 MIPS Technologies R4000-series processors other than 4300, including 1278 the R4000, R4400, R4600, and 4700. 1279 1280config CPU_TX49XX 1281 bool "R49XX" 1282 depends on SYS_HAS_CPU_TX49XX 1283 select CPU_HAS_PREFETCH 1284 select CPU_SUPPORTS_32BIT_KERNEL 1285 select CPU_SUPPORTS_64BIT_KERNEL 1286 1287config CPU_R5000 1288 bool "R5000" 1289 depends on SYS_HAS_CPU_R5000 1290 select CPU_SUPPORTS_32BIT_KERNEL 1291 select CPU_SUPPORTS_64BIT_KERNEL 1292 help 1293 MIPS Technologies R5000-series processors other than the Nevada. 1294 1295config CPU_R5432 1296 bool "R5432" 1297 depends on SYS_HAS_CPU_R5432 1298 select CPU_SUPPORTS_32BIT_KERNEL 1299 select CPU_SUPPORTS_64BIT_KERNEL 1300 1301config CPU_R5500 1302 bool "R5500" 1303 depends on SYS_HAS_CPU_R5500 1304 select CPU_SUPPORTS_32BIT_KERNEL 1305 select CPU_SUPPORTS_64BIT_KERNEL 1306 select CPU_SUPPORTS_HUGEPAGES 1307 help 1308 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1309 instruction set. 1310 1311config CPU_R6000 1312 bool "R6000" 1313 depends on EXPERIMENTAL 1314 depends on SYS_HAS_CPU_R6000 1315 select CPU_SUPPORTS_32BIT_KERNEL 1316 help 1317 MIPS Technologies R6000 and R6000A series processors. Note these 1318 processors are extremely rare and the support for them is incomplete. 1319 1320config CPU_NEVADA 1321 bool "RM52xx" 1322 depends on SYS_HAS_CPU_NEVADA 1323 select CPU_SUPPORTS_32BIT_KERNEL 1324 select CPU_SUPPORTS_64BIT_KERNEL 1325 help 1326 QED / PMC-Sierra RM52xx-series ("Nevada") processors. 1327 1328config CPU_R8000 1329 bool "R8000" 1330 depends on EXPERIMENTAL 1331 depends on SYS_HAS_CPU_R8000 1332 select CPU_HAS_PREFETCH 1333 select CPU_SUPPORTS_64BIT_KERNEL 1334 help 1335 MIPS Technologies R8000 processors. Note these processors are 1336 uncommon and the support for them is incomplete. 1337 1338config CPU_R10000 1339 bool "R10000" 1340 depends on SYS_HAS_CPU_R10000 1341 select CPU_HAS_PREFETCH 1342 select CPU_SUPPORTS_32BIT_KERNEL 1343 select CPU_SUPPORTS_64BIT_KERNEL 1344 select CPU_SUPPORTS_HIGHMEM 1345 help 1346 MIPS Technologies R10000-series processors. 1347 1348config CPU_RM7000 1349 bool "RM7000" 1350 depends on SYS_HAS_CPU_RM7000 1351 select CPU_HAS_PREFETCH 1352 select CPU_SUPPORTS_32BIT_KERNEL 1353 select CPU_SUPPORTS_64BIT_KERNEL 1354 select CPU_SUPPORTS_HIGHMEM 1355 1356config CPU_RM9000 1357 bool "RM9000" 1358 depends on SYS_HAS_CPU_RM9000 1359 select CPU_HAS_PREFETCH 1360 select CPU_SUPPORTS_32BIT_KERNEL 1361 select CPU_SUPPORTS_64BIT_KERNEL 1362 select CPU_SUPPORTS_HIGHMEM 1363 select WEAK_ORDERING 1364 1365config CPU_SB1 1366 bool "SB1" 1367 depends on SYS_HAS_CPU_SB1 1368 select CPU_SUPPORTS_32BIT_KERNEL 1369 select CPU_SUPPORTS_64BIT_KERNEL 1370 select CPU_SUPPORTS_HIGHMEM 1371 select WEAK_ORDERING 1372 1373config CPU_CAVIUM_OCTEON 1374 bool "Cavium Octeon processor" 1375 depends on SYS_HAS_CPU_CAVIUM_OCTEON 1376 select IRQ_CPU 1377 select IRQ_CPU_OCTEON 1378 select CPU_HAS_PREFETCH 1379 select CPU_SUPPORTS_64BIT_KERNEL 1380 select SYS_SUPPORTS_SMP 1381 select NR_CPUS_DEFAULT_16 1382 select WEAK_ORDERING 1383 select CPU_SUPPORTS_HIGHMEM 1384 select CPU_SUPPORTS_HUGEPAGES 1385 help 1386 The Cavium Octeon processor is a highly integrated chip containing 1387 many ethernet hardware widgets for networking tasks. The processor 1388 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. 1389 Full details can be found at http://www.caviumnetworks.com. 1390 1391endchoice 1392 1393if CPU_LOONGSON2F 1394config CPU_NOP_WORKAROUNDS 1395 bool 1396 1397config CPU_JUMP_WORKAROUNDS 1398 bool 1399 1400config CPU_LOONGSON2F_WORKAROUNDS 1401 bool "Loongson 2F Workarounds" 1402 default y 1403 select CPU_NOP_WORKAROUNDS 1404 select CPU_JUMP_WORKAROUNDS 1405 help 1406 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 1407 require workarounds. Without workarounds the system may hang 1408 unexpectedly. For more information please refer to the gas 1409 -mfix-loongson2f-nop and -mfix-loongson2f-jump options. 1410 1411 Loongson 2F03 and later have fixed these issues and no workarounds 1412 are needed. The workarounds have no significant side effect on them 1413 but may decrease the performance of the system so this option should 1414 be disabled unless the kernel is intended to be run on 2F01 or 2F02 1415 systems. 1416 1417 If unsure, please say Y. 1418endif # CPU_LOONGSON2F 1419 1420config SYS_SUPPORTS_ZBOOT 1421 bool 1422 select HAVE_KERNEL_GZIP 1423 select HAVE_KERNEL_BZIP2 1424 select HAVE_KERNEL_LZMA 1425 select HAVE_KERNEL_LZO 1426 1427config SYS_SUPPORTS_ZBOOT_UART16550 1428 bool 1429 select SYS_SUPPORTS_ZBOOT 1430 1431config CPU_LOONGSON2 1432 bool 1433 select CPU_SUPPORTS_32BIT_KERNEL 1434 select CPU_SUPPORTS_64BIT_KERNEL 1435 select CPU_SUPPORTS_HIGHMEM 1436 1437config SYS_HAS_CPU_LOONGSON2E 1438 bool 1439 1440config SYS_HAS_CPU_LOONGSON2F 1441 bool 1442 select CPU_SUPPORTS_CPUFREQ 1443 select CPU_SUPPORTS_ADDRWINCFG if 64BIT 1444 select CPU_SUPPORTS_UNCACHED_ACCELERATED 1445 1446config SYS_HAS_CPU_MIPS32_R1 1447 bool 1448 1449config SYS_HAS_CPU_MIPS32_R2 1450 bool 1451 1452config SYS_HAS_CPU_MIPS64_R1 1453 bool 1454 1455config SYS_HAS_CPU_MIPS64_R2 1456 bool 1457 1458config SYS_HAS_CPU_R3000 1459 bool 1460 1461config SYS_HAS_CPU_TX39XX 1462 bool 1463 1464config SYS_HAS_CPU_VR41XX 1465 bool 1466 1467config SYS_HAS_CPU_R4300 1468 bool 1469 1470config SYS_HAS_CPU_R4X00 1471 bool 1472 1473config SYS_HAS_CPU_TX49XX 1474 bool 1475 1476config SYS_HAS_CPU_R5000 1477 bool 1478 1479config SYS_HAS_CPU_R5432 1480 bool 1481 1482config SYS_HAS_CPU_R5500 1483 bool 1484 1485config SYS_HAS_CPU_R6000 1486 bool 1487 1488config SYS_HAS_CPU_NEVADA 1489 bool 1490 1491config SYS_HAS_CPU_R8000 1492 bool 1493 1494config SYS_HAS_CPU_R10000 1495 bool 1496 1497config SYS_HAS_CPU_RM7000 1498 bool 1499 1500config SYS_HAS_CPU_RM9000 1501 bool 1502 1503config SYS_HAS_CPU_SB1 1504 bool 1505 1506config SYS_HAS_CPU_CAVIUM_OCTEON 1507 bool 1508 1509# 1510# CPU may reorder R->R, R->W, W->R, W->W 1511# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1512# 1513config WEAK_ORDERING 1514 bool 1515 1516# 1517# CPU may reorder reads and writes beyond LL/SC 1518# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 1519# 1520config WEAK_REORDERING_BEYOND_LLSC 1521 bool 1522endmenu 1523 1524# 1525# These two indicate any level of the MIPS32 and MIPS64 architecture 1526# 1527config CPU_MIPS32 1528 bool 1529 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 1530 1531config CPU_MIPS64 1532 bool 1533 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 1534 1535# 1536# These two indicate the revision of the architecture, either Release 1 or Release 2 1537# 1538config CPU_MIPSR1 1539 bool 1540 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 1541 1542config CPU_MIPSR2 1543 bool 1544 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 1545 1546config SYS_SUPPORTS_32BIT_KERNEL 1547 bool 1548config SYS_SUPPORTS_64BIT_KERNEL 1549 bool 1550config CPU_SUPPORTS_32BIT_KERNEL 1551 bool 1552config CPU_SUPPORTS_64BIT_KERNEL 1553 bool 1554config CPU_SUPPORTS_CPUFREQ 1555 bool 1556config CPU_SUPPORTS_ADDRWINCFG 1557 bool 1558config CPU_SUPPORTS_HUGEPAGES 1559 bool 1560config CPU_SUPPORTS_UNCACHED_ACCELERATED 1561 bool 1562config MIPS_PGD_C0_CONTEXT 1563 bool 1564 default y if 64BIT && CPU_MIPSR2 1565 1566# 1567# Set to y for ptrace access to watch registers. 1568# 1569config HARDWARE_WATCHPOINTS 1570 bool 1571 default y if CPU_MIPSR1 || CPU_MIPSR2 1572 1573menu "Kernel type" 1574 1575choice 1576 prompt "Kernel code model" 1577 help 1578 You should only select this option if you have a workload that 1579 actually benefits from 64-bit processing or if your machine has 1580 large memory. You will only be presented a single option in this 1581 menu if your system does not support both 32-bit and 64-bit kernels. 1582 1583config 32BIT 1584 bool "32-bit kernel" 1585 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 1586 select TRAD_SIGNALS 1587 help 1588 Select this option if you want to build a 32-bit kernel. 1589config 64BIT 1590 bool "64-bit kernel" 1591 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 1592 select HAVE_SYSCALL_WRAPPERS 1593 help 1594 Select this option if you want to build a 64-bit kernel. 1595 1596endchoice 1597 1598config 64BIT_PHYS_ADDR 1599 bool "Kernel supports 64 bit physical addresses" if EXPERIMENTAL 1600 depends on 64BIT 1601 help 1602 Defines 64 bit physical addresses in kernel. 1603 Increases page table sizes. 1604 1605 It is an alternative for HIGHMEM usage of huge physical memory. 1606 Requires 64bit capable CPU and 64 bit kernel code model. 1607 1608 Note: without this option kernel can support up to 4GB physical 1609 memory for 4KB pages and up to 64GB for 64KB pages. 1610 1611config ARCH_PHYS_ADDR_T_64BIT 1612 def_bool 64BIT_PHYS_ADDR 1613 1614choice 1615 prompt "Kernel page size" 1616 default PAGE_SIZE_4KB 1617 1618config PAGE_SIZE_4KB 1619 bool "4kB" 1620 depends on !CPU_LOONGSON2 1621 help 1622 This option select the standard 4kB Linux page size. On some 1623 R3000-family processors this is the only available page size. Using 1624 4kB page size will minimize memory consumption and is therefore 1625 recommended for low memory systems. 1626 1627config PAGE_SIZE_8KB 1628 bool "8kB" 1629 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON 1630 help 1631 Using 8kB page size will result in higher performance kernel at 1632 the price of higher memory consumption. This option is available 1633 only on R8000 and cnMIPS processors. Note that you will need a 1634 suitable Linux distribution to support this. 1635 1636config PAGE_SIZE_16KB 1637 bool "16kB" 1638 depends on !CPU_R3000 && !CPU_TX39XX 1639 help 1640 Using 16kB page size will result in higher performance kernel at 1641 the price of higher memory consumption. This option is available on 1642 all non-R3000 family processors. Note that you will need a suitable 1643 Linux distribution to support this. 1644 1645config PAGE_SIZE_32KB 1646 bool "32kB" 1647 depends on CPU_CAVIUM_OCTEON 1648 help 1649 Using 32kB page size will result in higher performance kernel at 1650 the price of higher memory consumption. This option is available 1651 only on cnMIPS cores. Note that you will need a suitable Linux 1652 distribution to support this. 1653 1654config PAGE_SIZE_64KB 1655 bool "64kB" 1656 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX 1657 help 1658 Using 64kB page size will result in higher performance kernel at 1659 the price of higher memory consumption. This option is available on 1660 all non-R3000 family processor. Not that at the time of this 1661 writing this option is still high experimental. 1662 1663endchoice 1664 1665choice 1666 prompt "Clock source" 1667 depends on MIPS_MALTA || MIPS_SEAD3 1668 default CSRC_R4K 1669 1670config CSRC_R4K 1671 bool "R4K count/compare counter" 1672 depends on !HOTPLUG_CPU 1673 help 1674 Use the R4K count/compare counter for the kernel clock source. 1675 1676config CSRC_GIC 1677 bool "GIC global counter" 1678 help 1679 Use the GIC global counter for the kernel clock source. 1680 1681endchoice 1682 1683config BOARD_SCACHE 1684 bool 1685 1686config IP22_CPU_SCACHE 1687 bool 1688 select BOARD_SCACHE 1689 1690# 1691# Support for a MIPS32 / MIPS64 style S-caches 1692# 1693config MIPS_CPU_SCACHE 1694 bool 1695 select BOARD_SCACHE 1696 1697config R5000_CPU_SCACHE 1698 bool 1699 select BOARD_SCACHE 1700 1701config RM7000_CPU_SCACHE 1702 bool 1703 select BOARD_SCACHE 1704 1705config SIBYTE_DMA_PAGEOPS 1706 bool "Use DMA to clear/copy pages" 1707 depends on CPU_SB1 1708 help 1709 Instead of using the CPU to zero and copy pages, use a Data Mover 1710 channel. These DMA channels are otherwise unused by the standard 1711 SiByte Linux port. Seems to give a small performance benefit. 1712 1713config CPU_HAS_PREFETCH 1714 bool 1715 1716choice 1717 prompt "MIPS MT options" 1718 1719config MIPS_MT_DISABLED 1720 bool "Disable multithreading support." 1721 help 1722 Use this option if your workload can't take advantage of 1723 MIPS hardware multithreading support. On systems that don't have 1724 the option of an MT-enabled processor this option will be the only 1725 option in this menu. 1726 1727config MIPS_MT_SMP 1728 bool "Use 1 TC on each available VPE for SMP" 1729 depends on SYS_SUPPORTS_MULTITHREADING && !MIPS_SEAD3 1730 select CPU_MIPSR2_IRQ_VI 1731 select CPU_MIPSR2_IRQ_EI 1732 select MIPS_MT 1733 select NR_CPUS_DEFAULT_2 1734 select SMP 1735 select SYS_SUPPORTS_SCHED_SMT if SMP 1736 select SYS_SUPPORTS_SMP 1737 select SMP_UP 1738 help 1739 Virtual SMP uses the processor's VPEs to implement virtual 1740 processors. In currently available configurations of the 34K 1741 processor this allows for a dual processor. Both processors will 1742 share the same primary caches and each will obtain the half of 1743 the TLB for its own exclusive use. For a layman this model can 1744 be described as similar to what Intel calls Hyperthreading. At 1745 some point MIPS marketing decided to renamed to SMVP but the 1746 renaming hasn't caught on as of yet. 1747 1748 For further information see http://www.linux-mips.org/wiki/34K#VSMP 1749 1750config MIPS_MT_SMTC 1751 bool "SMTC: Use all TCs on all VPEs for SMP" 1752 depends on CPU_MIPS32_R2 1753 #depends on CPU_MIPS64_R2 # once there is hardware ... 1754 depends on SYS_SUPPORTS_MULTITHREADING 1755 select CPU_MIPSR2_IRQ_VI 1756 select CPU_MIPSR2_IRQ_EI 1757 select MIPS_MT 1758 select NR_CPUS_DEFAULT_8 1759 select SMP 1760 select SYS_SUPPORTS_SMP 1761 select SMP_UP 1762 help 1763 SMTC is presenting the available TCs of the core as processors to 1764 Linux. On currently available 34K processors this means a Linux 1765 system will see up to 5 processors. The implementation of the SMTC 1766 kernel differs significantly from VSMP. It was found that SMTC cannot 1767 efficiently coexist in the same kernel binary with other modes of 1768 multiprocessor support, so enabling SMTC is a compile time decision. 1769 The choice between VSMP and SMTC is a bit delicate as it is affected 1770 by clockspeed, memory speed, the specific workload and other factors. 1771 As such the choice should not be made on an evaluation board such as 1772 the Malta but preferably on final target hardware. 1773 1774 For further information see http://www.linux-mips.org/wiki/34K#SMTC 1775 1776endchoice 1777 1778config MIPS_MT 1779 bool 1780 1781config SCHED_SMT 1782 bool "SMT (multithreading) scheduler support" 1783 depends on SYS_SUPPORTS_SCHED_SMT 1784 default n 1785 help 1786 SMT scheduler support improves the CPU scheduler's decision making 1787 when dealing with MIPS MT enabled cores at a cost of slightly 1788 increased overhead in some places. If unsure say N here. 1789 1790config SYS_SUPPORTS_SCHED_SMT 1791 bool 1792 1793config SYS_SUPPORTS_MULTITHREADING 1794 bool 1795 1796config MIPS_MT_FPAFF 1797 bool "Dynamic FPU affinity for FP-intensive threads" 1798 default y 1799 depends on MIPS_MT_SMP || MIPS_MT_SMTC 1800 1801config MIPS_VPE_LOADER 1802 bool "VPE loader support." 1803 depends on SYS_SUPPORTS_MULTITHREADING 1804 select CPU_MIPSR2_IRQ_VI 1805 select CPU_MIPSR2_IRQ_EI 1806 select MIPS_MT 1807 help 1808 Includes a loader for loading an elf relocatable object 1809 onto another VPE and running it. 1810 1811config MIPS_MT_SMTC_IM_BACKSTOP 1812 bool "Use per-TC register bits as backstop for inhibited IM bits" 1813 depends on MIPS_MT_SMTC 1814 default n 1815 help 1816 To support multiple TC microthreads acting as "CPUs" within 1817 a VPE, VPE-wide interrupt mask bits must be specially manipulated 1818 during interrupt handling. To support legacy drivers and interrupt 1819 controller management code, SMTC has a "backstop" to track and 1820 if necessary restore the interrupt mask. This has some performance 1821 impact on interrupt service overhead. 1822 1823config MIPS_MT_SMTC_IRQAFF 1824 bool "Support IRQ affinity API" 1825 depends on MIPS_MT_SMTC 1826 default n 1827 help 1828 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.) 1829 for SMTC Linux kernel. Requires platform support, of which 1830 an example can be found in the MIPS kernel i8259 and Malta 1831 platform code. Adds some overhead to interrupt dispatch, and 1832 should be used only if you know what you are doing. 1833 1834config MIPS_VPE_LOADER_TOM 1835 bool "Load VPE program into memory hidden from linux" 1836 depends on MIPS_VPE_LOADER 1837 default y 1838 help 1839 The loader can use memory that is present but has been hidden from 1840 Linux using the kernel command line option "mem=xxMB". It's up to 1841 you to ensure the amount you put in the option and the space your 1842 program requires is less or equal to the amount physically present. 1843 1844# this should possibly be in drivers/char, but it is rather cpu related. Hmmm 1845config MIPS_VPE_APSP_API 1846 bool "Enable support for AP/SP API (RTLX)" 1847 depends on MIPS_VPE_LOADER 1848 help 1849 1850config MIPS_APSP_KSPD 1851 bool "Enable KSPD" 1852 depends on MIPS_VPE_APSP_API 1853 default y 1854 help 1855 KSPD is a kernel daemon that accepts syscall requests from the SP 1856 side, actions them and returns the results. It also handles the 1857 "exit" syscall notifying other kernel modules the SP program is 1858 exiting. You probably want to say yes here. 1859 1860config MIPS_CMP 1861 bool "MIPS CMP framework support" 1862 depends on SYS_SUPPORTS_MIPS_CMP 1863 select CSRC_GIC if HOTPLUG_CPU 1864 select SYS_SUPPORTS_SMP 1865 select SYS_SUPPORTS_SCHED_SMT if SMP 1866 select WEAK_ORDERING 1867 default n 1868 help 1869 This is a placeholder option for the GCMP work. It will need to 1870 be handled differently... 1871 1872config SB1_PASS_1_WORKAROUNDS 1873 bool 1874 depends on CPU_SB1_PASS_1 1875 default y 1876 1877config SB1_PASS_2_WORKAROUNDS 1878 bool 1879 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 1880 default y 1881 1882config SB1_PASS_2_1_WORKAROUNDS 1883 bool 1884 depends on CPU_SB1 && CPU_SB1_PASS_2 1885 default y 1886 1887config CPU_HAS_SMARTMIPS 1888 depends on SYS_SUPPORTS_SMARTMIPS 1889 bool "Support for the SmartMIPS ASE" 1890 help 1891 SmartMIPS is a extension of the MIPS32 architecture aimed at 1892 increased security at both hardware and software level for 1893 smartcards. Enabling this option will allow proper use of the 1894 SmartMIPS instructions by Linux applications. However a kernel with 1895 this option will not work on a MIPS core without SmartMIPS core. If 1896 you don't know you probably don't have SmartMIPS and should say N 1897 here. 1898 1899config CPU_MICROMIPS 1900 depends on SYS_SUPPORTS_MICROMIPS 1901 bool "Build kernel using microMIPS ISA" 1902 help 1903 When this option is enabled the kernel will be built using the 1904 microMIPS ISA 1905 1906config CPU_HAS_WB 1907 bool 1908 1909# 1910# Vectored interrupt mode is an R2 feature 1911# 1912config CPU_MIPSR2_IRQ_VI 1913 bool 1914 1915# 1916# Extended interrupt mode is an R2 feature 1917# 1918config CPU_MIPSR2_IRQ_EI 1919 bool 1920 1921config CPU_HAS_SYNC 1922 bool 1923 depends on !CPU_R3000 1924 default y 1925 1926config GENERIC_CLOCKEVENTS_BROADCAST 1927 bool 1928 1929# 1930# CPU non-features 1931# 1932config CPU_DADDI_WORKAROUNDS 1933 bool 1934 1935config CPU_R4000_WORKAROUNDS 1936 bool 1937 select CPU_R4400_WORKAROUNDS 1938 1939config CPU_R4400_WORKAROUNDS 1940 bool 1941 1942# 1943# Use the generic interrupt handling code in kernel/irq/: 1944# 1945config GENERIC_HARDIRQS 1946 bool 1947 default y 1948 1949config GENERIC_IRQ_PROBE 1950 bool 1951 default y 1952 1953config IRQ_PER_CPU 1954 bool 1955 1956# 1957# - Highmem only makes sense for the 32-bit kernel. 1958# - The current highmem code will only work properly on physically indexed 1959# caches such as R3000, SB1, R7000 or those that look like they're virtually 1960# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 1961# moment we protect the user and offer the highmem option only on machines 1962# where it's known to be safe. This will not offer highmem on a few systems 1963# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 1964# indexed CPUs but we're playing safe. 1965# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 1966# know they might have memory configurations that could make use of highmem 1967# support. 1968# 1969config HIGHMEM 1970 bool "High Memory Support" 1971 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM 1972 1973config CPU_SUPPORTS_HIGHMEM 1974 bool 1975 1976config SYS_SUPPORTS_HIGHMEM 1977 bool 1978 1979config SYS_SUPPORTS_SMARTMIPS 1980 bool 1981 1982config SYS_SUPPORTS_MICROMIPS 1983 bool 1984 1985config ARCH_FLATMEM_ENABLE 1986 def_bool y 1987 depends on !NUMA && !CPU_LOONGSON2 1988 1989config ARCH_DISCONTIGMEM_ENABLE 1990 bool 1991 default y if SGI_IP27 1992 help 1993 Say Y to support efficient handling of discontiguous physical memory, 1994 for architectures which are either NUMA (Non-Uniform Memory Access) 1995 or have huge holes in the physical address space for other reasons. 1996 See <file:Documentation/vm/numa> for more. 1997 1998config ARCH_POPULATES_NODE_MAP 1999 def_bool y 2000 2001config ARCH_SPARSEMEM_ENABLE 2002 bool 2003 select SPARSEMEM_STATIC 2004 2005config NUMA 2006 bool "NUMA Support" 2007 depends on SYS_SUPPORTS_NUMA 2008 help 2009 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2010 Access). This option improves performance on systems with more 2011 than two nodes; on two node systems it is generally better to 2012 leave it disabled; on single node systems disable this option 2013 disabled. 2014 2015config SYS_SUPPORTS_NUMA 2016 bool 2017 2018config NODES_SHIFT 2019 int 2020 default "6" 2021 depends on NEED_MULTIPLE_NODES 2022 2023source "mm/Kconfig" 2024 2025config SMP 2026 bool "Multi-Processing support" 2027 depends on SYS_SUPPORTS_SMP 2028 select IRQ_PER_CPU 2029 select USE_GENERIC_SMP_HELPERS 2030 help 2031 This enables support for systems with more than one CPU. If you have 2032 a system with only one CPU, like most personal computers, say N. If 2033 you have a system with more than one CPU, say Y. 2034 2035 If you say N here, the kernel will run on single and multiprocessor 2036 machines, but will use only one CPU of a multiprocessor machine. If 2037 you say Y here, the kernel will run on many, but not all, 2038 singleprocessor machines. On a singleprocessor machine, the kernel 2039 will run faster if you say N here. 2040 2041 People using multiprocessor machines who say Y here should also say 2042 Y to "Enhanced Real Time Clock Support", below. 2043 2044 See also the SMP-HOWTO available at 2045 <http://www.tldp.org/docs.html#howto>. 2046 2047 If you don't know what to do here, say N. 2048 2049config SMP_UP 2050 bool 2051 2052config SYS_SUPPORTS_MIPS_CMP 2053 bool 2054 2055config SYS_SUPPORTS_SMP 2056 bool 2057 2058config NR_CPUS_DEFAULT_1 2059 bool 2060 2061config NR_CPUS_DEFAULT_2 2062 bool 2063 2064config NR_CPUS_DEFAULT_4 2065 bool 2066 2067config NR_CPUS_DEFAULT_8 2068 bool 2069 2070config NR_CPUS_DEFAULT_16 2071 bool 2072 2073config NR_CPUS_DEFAULT_32 2074 bool 2075 2076config NR_CPUS_DEFAULT_64 2077 bool 2078 2079config NR_CPUS 2080 int "Maximum number of CPUs (2-64)" 2081 range 1 64 if NR_CPUS_DEFAULT_1 2082 depends on SMP 2083 default "1" if NR_CPUS_DEFAULT_1 2084 default "2" if NR_CPUS_DEFAULT_2 2085 default "4" if NR_CPUS_DEFAULT_4 2086 default "8" if NR_CPUS_DEFAULT_8 2087 default "16" if NR_CPUS_DEFAULT_16 2088 default "32" if NR_CPUS_DEFAULT_32 2089 default "64" if NR_CPUS_DEFAULT_64 2090 help 2091 This allows you to specify the maximum number of CPUs which this 2092 kernel will support. The maximum supported value is 32 for 32-bit 2093 kernel and 64 for 64-bit kernels; the minimum value which makes 2094 sense is 1 for Qemu (useful only for kernel debugging purposes) 2095 and 2 for all others. 2096 2097 This is purely to save memory - each supported CPU adds 2098 approximately eight kilobytes to the kernel image. For best 2099 performance should round up your number of processors to the next 2100 power of two. 2101 2102source "kernel/time/Kconfig" 2103 2104# 2105# Timer Interrupt Frequency Configuration 2106# 2107 2108choice 2109 prompt "Timer frequency" 2110 default HZ_250 2111 help 2112 Allows the configuration of the timer frequency. 2113 2114 config HZ_48 2115 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 2116 2117 config HZ_100 2118 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 2119 2120 config HZ_128 2121 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 2122 2123 config HZ_250 2124 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 2125 2126 config HZ_256 2127 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 2128 2129 config HZ_1000 2130 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 2131 2132 config HZ_1024 2133 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 2134 2135endchoice 2136 2137config SYS_SUPPORTS_48HZ 2138 bool 2139 2140config SYS_SUPPORTS_100HZ 2141 bool 2142 2143config SYS_SUPPORTS_128HZ 2144 bool 2145 2146config SYS_SUPPORTS_250HZ 2147 bool 2148 2149config SYS_SUPPORTS_256HZ 2150 bool 2151 2152config SYS_SUPPORTS_1000HZ 2153 bool 2154 2155config SYS_SUPPORTS_1024HZ 2156 bool 2157 2158config SYS_SUPPORTS_ARBIT_HZ 2159 bool 2160 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ 2161 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ 2162 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ 2163 !SYS_SUPPORTS_1024HZ 2164 2165config HZ 2166 int 2167 default 48 if HZ_48 2168 default 100 if HZ_100 2169 default 128 if HZ_128 2170 default 250 if HZ_250 2171 default 256 if HZ_256 2172 default 1000 if HZ_1000 2173 default 1024 if HZ_1024 2174 2175source "kernel/Kconfig.preempt" 2176 2177config KEXEC 2178 bool "Kexec system call (EXPERIMENTAL)" 2179 depends on EXPERIMENTAL 2180 help 2181 kexec is a system call that implements the ability to shutdown your 2182 current kernel, and to start another kernel. It is like a reboot 2183 but it is independent of the system firmware. And like a reboot 2184 you can start any kernel with it, not just Linux. 2185 2186 The name comes from the similarity to the exec system call. 2187 2188 It is an ongoing process to be certain the hardware in a machine 2189 is properly shutdown, so do not be surprised if this code does not 2190 initially work for you. It may help to enable device hotplugging 2191 support. As of this writing the exact hardware interface is 2192 strongly in flux, so no good recommendation can be made. 2193 2194config SECCOMP 2195 bool "Enable seccomp to safely compute untrusted bytecode" 2196 depends on PROC_FS 2197 default y 2198 help 2199 This kernel feature is useful for number crunching applications 2200 that may need to compute untrusted bytecode during their 2201 execution. By using pipes or other transports made available to 2202 the process as file descriptors supporting the read/write 2203 syscalls, it's possible to isolate those applications in 2204 their own address space using seccomp. Once seccomp is 2205 enabled via /proc/<pid>/seccomp, it cannot be disabled 2206 and the task is only allowed to execute a few safe syscalls 2207 defined by each seccomp mode. 2208 2209 If unsure, say Y. Only embedded should say N here. 2210 2211endmenu 2212 2213config LOCKDEP_SUPPORT 2214 bool 2215 default y 2216 2217config STACKTRACE_SUPPORT 2218 bool 2219 default y 2220 2221source "init/Kconfig" 2222 2223source "kernel/Kconfig.freezer" 2224 2225menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2226 2227config HW_HAS_EISA 2228 bool 2229config HW_HAS_PCI 2230 bool 2231 2232config PCI 2233 bool "Support for PCI controller" 2234 depends on HW_HAS_PCI 2235 select PCI_DOMAINS 2236 help 2237 Find out whether you have a PCI motherboard. PCI is the name of a 2238 bus system, i.e. the way the CPU talks to the other stuff inside 2239 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2240 say Y, otherwise N. 2241 2242config PCI_DOMAINS 2243 bool 2244 2245source "drivers/pci/Kconfig" 2246 2247# 2248# ISA support is now enabled via select. Too many systems still have the one 2249# or other ISA chip on the board that users don't know about so don't expect 2250# users to choose the right thing ... 2251# 2252config ISA 2253 bool 2254 2255config EISA 2256 bool "EISA support" 2257 depends on HW_HAS_EISA 2258 select ISA 2259 select GENERIC_ISA_DMA 2260 ---help--- 2261 The Extended Industry Standard Architecture (EISA) bus was 2262 developed as an open alternative to the IBM MicroChannel bus. 2263 2264 The EISA bus provided some of the features of the IBM MicroChannel 2265 bus while maintaining backward compatibility with cards made for 2266 the older ISA bus. The EISA bus saw limited use between 1988 and 2267 1995 when it was made obsolete by the PCI bus. 2268 2269 Say Y here if you are building a kernel for an EISA-based machine. 2270 2271 Otherwise, say N. 2272 2273source "drivers/eisa/Kconfig" 2274 2275config TC 2276 bool "TURBOchannel support" 2277 depends on MACH_DECSTATION 2278 help 2279 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 2280 processors. Documentation on writing device drivers for TurboChannel 2281 is available at: 2282 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>. 2283 2284#config ACCESSBUS 2285# bool "Access.Bus support" 2286# depends on TC 2287 2288config MMU 2289 bool 2290 default y 2291 2292config I8253 2293 bool 2294 select MIPS_EXTERNAL_TIMER 2295 2296config ZONE_DMA32 2297 bool 2298 2299source "drivers/pcmcia/Kconfig" 2300 2301source "drivers/pci/hotplug/Kconfig" 2302 2303endmenu 2304 2305menu "Executable file formats" 2306 2307source "fs/Kconfig.binfmt" 2308 2309config TRAD_SIGNALS 2310 bool 2311 2312config MIPS32_COMPAT 2313 bool "Kernel support for Linux/MIPS 32-bit binary compatibility" 2314 depends on 64BIT 2315 default y if CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 2316 help 2317 Select this option if you want Linux/MIPS 32-bit binary 2318 compatibility. Since all software available for Linux/MIPS is 2319 currently 32-bit you should say Y here. 2320 2321config COMPAT 2322 bool 2323 depends on MIPS32_COMPAT 2324 default y 2325 2326config SYSVIPC_COMPAT 2327 bool 2328 depends on COMPAT && SYSVIPC 2329 default y 2330 2331config MIPS32_O32 2332 bool "Kernel support for o32 binaries" 2333 depends on MIPS32_COMPAT 2334 default y if CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 2335 help 2336 Select this option if you want to run o32 binaries. These are pure 2337 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2338 existing binaries are in this format. 2339 2340 If unsure, say Y. 2341 2342config MIPS32_N32 2343 bool "Kernel support for n32 binaries" 2344 depends on MIPS32_COMPAT 2345 help 2346 Select this option if you want to run n32 binaries. These are 2347 64-bit binaries using 32-bit quantities for addressing and certain 2348 data that would normally be 64-bit. They are used in special 2349 cases. 2350 2351 If unsure, say N. 2352 2353comment "64bit kernel, but support of 32bit applications is disabled!" 2354 depends on 64BIT && !MIPS32_O32 && !MIPS32_N32 2355 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 2356 2357config BINFMT_ELF32 2358 bool 2359 default y if MIPS32_O32 || MIPS32_N32 2360 2361endmenu 2362 2363menu "Power management options" 2364 2365config ARCH_HIBERNATION_POSSIBLE 2366 def_bool y 2367 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2368 2369config ARCH_SUSPEND_POSSIBLE 2370 def_bool y 2371 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2372 2373source "kernel/power/Kconfig" 2374 2375endmenu 2376 2377source "arch/mips/kernel/cpufreq/Kconfig" 2378 2379source "net/Kconfig" 2380 2381source "drivers/Kconfig" 2382 2383source "fs/Kconfig" 2384 2385source "arch/mips/Kconfig.debug" 2386 2387source "security/Kconfig" 2388 2389source "crypto/Kconfig" 2390 2391source "lib/Kconfig" 2392