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