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