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