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