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 if CPU_SUPPORTS_HUGEPAGES && 64BIT 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_BONITO64 308 select MIPS_CPU_SCACHE 309 select PCI_GT64XXX_PCI0 310 select MIPS_MSC 311 select SWAP_IO_SPACE 312 select SYS_HAS_CPU_MIPS32_R1 313 select SYS_HAS_CPU_MIPS32_R2 314 select SYS_HAS_CPU_MIPS64_R1 315 select SYS_HAS_CPU_MIPS64_R2 316 select SYS_HAS_CPU_NEVADA 317 select SYS_HAS_CPU_RM7000 318 select SYS_HAS_EARLY_PRINTK 319 select SYS_SUPPORTS_32BIT_KERNEL 320 select SYS_SUPPORTS_64BIT_KERNEL 321 select SYS_SUPPORTS_BIG_ENDIAN 322 select SYS_SUPPORTS_LITTLE_ENDIAN 323 select SYS_SUPPORTS_MIPS_CMP 324 select SYS_SUPPORTS_MULTITHREADING 325 select SYS_SUPPORTS_SMARTMIPS 326 select SYS_SUPPORTS_ZBOOT 327 help 328 This enables support for the MIPS Technologies Malta evaluation 329 board. 330 331config MIPS_SEAD3 332 bool "MIPS SEAD3 board" 333 select BOOT_ELF32 334 select BOOT_RAW 335 select CEVT_R4K 336 select CSRC_R4K 337 select CSRC_GIC 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_CPU_SCACHE 344 select MIPS_MSC 345 select SYS_HAS_CPU_MIPS32_R1 346 select SYS_HAS_CPU_MIPS32_R2 347 select SYS_HAS_CPU_MIPS64_R1 348 select SYS_HAS_EARLY_PRINTK 349 select SYS_SUPPORTS_32BIT_KERNEL 350 select SYS_SUPPORTS_64BIT_KERNEL 351 select SYS_SUPPORTS_BIG_ENDIAN 352 select SYS_SUPPORTS_LITTLE_ENDIAN 353 select SYS_SUPPORTS_SMARTMIPS 354 select SYS_SUPPORTS_MICROMIPS 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 select USB_EHCI_BIG_ENDIAN_MMIO 406 select USB_EHCI_BIG_ENDIAN_DESC 407 help 408 This adds support for the PMC-Sierra family of Multi-Service 409 Processor System-On-A-Chips. These parts include a number 410 of integrated peripherals, interfaces and DSPs in addition to 411 a variety of MIPS cores. 412 413config POWERTV 414 bool "Cisco PowerTV" 415 select BOOT_ELF32 416 select CEVT_R4K 417 select CPU_MIPSR2_IRQ_VI 418 select CPU_MIPSR2_IRQ_EI 419 select CSRC_POWERTV 420 select DMA_NONCOHERENT 421 select HW_HAS_PCI 422 select SYS_HAS_EARLY_PRINTK 423 select SYS_HAS_CPU_MIPS32_R2 424 select SYS_SUPPORTS_32BIT_KERNEL 425 select SYS_SUPPORTS_BIG_ENDIAN 426 select SYS_SUPPORTS_HIGHMEM 427 select USB_OHCI_LITTLE_ENDIAN 428 help 429 This enables support for the Cisco PowerTV Platform. 430 431config RALINK 432 bool "Ralink based machines" 433 select CEVT_R4K 434 select CSRC_R4K 435 select BOOT_RAW 436 select DMA_NONCOHERENT 437 select IRQ_CPU 438 select USE_OF 439 select SYS_HAS_CPU_MIPS32_R1 440 select SYS_HAS_CPU_MIPS32_R2 441 select SYS_SUPPORTS_32BIT_KERNEL 442 select SYS_SUPPORTS_LITTLE_ENDIAN 443 select SYS_HAS_EARLY_PRINTK 444 select HAVE_MACH_CLKDEV 445 select CLKDEV_LOOKUP 446 447config SGI_IP22 448 bool "SGI IP22 (Indy/Indigo2)" 449 select FW_ARC 450 select FW_ARC32 451 select BOOT_ELF32 452 select CEVT_R4K 453 select CSRC_R4K 454 select DEFAULT_SGI_PARTITION 455 select DMA_NONCOHERENT 456 select HW_HAS_EISA 457 select I8253 458 select I8259 459 select IP22_CPU_SCACHE 460 select IRQ_CPU 461 select GENERIC_ISA_DMA_SUPPORT_BROKEN 462 select SGI_HAS_I8042 463 select SGI_HAS_INDYDOG 464 select SGI_HAS_HAL2 465 select SGI_HAS_SEEQ 466 select SGI_HAS_WD93 467 select SGI_HAS_ZILOG 468 select SWAP_IO_SPACE 469 select SYS_HAS_CPU_R4X00 470 select SYS_HAS_CPU_R5000 471 # 472 # Disable EARLY_PRINTK for now since it leads to overwritten prom 473 # memory during early boot on some machines. 474 # 475 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 476 # for a more details discussion 477 # 478 # select SYS_HAS_EARLY_PRINTK 479 select SYS_SUPPORTS_32BIT_KERNEL 480 select SYS_SUPPORTS_64BIT_KERNEL 481 select SYS_SUPPORTS_BIG_ENDIAN 482 help 483 This are the SGI Indy, Challenge S and Indigo2, as well as certain 484 OEM variants like the Tandem CMN B006S. To compile a Linux kernel 485 that runs on these, say Y here. 486 487config SGI_IP27 488 bool "SGI IP27 (Origin200/2000)" 489 select FW_ARC 490 select FW_ARC64 491 select BOOT_ELF64 492 select DEFAULT_SGI_PARTITION 493 select DMA_COHERENT 494 select SYS_HAS_EARLY_PRINTK 495 select HW_HAS_PCI 496 select NR_CPUS_DEFAULT_64 497 select SYS_HAS_CPU_R10000 498 select SYS_SUPPORTS_64BIT_KERNEL 499 select SYS_SUPPORTS_BIG_ENDIAN 500 select SYS_SUPPORTS_NUMA 501 select SYS_SUPPORTS_SMP 502 help 503 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics 504 workstations. To compile a Linux kernel that runs on these, say Y 505 here. 506 507config SGI_IP28 508 bool "SGI IP28 (Indigo2 R10k)" 509 select FW_ARC 510 select FW_ARC64 511 select BOOT_ELF64 512 select CEVT_R4K 513 select CSRC_R4K 514 select DEFAULT_SGI_PARTITION 515 select DMA_NONCOHERENT 516 select GENERIC_ISA_DMA_SUPPORT_BROKEN 517 select IRQ_CPU 518 select HW_HAS_EISA 519 select I8253 520 select I8259 521 select SGI_HAS_I8042 522 select SGI_HAS_INDYDOG 523 select SGI_HAS_HAL2 524 select SGI_HAS_SEEQ 525 select SGI_HAS_WD93 526 select SGI_HAS_ZILOG 527 select SWAP_IO_SPACE 528 select SYS_HAS_CPU_R10000 529 # 530 # Disable EARLY_PRINTK for now since it leads to overwritten prom 531 # memory during early boot on some machines. 532 # 533 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 534 # for a more details discussion 535 # 536 # select SYS_HAS_EARLY_PRINTK 537 select SYS_SUPPORTS_64BIT_KERNEL 538 select SYS_SUPPORTS_BIG_ENDIAN 539 help 540 This is the SGI Indigo2 with R10000 processor. To compile a Linux 541 kernel that runs on these, say Y here. 542 543config SGI_IP32 544 bool "SGI IP32 (O2)" 545 select FW_ARC 546 select FW_ARC32 547 select BOOT_ELF32 548 select CEVT_R4K 549 select CSRC_R4K 550 select DMA_NONCOHERENT 551 select HW_HAS_PCI 552 select IRQ_CPU 553 select R5000_CPU_SCACHE 554 select RM7000_CPU_SCACHE 555 select SYS_HAS_CPU_R5000 556 select SYS_HAS_CPU_R10000 if BROKEN 557 select SYS_HAS_CPU_RM7000 558 select SYS_HAS_CPU_NEVADA 559 select SYS_SUPPORTS_64BIT_KERNEL 560 select SYS_SUPPORTS_BIG_ENDIAN 561 help 562 If you want this kernel to run on SGI O2 workstation, say Y here. 563 564config SIBYTE_CRHINE 565 bool "Sibyte BCM91120C-CRhine" 566 select BOOT_ELF32 567 select DMA_COHERENT 568 select SIBYTE_BCM1120 569 select SWAP_IO_SPACE 570 select SYS_HAS_CPU_SB1 571 select SYS_SUPPORTS_BIG_ENDIAN 572 select SYS_SUPPORTS_LITTLE_ENDIAN 573 574config SIBYTE_CARMEL 575 bool "Sibyte BCM91120x-Carmel" 576 select BOOT_ELF32 577 select DMA_COHERENT 578 select SIBYTE_BCM1120 579 select SWAP_IO_SPACE 580 select SYS_HAS_CPU_SB1 581 select SYS_SUPPORTS_BIG_ENDIAN 582 select SYS_SUPPORTS_LITTLE_ENDIAN 583 584config SIBYTE_CRHONE 585 bool "Sibyte BCM91125C-CRhone" 586 select BOOT_ELF32 587 select DMA_COHERENT 588 select SIBYTE_BCM1125 589 select SWAP_IO_SPACE 590 select SYS_HAS_CPU_SB1 591 select SYS_SUPPORTS_BIG_ENDIAN 592 select SYS_SUPPORTS_HIGHMEM 593 select SYS_SUPPORTS_LITTLE_ENDIAN 594 595config SIBYTE_RHONE 596 bool "Sibyte BCM91125E-Rhone" 597 select BOOT_ELF32 598 select DMA_COHERENT 599 select SIBYTE_BCM1125H 600 select SWAP_IO_SPACE 601 select SYS_HAS_CPU_SB1 602 select SYS_SUPPORTS_BIG_ENDIAN 603 select SYS_SUPPORTS_LITTLE_ENDIAN 604 605config SIBYTE_SWARM 606 bool "Sibyte BCM91250A-SWARM" 607 select BOOT_ELF32 608 select DMA_COHERENT 609 select HAVE_PATA_PLATFORM 610 select NR_CPUS_DEFAULT_2 611 select SIBYTE_SB1250 612 select SWAP_IO_SPACE 613 select SYS_HAS_CPU_SB1 614 select SYS_SUPPORTS_BIG_ENDIAN 615 select SYS_SUPPORTS_HIGHMEM 616 select SYS_SUPPORTS_LITTLE_ENDIAN 617 select ZONE_DMA32 if 64BIT 618 619config SIBYTE_LITTLESUR 620 bool "Sibyte BCM91250C2-LittleSur" 621 select BOOT_ELF32 622 select DMA_COHERENT 623 select HAVE_PATA_PLATFORM 624 select NR_CPUS_DEFAULT_2 625 select SIBYTE_SB1250 626 select SWAP_IO_SPACE 627 select SYS_HAS_CPU_SB1 628 select SYS_SUPPORTS_BIG_ENDIAN 629 select SYS_SUPPORTS_HIGHMEM 630 select SYS_SUPPORTS_LITTLE_ENDIAN 631 632config SIBYTE_SENTOSA 633 bool "Sibyte BCM91250E-Sentosa" 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 FW_ARC if CPU_LITTLE_ENDIAN 659 select FW_ARC32 if CPU_LITTLE_ENDIAN 660 select FW_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 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 EDAC_SUPPORT 761 select SYS_SUPPORTS_HOTPLUG_CPU 762 select SYS_HAS_EARLY_PRINTK 763 select SYS_HAS_CPU_CAVIUM_OCTEON 764 select SWAP_IO_SPACE 765 select HW_HAS_PCI 766 select ARCH_SUPPORTS_MSI 767 select ZONE_DMA32 768 select USB_ARCH_HAS_OHCI 769 select USB_ARCH_HAS_EHCI 770 select HOLES_IN_ZONE 771 help 772 This option supports all of the Octeon reference boards from Cavium 773 Networks. It builds a kernel that dynamically determines the Octeon 774 CPU type and supports all known board reference implementations. 775 Some of the supported boards are: 776 EBT3000 777 EBH3000 778 EBH3100 779 Thunder 780 Kodama 781 Hikari 782 Say Y here for most Octeon reference boards. 783 784config NLM_XLR_BOARD 785 bool "Netlogic XLR/XLS based systems" 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_DMA32 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 select BOOT_ELF32 815 select NLM_COMMON 816 select SYS_HAS_CPU_XLP 817 select SYS_SUPPORTS_SMP 818 select HW_HAS_PCI 819 select SYS_SUPPORTS_32BIT_KERNEL 820 select SYS_SUPPORTS_64BIT_KERNEL 821 select 64BIT_PHYS_ADDR 822 select SYS_SUPPORTS_BIG_ENDIAN 823 select SYS_SUPPORTS_LITTLE_ENDIAN 824 select SYS_SUPPORTS_HIGHMEM 825 select DMA_COHERENT 826 select NR_CPUS_DEFAULT_32 827 select CEVT_R4K 828 select CSRC_R4K 829 select IRQ_CPU 830 select ZONE_DMA32 if 64BIT 831 select SYNC_R4K 832 select SYS_HAS_EARLY_PRINTK 833 select USE_OF 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/pmcs-msp71xx/Kconfig" 849source "arch/mips/powertv/Kconfig" 850source "arch/mips/ralink/Kconfig" 851source "arch/mips/sgi-ip27/Kconfig" 852source "arch/mips/sibyte/Kconfig" 853source "arch/mips/txx9/Kconfig" 854source "arch/mips/vr41xx/Kconfig" 855source "arch/mips/cavium-octeon/Kconfig" 856source "arch/mips/loongson/Kconfig" 857source "arch/mips/loongson1/Kconfig" 858source "arch/mips/netlogic/Kconfig" 859 860endmenu 861 862config RWSEM_GENERIC_SPINLOCK 863 bool 864 default y 865 866config RWSEM_XCHGADD_ALGORITHM 867 bool 868 869config ARCH_HAS_ILOG2_U32 870 bool 871 default n 872 873config ARCH_HAS_ILOG2_U64 874 bool 875 default n 876 877config GENERIC_HWEIGHT 878 bool 879 default y 880 881config GENERIC_CALIBRATE_DELAY 882 bool 883 default y 884 885config SCHED_OMIT_FRAME_POINTER 886 bool 887 default y 888 889# 890# Select some configuration options automatically based on user selections. 891# 892config FW_ARC 893 bool 894 895config ARCH_MAY_HAVE_PC_FDC 896 bool 897 898config BOOT_RAW 899 bool 900 901config CEVT_BCM1480 902 bool 903 904config CEVT_DS1287 905 bool 906 907config CEVT_GT641XX 908 bool 909 910config CEVT_R4K 911 bool 912 913config CEVT_GIC 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 932 bool 933 934config CSRC_GIC 935 bool 936 937config CSRC_SB1250 938 bool 939 940config GPIO_TXX9 941 select ARCH_REQUIRE_GPIOLIB 942 bool 943 944config FW_CFE 945 bool 946 947config ARCH_DMA_ADDR_T_64BIT 948 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT 949 950config DMA_COHERENT 951 bool 952 953config DMA_NONCOHERENT 954 bool 955 select NEED_DMA_MAP_STATE 956 957config NEED_DMA_MAP_STATE 958 bool 959 960config SYS_HAS_EARLY_PRINTK 961 bool 962 963config HOTPLUG_CPU 964 bool "Support for hot-pluggable CPUs" 965 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU 966 help 967 Say Y here to allow turning CPUs off and on. CPUs can be 968 controlled through /sys/devices/system/cpu. 969 (Note: power management support will enable this option 970 automatically on SMP systems. ) 971 Say N if you want to disable CPU hotplug. 972 973config SYS_SUPPORTS_HOTPLUG_CPU 974 bool 975 976config I8259 977 bool 978 979config MIPS_BONITO64 980 bool 981 982config MIPS_MSC 983 bool 984 985config MIPS_NILE4 986 bool 987 988config SYNC_R4K 989 bool 990 991config MIPS_MACHINE 992 def_bool n 993 994config NO_IOPORT 995 def_bool n 996 997config GENERIC_ISA_DMA 998 bool 999 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 1000 select ISA_DMA_API 1001 1002config GENERIC_ISA_DMA_SUPPORT_BROKEN 1003 bool 1004 select GENERIC_ISA_DMA 1005 1006config ISA_DMA_API 1007 bool 1008 1009config HOLES_IN_ZONE 1010 bool 1011 1012# 1013# Endianness selection. Sufficiently obscure so many users don't know what to 1014# answer,so we try hard to limit the available choices. Also the use of a 1015# choice statement should be more obvious to the user. 1016# 1017choice 1018 prompt "Endianness selection" 1019 help 1020 Some MIPS machines can be configured for either little or big endian 1021 byte order. These modes require different kernels and a different 1022 Linux distribution. In general there is one preferred byteorder for a 1023 particular system but some systems are just as commonly used in the 1024 one or the other endianness. 1025 1026config CPU_BIG_ENDIAN 1027 bool "Big endian" 1028 depends on SYS_SUPPORTS_BIG_ENDIAN 1029 1030config CPU_LITTLE_ENDIAN 1031 bool "Little endian" 1032 depends on SYS_SUPPORTS_LITTLE_ENDIAN 1033 1034endchoice 1035 1036config EXPORT_UASM 1037 bool 1038 1039config SYS_SUPPORTS_APM_EMULATION 1040 bool 1041 1042config SYS_SUPPORTS_BIG_ENDIAN 1043 bool 1044 1045config SYS_SUPPORTS_LITTLE_ENDIAN 1046 bool 1047 1048config SYS_SUPPORTS_HUGETLBFS 1049 bool 1050 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT 1051 default y 1052 1053config MIPS_HUGE_TLB_SUPPORT 1054 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE 1055 1056config IRQ_CPU 1057 bool 1058 1059config IRQ_CPU_RM7K 1060 bool 1061 1062config IRQ_MSP_SLP 1063 bool 1064 1065config IRQ_MSP_CIC 1066 bool 1067 1068config IRQ_TXX9 1069 bool 1070 1071config IRQ_GT641XX 1072 bool 1073 1074config IRQ_GIC 1075 bool 1076 1077config PCI_GT64XXX_PCI0 1078 bool 1079 1080config NO_EXCEPT_FILL 1081 bool 1082 1083config SOC_EMMA2RH 1084 bool 1085 select CEVT_R4K 1086 select CSRC_R4K 1087 select DMA_NONCOHERENT 1088 select IRQ_CPU 1089 select SWAP_IO_SPACE 1090 select SYS_HAS_CPU_R5500 1091 select SYS_SUPPORTS_32BIT_KERNEL 1092 select SYS_SUPPORTS_64BIT_KERNEL 1093 select SYS_SUPPORTS_BIG_ENDIAN 1094 1095config SOC_PNX833X 1096 bool 1097 select CEVT_R4K 1098 select CSRC_R4K 1099 select IRQ_CPU 1100 select DMA_NONCOHERENT 1101 select SYS_HAS_CPU_MIPS32_R2 1102 select SYS_SUPPORTS_32BIT_KERNEL 1103 select SYS_SUPPORTS_LITTLE_ENDIAN 1104 select SYS_SUPPORTS_BIG_ENDIAN 1105 select CPU_MIPSR2_IRQ_VI 1106 1107config SOC_PNX8335 1108 bool 1109 select SOC_PNX833X 1110 1111config SWAP_IO_SPACE 1112 bool 1113 1114config SGI_HAS_INDYDOG 1115 bool 1116 1117config SGI_HAS_HAL2 1118 bool 1119 1120config SGI_HAS_SEEQ 1121 bool 1122 1123config SGI_HAS_WD93 1124 bool 1125 1126config SGI_HAS_ZILOG 1127 bool 1128 1129config SGI_HAS_I8042 1130 bool 1131 1132config DEFAULT_SGI_PARTITION 1133 bool 1134 1135config FW_ARC32 1136 bool 1137 1138config FW_SNIPROM 1139 bool 1140 1141config BOOT_ELF32 1142 bool 1143 1144config MIPS_L1_CACHE_SHIFT 1145 int 1146 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL || SOC_RT288X 1147 default "6" if MIPS_CPU_SCACHE 1148 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON 1149 default "5" 1150 1151config HAVE_STD_PC_SERIAL_PORT 1152 bool 1153 1154config ARC_CONSOLE 1155 bool "ARC console support" 1156 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 1157 1158config ARC_MEMORY 1159 bool 1160 depends on MACH_JAZZ || SNI_RM || SGI_IP32 1161 default y 1162 1163config ARC_PROMLIB 1164 bool 1165 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 1166 default y 1167 1168config FW_ARC64 1169 bool 1170 1171config BOOT_ELF64 1172 bool 1173 1174menu "CPU selection" 1175 1176choice 1177 prompt "CPU type" 1178 default CPU_R4X00 1179 1180config CPU_LOONGSON2E 1181 bool "Loongson 2E" 1182 depends on SYS_HAS_CPU_LOONGSON2E 1183 select CPU_LOONGSON2 1184 help 1185 The Loongson 2E processor implements the MIPS III instruction set 1186 with many extensions. 1187 1188 It has an internal FPGA northbridge, which is compatible to 1189 bonito64. 1190 1191config CPU_LOONGSON2F 1192 bool "Loongson 2F" 1193 depends on SYS_HAS_CPU_LOONGSON2F 1194 select CPU_LOONGSON2 1195 select ARCH_REQUIRE_GPIOLIB 1196 help 1197 The Loongson 2F processor implements the MIPS III instruction set 1198 with many extensions. 1199 1200 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller 1201 have a similar programming interface with FPGA northbridge used in 1202 Loongson2E. 1203 1204config CPU_LOONGSON1B 1205 bool "Loongson 1B" 1206 depends on SYS_HAS_CPU_LOONGSON1B 1207 select CPU_LOONGSON1 1208 help 1209 The Loongson 1B is a 32-bit SoC, which implements the MIPS32 1210 release 2 instruction set. 1211 1212config CPU_MIPS32_R1 1213 bool "MIPS32 Release 1" 1214 depends on SYS_HAS_CPU_MIPS32_R1 1215 select CPU_HAS_PREFETCH 1216 select CPU_SUPPORTS_32BIT_KERNEL 1217 select CPU_SUPPORTS_HIGHMEM 1218 help 1219 Choose this option to build a kernel for release 1 or later of the 1220 MIPS32 architecture. Most modern embedded systems with a 32-bit 1221 MIPS processor are based on a MIPS32 processor. If you know the 1222 specific type of processor in your system, choose those that one 1223 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1224 Release 2 of the MIPS32 architecture is available since several 1225 years so chances are you even have a MIPS32 Release 2 processor 1226 in which case you should choose CPU_MIPS32_R2 instead for better 1227 performance. 1228 1229config CPU_MIPS32_R2 1230 bool "MIPS32 Release 2" 1231 depends on SYS_HAS_CPU_MIPS32_R2 1232 select CPU_HAS_PREFETCH 1233 select CPU_SUPPORTS_32BIT_KERNEL 1234 select CPU_SUPPORTS_HIGHMEM 1235 select HAVE_KVM 1236 help 1237 Choose this option to build a kernel for release 2 or later of the 1238 MIPS32 architecture. Most modern embedded systems with a 32-bit 1239 MIPS processor are based on a MIPS32 processor. If you know the 1240 specific type of processor in your system, choose those that one 1241 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1242 1243config CPU_MIPS64_R1 1244 bool "MIPS64 Release 1" 1245 depends on SYS_HAS_CPU_MIPS64_R1 1246 select CPU_HAS_PREFETCH 1247 select CPU_SUPPORTS_32BIT_KERNEL 1248 select CPU_SUPPORTS_64BIT_KERNEL 1249 select CPU_SUPPORTS_HIGHMEM 1250 select CPU_SUPPORTS_HUGEPAGES 1251 help 1252 Choose this option to build a kernel for release 1 or later of the 1253 MIPS64 architecture. Many modern embedded systems with a 64-bit 1254 MIPS processor are based on a MIPS64 processor. If you know the 1255 specific type of processor in your system, choose those that one 1256 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1257 Release 2 of the MIPS64 architecture is available since several 1258 years so chances are you even have a MIPS64 Release 2 processor 1259 in which case you should choose CPU_MIPS64_R2 instead for better 1260 performance. 1261 1262config CPU_MIPS64_R2 1263 bool "MIPS64 Release 2" 1264 depends on SYS_HAS_CPU_MIPS64_R2 1265 select CPU_HAS_PREFETCH 1266 select CPU_SUPPORTS_32BIT_KERNEL 1267 select CPU_SUPPORTS_64BIT_KERNEL 1268 select CPU_SUPPORTS_HIGHMEM 1269 select CPU_SUPPORTS_HUGEPAGES 1270 help 1271 Choose this option to build a kernel for release 2 or later of the 1272 MIPS64 architecture. Many modern embedded systems with a 64-bit 1273 MIPS processor are based on a MIPS64 processor. If you know the 1274 specific type of processor in your system, choose those that one 1275 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1276 1277config CPU_R3000 1278 bool "R3000" 1279 depends on SYS_HAS_CPU_R3000 1280 select CPU_HAS_WB 1281 select CPU_SUPPORTS_32BIT_KERNEL 1282 select CPU_SUPPORTS_HIGHMEM 1283 help 1284 Please make sure to pick the right CPU type. Linux/MIPS is not 1285 designed to be generic, i.e. Kernels compiled for R3000 CPUs will 1286 *not* work on R4000 machines and vice versa. However, since most 1287 of the supported machines have an R4000 (or similar) CPU, R4x00 1288 might be a safe bet. If the resulting kernel does not work, 1289 try to recompile with R3000. 1290 1291config CPU_TX39XX 1292 bool "R39XX" 1293 depends on SYS_HAS_CPU_TX39XX 1294 select CPU_SUPPORTS_32BIT_KERNEL 1295 1296config CPU_VR41XX 1297 bool "R41xx" 1298 depends on SYS_HAS_CPU_VR41XX 1299 select CPU_SUPPORTS_32BIT_KERNEL 1300 select CPU_SUPPORTS_64BIT_KERNEL 1301 help 1302 The options selects support for the NEC VR4100 series of processors. 1303 Only choose this option if you have one of these processors as a 1304 kernel built with this option will not run on any other type of 1305 processor or vice versa. 1306 1307config CPU_R4300 1308 bool "R4300" 1309 depends on SYS_HAS_CPU_R4300 1310 select CPU_SUPPORTS_32BIT_KERNEL 1311 select CPU_SUPPORTS_64BIT_KERNEL 1312 help 1313 MIPS Technologies R4300-series processors. 1314 1315config CPU_R4X00 1316 bool "R4x00" 1317 depends on SYS_HAS_CPU_R4X00 1318 select CPU_SUPPORTS_32BIT_KERNEL 1319 select CPU_SUPPORTS_64BIT_KERNEL 1320 select CPU_SUPPORTS_HUGEPAGES 1321 help 1322 MIPS Technologies R4000-series processors other than 4300, including 1323 the R4000, R4400, R4600, and 4700. 1324 1325config CPU_TX49XX 1326 bool "R49XX" 1327 depends on SYS_HAS_CPU_TX49XX 1328 select CPU_HAS_PREFETCH 1329 select CPU_SUPPORTS_32BIT_KERNEL 1330 select CPU_SUPPORTS_64BIT_KERNEL 1331 select CPU_SUPPORTS_HUGEPAGES 1332 1333config CPU_R5000 1334 bool "R5000" 1335 depends on SYS_HAS_CPU_R5000 1336 select CPU_SUPPORTS_32BIT_KERNEL 1337 select CPU_SUPPORTS_64BIT_KERNEL 1338 select CPU_SUPPORTS_HUGEPAGES 1339 help 1340 MIPS Technologies R5000-series processors other than the Nevada. 1341 1342config CPU_R5432 1343 bool "R5432" 1344 depends on SYS_HAS_CPU_R5432 1345 select CPU_SUPPORTS_32BIT_KERNEL 1346 select CPU_SUPPORTS_64BIT_KERNEL 1347 select CPU_SUPPORTS_HUGEPAGES 1348 1349config CPU_R5500 1350 bool "R5500" 1351 depends on SYS_HAS_CPU_R5500 1352 select CPU_SUPPORTS_32BIT_KERNEL 1353 select CPU_SUPPORTS_64BIT_KERNEL 1354 select CPU_SUPPORTS_HUGEPAGES 1355 help 1356 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1357 instruction set. 1358 1359config CPU_R6000 1360 bool "R6000" 1361 depends on SYS_HAS_CPU_R6000 1362 select CPU_SUPPORTS_32BIT_KERNEL 1363 help 1364 MIPS Technologies R6000 and R6000A series processors. Note these 1365 processors are extremely rare and the support for them is incomplete. 1366 1367config CPU_NEVADA 1368 bool "RM52xx" 1369 depends on SYS_HAS_CPU_NEVADA 1370 select CPU_SUPPORTS_32BIT_KERNEL 1371 select CPU_SUPPORTS_64BIT_KERNEL 1372 select CPU_SUPPORTS_HUGEPAGES 1373 help 1374 QED / PMC-Sierra RM52xx-series ("Nevada") processors. 1375 1376config CPU_R8000 1377 bool "R8000" 1378 depends on SYS_HAS_CPU_R8000 1379 select CPU_HAS_PREFETCH 1380 select CPU_SUPPORTS_64BIT_KERNEL 1381 help 1382 MIPS Technologies R8000 processors. Note these processors are 1383 uncommon and the support for them is incomplete. 1384 1385config CPU_R10000 1386 bool "R10000" 1387 depends on SYS_HAS_CPU_R10000 1388 select CPU_HAS_PREFETCH 1389 select CPU_SUPPORTS_32BIT_KERNEL 1390 select CPU_SUPPORTS_64BIT_KERNEL 1391 select CPU_SUPPORTS_HIGHMEM 1392 select CPU_SUPPORTS_HUGEPAGES 1393 help 1394 MIPS Technologies R10000-series processors. 1395 1396config CPU_RM7000 1397 bool "RM7000" 1398 depends on SYS_HAS_CPU_RM7000 1399 select CPU_HAS_PREFETCH 1400 select CPU_SUPPORTS_32BIT_KERNEL 1401 select CPU_SUPPORTS_64BIT_KERNEL 1402 select CPU_SUPPORTS_HIGHMEM 1403 select CPU_SUPPORTS_HUGEPAGES 1404 1405config CPU_SB1 1406 bool "SB1" 1407 depends on SYS_HAS_CPU_SB1 1408 select CPU_SUPPORTS_32BIT_KERNEL 1409 select CPU_SUPPORTS_64BIT_KERNEL 1410 select CPU_SUPPORTS_HIGHMEM 1411 select CPU_SUPPORTS_HUGEPAGES 1412 select WEAK_ORDERING 1413 1414config CPU_CAVIUM_OCTEON 1415 bool "Cavium Octeon processor" 1416 depends on SYS_HAS_CPU_CAVIUM_OCTEON 1417 select ARCH_SPARSEMEM_ENABLE 1418 select CPU_HAS_PREFETCH 1419 select CPU_SUPPORTS_64BIT_KERNEL 1420 select SYS_SUPPORTS_SMP 1421 select NR_CPUS_DEFAULT_16 1422 select WEAK_ORDERING 1423 select CPU_SUPPORTS_HIGHMEM 1424 select CPU_SUPPORTS_HUGEPAGES 1425 select LIBFDT 1426 select USE_OF 1427 select USB_EHCI_BIG_ENDIAN_MMIO 1428 help 1429 The Cavium Octeon processor is a highly integrated chip containing 1430 many ethernet hardware widgets for networking tasks. The processor 1431 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. 1432 Full details can be found at http://www.caviumnetworks.com. 1433 1434config CPU_BMIPS3300 1435 bool "BMIPS3300" 1436 depends on SYS_HAS_CPU_BMIPS3300 1437 select CPU_BMIPS 1438 help 1439 Broadcom BMIPS3300 processors. 1440 1441config CPU_BMIPS4350 1442 bool "BMIPS4350" 1443 depends on SYS_HAS_CPU_BMIPS4350 1444 select CPU_BMIPS 1445 select SYS_SUPPORTS_SMP 1446 select SYS_SUPPORTS_HOTPLUG_CPU 1447 help 1448 Broadcom BMIPS4350 ("VIPER") processors. 1449 1450config CPU_BMIPS4380 1451 bool "BMIPS4380" 1452 depends on SYS_HAS_CPU_BMIPS4380 1453 select CPU_BMIPS 1454 select SYS_SUPPORTS_SMP 1455 select SYS_SUPPORTS_HOTPLUG_CPU 1456 help 1457 Broadcom BMIPS4380 processors. 1458 1459config CPU_BMIPS5000 1460 bool "BMIPS5000" 1461 depends on SYS_HAS_CPU_BMIPS5000 1462 select CPU_BMIPS 1463 select CPU_SUPPORTS_HIGHMEM 1464 select MIPS_CPU_SCACHE 1465 select SYS_SUPPORTS_SMP 1466 select SYS_SUPPORTS_HOTPLUG_CPU 1467 help 1468 Broadcom BMIPS5000 processors. 1469 1470config CPU_XLR 1471 bool "Netlogic XLR SoC" 1472 depends on SYS_HAS_CPU_XLR 1473 select CPU_SUPPORTS_32BIT_KERNEL 1474 select CPU_SUPPORTS_64BIT_KERNEL 1475 select CPU_SUPPORTS_HIGHMEM 1476 select CPU_SUPPORTS_HUGEPAGES 1477 select WEAK_ORDERING 1478 select WEAK_REORDERING_BEYOND_LLSC 1479 help 1480 Netlogic Microsystems XLR/XLS processors. 1481 1482config CPU_XLP 1483 bool "Netlogic XLP SoC" 1484 depends on SYS_HAS_CPU_XLP 1485 select CPU_SUPPORTS_32BIT_KERNEL 1486 select CPU_SUPPORTS_64BIT_KERNEL 1487 select CPU_SUPPORTS_HIGHMEM 1488 select WEAK_ORDERING 1489 select WEAK_REORDERING_BEYOND_LLSC 1490 select CPU_HAS_PREFETCH 1491 select CPU_MIPSR2 1492 help 1493 Netlogic Microsystems XLP processors. 1494endchoice 1495 1496if CPU_LOONGSON2F 1497config CPU_NOP_WORKAROUNDS 1498 bool 1499 1500config CPU_JUMP_WORKAROUNDS 1501 bool 1502 1503config CPU_LOONGSON2F_WORKAROUNDS 1504 bool "Loongson 2F Workarounds" 1505 default y 1506 select CPU_NOP_WORKAROUNDS 1507 select CPU_JUMP_WORKAROUNDS 1508 help 1509 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 1510 require workarounds. Without workarounds the system may hang 1511 unexpectedly. For more information please refer to the gas 1512 -mfix-loongson2f-nop and -mfix-loongson2f-jump options. 1513 1514 Loongson 2F03 and later have fixed these issues and no workarounds 1515 are needed. The workarounds have no significant side effect on them 1516 but may decrease the performance of the system so this option should 1517 be disabled unless the kernel is intended to be run on 2F01 or 2F02 1518 systems. 1519 1520 If unsure, please say Y. 1521endif # CPU_LOONGSON2F 1522 1523config SYS_SUPPORTS_ZBOOT 1524 bool 1525 select HAVE_KERNEL_GZIP 1526 select HAVE_KERNEL_BZIP2 1527 select HAVE_KERNEL_LZMA 1528 select HAVE_KERNEL_LZO 1529 1530config SYS_SUPPORTS_ZBOOT_UART16550 1531 bool 1532 select SYS_SUPPORTS_ZBOOT 1533 1534config CPU_LOONGSON2 1535 bool 1536 select CPU_SUPPORTS_32BIT_KERNEL 1537 select CPU_SUPPORTS_64BIT_KERNEL 1538 select CPU_SUPPORTS_HIGHMEM 1539 select CPU_SUPPORTS_HUGEPAGES 1540 1541config CPU_LOONGSON1 1542 bool 1543 select CPU_MIPS32 1544 select CPU_MIPSR2 1545 select CPU_HAS_PREFETCH 1546 select CPU_SUPPORTS_32BIT_KERNEL 1547 select CPU_SUPPORTS_HIGHMEM 1548 1549config CPU_BMIPS 1550 bool 1551 select CPU_MIPS32 1552 select CPU_SUPPORTS_32BIT_KERNEL 1553 select DMA_NONCOHERENT 1554 select IRQ_CPU 1555 select SWAP_IO_SPACE 1556 select WEAK_ORDERING 1557 1558config SYS_HAS_CPU_LOONGSON2E 1559 bool 1560 1561config SYS_HAS_CPU_LOONGSON2F 1562 bool 1563 select CPU_SUPPORTS_CPUFREQ 1564 select CPU_SUPPORTS_ADDRWINCFG if 64BIT 1565 select CPU_SUPPORTS_UNCACHED_ACCELERATED 1566 1567config SYS_HAS_CPU_LOONGSON1B 1568 bool 1569 1570config SYS_HAS_CPU_MIPS32_R1 1571 bool 1572 1573config SYS_HAS_CPU_MIPS32_R2 1574 bool 1575 1576config SYS_HAS_CPU_MIPS64_R1 1577 bool 1578 1579config SYS_HAS_CPU_MIPS64_R2 1580 bool 1581 1582config SYS_HAS_CPU_R3000 1583 bool 1584 1585config SYS_HAS_CPU_TX39XX 1586 bool 1587 1588config SYS_HAS_CPU_VR41XX 1589 bool 1590 1591config SYS_HAS_CPU_R4300 1592 bool 1593 1594config SYS_HAS_CPU_R4X00 1595 bool 1596 1597config SYS_HAS_CPU_TX49XX 1598 bool 1599 1600config SYS_HAS_CPU_R5000 1601 bool 1602 1603config SYS_HAS_CPU_R5432 1604 bool 1605 1606config SYS_HAS_CPU_R5500 1607 bool 1608 1609config SYS_HAS_CPU_R6000 1610 bool 1611 1612config SYS_HAS_CPU_NEVADA 1613 bool 1614 1615config SYS_HAS_CPU_R8000 1616 bool 1617 1618config SYS_HAS_CPU_R10000 1619 bool 1620 1621config SYS_HAS_CPU_RM7000 1622 bool 1623 1624config SYS_HAS_CPU_SB1 1625 bool 1626 1627config SYS_HAS_CPU_CAVIUM_OCTEON 1628 bool 1629 1630config SYS_HAS_CPU_BMIPS3300 1631 bool 1632 1633config SYS_HAS_CPU_BMIPS4350 1634 bool 1635 1636config SYS_HAS_CPU_BMIPS4380 1637 bool 1638 1639config SYS_HAS_CPU_BMIPS5000 1640 bool 1641 1642config SYS_HAS_CPU_XLR 1643 bool 1644 1645config SYS_HAS_CPU_XLP 1646 bool 1647 1648# 1649# CPU may reorder R->R, R->W, W->R, W->W 1650# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1651# 1652config WEAK_ORDERING 1653 bool 1654 1655# 1656# CPU may reorder reads and writes beyond LL/SC 1657# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 1658# 1659config WEAK_REORDERING_BEYOND_LLSC 1660 bool 1661endmenu 1662 1663# 1664# These two indicate any level of the MIPS32 and MIPS64 architecture 1665# 1666config CPU_MIPS32 1667 bool 1668 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 1669 1670config CPU_MIPS64 1671 bool 1672 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 1673 1674# 1675# These two indicate the revision of the architecture, either Release 1 or Release 2 1676# 1677config CPU_MIPSR1 1678 bool 1679 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 1680 1681config CPU_MIPSR2 1682 bool 1683 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 1684 1685config SYS_SUPPORTS_32BIT_KERNEL 1686 bool 1687config SYS_SUPPORTS_64BIT_KERNEL 1688 bool 1689config CPU_SUPPORTS_32BIT_KERNEL 1690 bool 1691config CPU_SUPPORTS_64BIT_KERNEL 1692 bool 1693config CPU_SUPPORTS_CPUFREQ 1694 bool 1695config CPU_SUPPORTS_ADDRWINCFG 1696 bool 1697config CPU_SUPPORTS_HUGEPAGES 1698 bool 1699config CPU_SUPPORTS_UNCACHED_ACCELERATED 1700 bool 1701config MIPS_PGD_C0_CONTEXT 1702 bool 1703 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP 1704 1705# 1706# Set to y for ptrace access to watch registers. 1707# 1708config HARDWARE_WATCHPOINTS 1709 bool 1710 default y if CPU_MIPSR1 || CPU_MIPSR2 1711 1712menu "Kernel type" 1713 1714choice 1715 prompt "Kernel code model" 1716 help 1717 You should only select this option if you have a workload that 1718 actually benefits from 64-bit processing or if your machine has 1719 large memory. You will only be presented a single option in this 1720 menu if your system does not support both 32-bit and 64-bit kernels. 1721 1722config 32BIT 1723 bool "32-bit kernel" 1724 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 1725 select TRAD_SIGNALS 1726 help 1727 Select this option if you want to build a 32-bit kernel. 1728config 64BIT 1729 bool "64-bit kernel" 1730 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 1731 help 1732 Select this option if you want to build a 64-bit kernel. 1733 1734endchoice 1735 1736config KVM_GUEST 1737 bool "KVM Guest Kernel" 1738 help 1739 Select this option if building a guest kernel for KVM (Trap & Emulate) mode 1740 1741config KVM_HOST_FREQ 1742 int "KVM Host Processor Frequency (MHz)" 1743 depends on KVM_GUEST 1744 default 500 1745 help 1746 Select this option if building a guest kernel for KVM to skip 1747 RTC emulation when determining guest CPU Frequency. Instead, the guest 1748 processor frequency is automatically derived from the host frequency. 1749 1750choice 1751 prompt "Kernel page size" 1752 default PAGE_SIZE_4KB 1753 1754config PAGE_SIZE_4KB 1755 bool "4kB" 1756 depends on !CPU_LOONGSON2 1757 help 1758 This option select the standard 4kB Linux page size. On some 1759 R3000-family processors this is the only available page size. Using 1760 4kB page size will minimize memory consumption and is therefore 1761 recommended for low memory systems. 1762 1763config PAGE_SIZE_8KB 1764 bool "8kB" 1765 depends on CPU_R8000 || CPU_CAVIUM_OCTEON 1766 help 1767 Using 8kB page size will result in higher performance kernel at 1768 the price of higher memory consumption. This option is available 1769 only on R8000 and cnMIPS processors. Note that you will need a 1770 suitable Linux distribution to support this. 1771 1772config PAGE_SIZE_16KB 1773 bool "16kB" 1774 depends on !CPU_R3000 && !CPU_TX39XX 1775 help 1776 Using 16kB page size will result in higher performance kernel at 1777 the price of higher memory consumption. This option is available on 1778 all non-R3000 family processors. Note that you will need a suitable 1779 Linux distribution to support this. 1780 1781config PAGE_SIZE_32KB 1782 bool "32kB" 1783 depends on CPU_CAVIUM_OCTEON 1784 help 1785 Using 32kB page size will result in higher performance kernel at 1786 the price of higher memory consumption. This option is available 1787 only on cnMIPS cores. Note that you will need a suitable Linux 1788 distribution to support this. 1789 1790config PAGE_SIZE_64KB 1791 bool "64kB" 1792 depends on !CPU_R3000 && !CPU_TX39XX 1793 help 1794 Using 64kB page size will result in higher performance kernel at 1795 the price of higher memory consumption. This option is available on 1796 all non-R3000 family processor. Not that at the time of this 1797 writing this option is still high experimental. 1798 1799endchoice 1800 1801config FORCE_MAX_ZONEORDER 1802 int "Maximum zone order" 1803 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB 1804 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB 1805 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB 1806 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB 1807 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB 1808 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB 1809 range 11 64 1810 default "11" 1811 help 1812 The kernel memory allocator divides physically contiguous memory 1813 blocks into "zones", where each zone is a power of two number of 1814 pages. This option selects the largest power of two that the kernel 1815 keeps in the memory allocator. If you need to allocate very large 1816 blocks of physically contiguous memory, then you may need to 1817 increase this value. 1818 1819 This config option is actually maximum order plus one. For example, 1820 a value of 11 means that the largest free memory block is 2^10 pages. 1821 1822 The page size is not necessarily 4KB. Keep this in mind 1823 when choosing a value for this option. 1824 1825config CEVT_GIC 1826 bool "Use GIC global counter for clock events" 1827 depends on IRQ_GIC && !(MIPS_SEAD3 || MIPS_MT_SMTC) 1828 help 1829 Use the GIC global counter for the clock events. The R4K clock 1830 event driver is always present, so if the platform ends up not 1831 detecting a GIC, it will fall back to the R4K timer for the 1832 generation of clock events. 1833 1834config BOARD_SCACHE 1835 bool 1836 1837config IP22_CPU_SCACHE 1838 bool 1839 select BOARD_SCACHE 1840 1841# 1842# Support for a MIPS32 / MIPS64 style S-caches 1843# 1844config MIPS_CPU_SCACHE 1845 bool 1846 select BOARD_SCACHE 1847 1848config R5000_CPU_SCACHE 1849 bool 1850 select BOARD_SCACHE 1851 1852config RM7000_CPU_SCACHE 1853 bool 1854 select BOARD_SCACHE 1855 1856config SIBYTE_DMA_PAGEOPS 1857 bool "Use DMA to clear/copy pages" 1858 depends on CPU_SB1 1859 help 1860 Instead of using the CPU to zero and copy pages, use a Data Mover 1861 channel. These DMA channels are otherwise unused by the standard 1862 SiByte Linux port. Seems to give a small performance benefit. 1863 1864config CPU_HAS_PREFETCH 1865 bool 1866 1867config CPU_GENERIC_DUMP_TLB 1868 bool 1869 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX) 1870 1871config CPU_R4K_FPU 1872 bool 1873 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 1874 1875config CPU_R4K_CACHE_TLB 1876 bool 1877 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 1878 1879choice 1880 prompt "MIPS MT options" 1881 1882config MIPS_MT_DISABLED 1883 bool "Disable multithreading support." 1884 help 1885 Use this option if your workload can't take advantage of 1886 MIPS hardware multithreading support. On systems that don't have 1887 the option of an MT-enabled processor this option will be the only 1888 option in this menu. 1889 1890config MIPS_MT_SMP 1891 bool "Use 1 TC on each available VPE for SMP" 1892 depends on SYS_SUPPORTS_MULTITHREADING 1893 select CPU_MIPSR2_IRQ_VI 1894 select CPU_MIPSR2_IRQ_EI 1895 select MIPS_MT 1896 select NR_CPUS_DEFAULT_2 1897 select SMP 1898 select SYS_SUPPORTS_SCHED_SMT if SMP 1899 select SYS_SUPPORTS_SMP 1900 select SMP_UP 1901 select MIPS_PERF_SHARED_TC_COUNTERS 1902 help 1903 This is a kernel model which is known a VSMP but lately has been 1904 marketesed into SMVP. 1905 Virtual SMP uses the processor's VPEs to implement virtual 1906 processors. In currently available configuration of the 34K processor 1907 this allows for a dual processor. Both processors will share the same 1908 primary caches; each will obtain the half of the TLB for it's own 1909 exclusive use. For a layman this model can be described as similar to 1910 what Intel calls Hyperthreading. 1911 1912 For further information see http://www.linux-mips.org/wiki/34K#VSMP 1913 1914config MIPS_MT_SMTC 1915 bool "SMTC: Use all TCs on all VPEs for SMP" 1916 depends on CPU_MIPS32_R2 1917 #depends on CPU_MIPS64_R2 # once there is hardware ... 1918 depends on SYS_SUPPORTS_MULTITHREADING 1919 select CPU_MIPSR2_IRQ_VI 1920 select CPU_MIPSR2_IRQ_EI 1921 select MIPS_MT 1922 select NR_CPUS_DEFAULT_8 1923 select SMP 1924 select SYS_SUPPORTS_SMP 1925 select SMP_UP 1926 help 1927 This is a kernel model which is known a SMTC or lately has been 1928 marketesed into SMVP. 1929 is presenting the available TC's of the core as processors to Linux. 1930 On currently available 34K processors this means a Linux system will 1931 see up to 5 processors. The implementation of the SMTC kernel differs 1932 significantly from VSMP and cannot efficiently coexist in the same 1933 kernel binary so the choice between VSMP and SMTC is a compile time 1934 decision. 1935 1936 For further information see http://www.linux-mips.org/wiki/34K#SMTC 1937 1938endchoice 1939 1940config MIPS_MT 1941 bool 1942 1943config SCHED_SMT 1944 bool "SMT (multithreading) scheduler support" 1945 depends on SYS_SUPPORTS_SCHED_SMT 1946 default n 1947 help 1948 SMT scheduler support improves the CPU scheduler's decision making 1949 when dealing with MIPS MT enabled cores at a cost of slightly 1950 increased overhead in some places. If unsure say N here. 1951 1952config SYS_SUPPORTS_SCHED_SMT 1953 bool 1954 1955config SYS_SUPPORTS_MULTITHREADING 1956 bool 1957 1958config MIPS_MT_FPAFF 1959 bool "Dynamic FPU affinity for FP-intensive threads" 1960 default y 1961 depends on MIPS_MT_SMP || MIPS_MT_SMTC 1962 1963config MIPS_VPE_LOADER 1964 bool "VPE loader support." 1965 depends on SYS_SUPPORTS_MULTITHREADING 1966 select CPU_MIPSR2_IRQ_VI 1967 select CPU_MIPSR2_IRQ_EI 1968 select MIPS_MT 1969 help 1970 Includes a loader for loading an elf relocatable object 1971 onto another VPE and running it. 1972 1973config MIPS_MT_SMTC_IM_BACKSTOP 1974 bool "Use per-TC register bits as backstop for inhibited IM bits" 1975 depends on MIPS_MT_SMTC 1976 default n 1977 help 1978 To support multiple TC microthreads acting as "CPUs" within 1979 a VPE, VPE-wide interrupt mask bits must be specially manipulated 1980 during interrupt handling. To support legacy drivers and interrupt 1981 controller management code, SMTC has a "backstop" to track and 1982 if necessary restore the interrupt mask. This has some performance 1983 impact on interrupt service overhead. 1984 1985config MIPS_MT_SMTC_IRQAFF 1986 bool "Support IRQ affinity API" 1987 depends on MIPS_MT_SMTC 1988 default n 1989 help 1990 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.) 1991 for SMTC Linux kernel. Requires platform support, of which 1992 an example can be found in the MIPS kernel i8259 and Malta 1993 platform code. Adds some overhead to interrupt dispatch, and 1994 should be used only if you know what you are doing. 1995 1996config MIPS_VPE_LOADER_TOM 1997 bool "Load VPE program into memory hidden from linux" 1998 depends on MIPS_VPE_LOADER 1999 default y 2000 help 2001 The loader can use memory that is present but has been hidden from 2002 Linux using the kernel command line option "mem=xxMB". It's up to 2003 you to ensure the amount you put in the option and the space your 2004 program requires is less or equal to the amount physically present. 2005 2006# this should possibly be in drivers/char, but it is rather cpu related. Hmmm 2007config MIPS_VPE_APSP_API 2008 bool "Enable support for AP/SP API (RTLX)" 2009 depends on MIPS_VPE_LOADER 2010 help 2011 2012config MIPS_CMP 2013 bool "MIPS CMP framework support" 2014 depends on SYS_SUPPORTS_MIPS_CMP 2015 select SYNC_R4K 2016 select SYS_SUPPORTS_SMP 2017 select SYS_SUPPORTS_SCHED_SMT if SMP 2018 select WEAK_ORDERING 2019 default n 2020 help 2021 This is a placeholder option for the GCMP work. It will need to 2022 be handled differently... 2023 2024config SB1_PASS_1_WORKAROUNDS 2025 bool 2026 depends on CPU_SB1_PASS_1 2027 default y 2028 2029config SB1_PASS_2_WORKAROUNDS 2030 bool 2031 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 2032 default y 2033 2034config SB1_PASS_2_1_WORKAROUNDS 2035 bool 2036 depends on CPU_SB1 && CPU_SB1_PASS_2 2037 default y 2038 2039 2040config 64BIT_PHYS_ADDR 2041 bool 2042 2043config ARCH_PHYS_ADDR_T_64BIT 2044 def_bool 64BIT_PHYS_ADDR 2045 2046config CPU_HAS_SMARTMIPS 2047 depends on SYS_SUPPORTS_SMARTMIPS 2048 bool "Support for the SmartMIPS ASE" 2049 help 2050 SmartMIPS is a extension of the MIPS32 architecture aimed at 2051 increased security at both hardware and software level for 2052 smartcards. Enabling this option will allow proper use of the 2053 SmartMIPS instructions by Linux applications. However a kernel with 2054 this option will not work on a MIPS core without SmartMIPS core. If 2055 you don't know you probably don't have SmartMIPS and should say N 2056 here. 2057 2058config CPU_MICROMIPS 2059 depends on SYS_SUPPORTS_MICROMIPS 2060 bool "Build kernel using microMIPS ISA" 2061 help 2062 When this option is enabled the kernel will be built using the 2063 microMIPS ISA 2064 2065config CPU_HAS_WB 2066 bool 2067 2068config XKS01 2069 bool 2070 2071# 2072# Vectored interrupt mode is an R2 feature 2073# 2074config CPU_MIPSR2_IRQ_VI 2075 bool 2076 2077# 2078# Extended interrupt mode is an R2 feature 2079# 2080config CPU_MIPSR2_IRQ_EI 2081 bool 2082 2083config CPU_HAS_SYNC 2084 bool 2085 depends on !CPU_R3000 2086 default y 2087 2088# 2089# CPU non-features 2090# 2091config CPU_DADDI_WORKAROUNDS 2092 bool 2093 2094config CPU_R4000_WORKAROUNDS 2095 bool 2096 select CPU_R4400_WORKAROUNDS 2097 2098config CPU_R4400_WORKAROUNDS 2099 bool 2100 2101# 2102# - Highmem only makes sense for the 32-bit kernel. 2103# - The current highmem code will only work properly on physically indexed 2104# caches such as R3000, SB1, R7000 or those that look like they're virtually 2105# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 2106# moment we protect the user and offer the highmem option only on machines 2107# where it's known to be safe. This will not offer highmem on a few systems 2108# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 2109# indexed CPUs but we're playing safe. 2110# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 2111# know they might have memory configurations that could make use of highmem 2112# support. 2113# 2114config HIGHMEM 2115 bool "High Memory Support" 2116 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM 2117 2118config CPU_SUPPORTS_HIGHMEM 2119 bool 2120 2121config SYS_SUPPORTS_HIGHMEM 2122 bool 2123 2124config SYS_SUPPORTS_SMARTMIPS 2125 bool 2126 2127config SYS_SUPPORTS_MICROMIPS 2128 bool 2129 2130config ARCH_FLATMEM_ENABLE 2131 def_bool y 2132 depends on !NUMA && !CPU_LOONGSON2 2133 2134config ARCH_DISCONTIGMEM_ENABLE 2135 bool 2136 default y if SGI_IP27 2137 help 2138 Say Y to support efficient handling of discontiguous physical memory, 2139 for architectures which are either NUMA (Non-Uniform Memory Access) 2140 or have huge holes in the physical address space for other reasons. 2141 See <file:Documentation/vm/numa> for more. 2142 2143config ARCH_SPARSEMEM_ENABLE 2144 bool 2145 select SPARSEMEM_STATIC 2146 2147config NUMA 2148 bool "NUMA Support" 2149 depends on SYS_SUPPORTS_NUMA 2150 help 2151 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2152 Access). This option improves performance on systems with more 2153 than two nodes; on two node systems it is generally better to 2154 leave it disabled; on single node systems disable this option 2155 disabled. 2156 2157config SYS_SUPPORTS_NUMA 2158 bool 2159 2160config NODES_SHIFT 2161 int 2162 default "6" 2163 depends on NEED_MULTIPLE_NODES 2164 2165config HW_PERF_EVENTS 2166 bool "Enable hardware performance counter support for perf events" 2167 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP) 2168 default y 2169 help 2170 Enable hardware performance counter support for perf events. If 2171 disabled, perf events will use software events only. 2172 2173source "mm/Kconfig" 2174 2175config SMP 2176 bool "Multi-Processing support" 2177 depends on SYS_SUPPORTS_SMP 2178 select USE_GENERIC_SMP_HELPERS 2179 help 2180 This enables support for systems with more than one CPU. If you have 2181 a system with only one CPU, like most personal computers, say N. If 2182 you have a system with more than one CPU, say Y. 2183 2184 If you say N here, the kernel will run on single and multiprocessor 2185 machines, but will use only one CPU of a multiprocessor machine. If 2186 you say Y here, the kernel will run on many, but not all, 2187 singleprocessor machines. On a singleprocessor machine, the kernel 2188 will run faster if you say N here. 2189 2190 People using multiprocessor machines who say Y here should also say 2191 Y to "Enhanced Real Time Clock Support", below. 2192 2193 See also the SMP-HOWTO available at 2194 <http://www.tldp.org/docs.html#howto>. 2195 2196 If you don't know what to do here, say N. 2197 2198config SMP_UP 2199 bool 2200 2201config SYS_SUPPORTS_MIPS_CMP 2202 bool 2203 2204config SYS_SUPPORTS_SMP 2205 bool 2206 2207config NR_CPUS_DEFAULT_1 2208 bool 2209 2210config NR_CPUS_DEFAULT_2 2211 bool 2212 2213config NR_CPUS_DEFAULT_4 2214 bool 2215 2216config NR_CPUS_DEFAULT_8 2217 bool 2218 2219config NR_CPUS_DEFAULT_16 2220 bool 2221 2222config NR_CPUS_DEFAULT_32 2223 bool 2224 2225config NR_CPUS_DEFAULT_64 2226 bool 2227 2228config NR_CPUS 2229 int "Maximum number of CPUs (2-64)" 2230 range 1 64 if NR_CPUS_DEFAULT_1 2231 depends on SMP 2232 default "1" if NR_CPUS_DEFAULT_1 2233 default "2" if NR_CPUS_DEFAULT_2 2234 default "4" if NR_CPUS_DEFAULT_4 2235 default "8" if NR_CPUS_DEFAULT_8 2236 default "16" if NR_CPUS_DEFAULT_16 2237 default "32" if NR_CPUS_DEFAULT_32 2238 default "64" if NR_CPUS_DEFAULT_64 2239 help 2240 This allows you to specify the maximum number of CPUs which this 2241 kernel will support. The maximum supported value is 32 for 32-bit 2242 kernel and 64 for 64-bit kernels; the minimum value which makes 2243 sense is 1 for Qemu (useful only for kernel debugging purposes) 2244 and 2 for all others. 2245 2246 This is purely to save memory - each supported CPU adds 2247 approximately eight kilobytes to the kernel image. For best 2248 performance should round up your number of processors to the next 2249 power of two. 2250 2251config MIPS_PERF_SHARED_TC_COUNTERS 2252 bool 2253 2254# 2255# Timer Interrupt Frequency Configuration 2256# 2257 2258choice 2259 prompt "Timer frequency" 2260 default HZ_250 2261 help 2262 Allows the configuration of the timer frequency. 2263 2264 config HZ_48 2265 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 2266 2267 config HZ_100 2268 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 2269 2270 config HZ_128 2271 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 2272 2273 config HZ_250 2274 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 2275 2276 config HZ_256 2277 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 2278 2279 config HZ_1000 2280 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 2281 2282 config HZ_1024 2283 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 2284 2285endchoice 2286 2287config SYS_SUPPORTS_48HZ 2288 bool 2289 2290config SYS_SUPPORTS_100HZ 2291 bool 2292 2293config SYS_SUPPORTS_128HZ 2294 bool 2295 2296config SYS_SUPPORTS_250HZ 2297 bool 2298 2299config SYS_SUPPORTS_256HZ 2300 bool 2301 2302config SYS_SUPPORTS_1000HZ 2303 bool 2304 2305config SYS_SUPPORTS_1024HZ 2306 bool 2307 2308config SYS_SUPPORTS_ARBIT_HZ 2309 bool 2310 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ 2311 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ 2312 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ 2313 !SYS_SUPPORTS_1024HZ 2314 2315config HZ 2316 int 2317 default 48 if HZ_48 2318 default 100 if HZ_100 2319 default 128 if HZ_128 2320 default 250 if HZ_250 2321 default 256 if HZ_256 2322 default 1000 if HZ_1000 2323 default 1024 if HZ_1024 2324 2325source "kernel/Kconfig.preempt" 2326 2327config KEXEC 2328 bool "Kexec system call" 2329 help 2330 kexec is a system call that implements the ability to shutdown your 2331 current kernel, and to start another kernel. It is like a reboot 2332 but it is independent of the system firmware. And like a reboot 2333 you can start any kernel with it, not just Linux. 2334 2335 The name comes from the similarity to the exec system call. 2336 2337 It is an ongoing process to be certain the hardware in a machine 2338 is properly shutdown, so do not be surprised if this code does not 2339 initially work for you. It may help to enable device hotplugging 2340 support. As of this writing the exact hardware interface is 2341 strongly in flux, so no good recommendation can be made. 2342 2343config CRASH_DUMP 2344 bool "Kernel crash dumps" 2345 help 2346 Generate crash dump after being started by kexec. 2347 This should be normally only set in special crash dump kernels 2348 which are loaded in the main kernel with kexec-tools into 2349 a specially reserved region and then later executed after 2350 a crash by kdump/kexec. The crash dump kernel must be compiled 2351 to a memory address not used by the main kernel or firmware using 2352 PHYSICAL_START. 2353 2354config PHYSICAL_START 2355 hex "Physical address where the kernel is loaded" 2356 default "0xffffffff84000000" if 64BIT 2357 default "0x84000000" if 32BIT 2358 depends on CRASH_DUMP 2359 help 2360 This gives the CKSEG0 or KSEG0 address where the kernel is loaded. 2361 If you plan to use kernel for capturing the crash dump change 2362 this value to start of the reserved region (the "X" value as 2363 specified in the "crashkernel=YM@XM" command line boot parameter 2364 passed to the panic-ed kernel). 2365 2366config SECCOMP 2367 bool "Enable seccomp to safely compute untrusted bytecode" 2368 depends on PROC_FS 2369 default y 2370 help 2371 This kernel feature is useful for number crunching applications 2372 that may need to compute untrusted bytecode during their 2373 execution. By using pipes or other transports made available to 2374 the process as file descriptors supporting the read/write 2375 syscalls, it's possible to isolate those applications in 2376 their own address space using seccomp. Once seccomp is 2377 enabled via /proc/<pid>/seccomp, it cannot be disabled 2378 and the task is only allowed to execute a few safe syscalls 2379 defined by each seccomp mode. 2380 2381 If unsure, say Y. Only embedded should say N here. 2382 2383config USE_OF 2384 bool 2385 select OF 2386 select OF_EARLY_FLATTREE 2387 select IRQ_DOMAIN 2388 2389endmenu 2390 2391config LOCKDEP_SUPPORT 2392 bool 2393 default y 2394 2395config STACKTRACE_SUPPORT 2396 bool 2397 default y 2398 2399source "init/Kconfig" 2400 2401source "kernel/Kconfig.freezer" 2402 2403menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2404 2405config HW_HAS_EISA 2406 bool 2407config HW_HAS_PCI 2408 bool 2409 2410config PCI 2411 bool "Support for PCI controller" 2412 depends on HW_HAS_PCI 2413 select PCI_DOMAINS 2414 select GENERIC_PCI_IOMAP 2415 select NO_GENERIC_PCI_IOPORT_MAP 2416 help 2417 Find out whether you have a PCI motherboard. PCI is the name of a 2418 bus system, i.e. the way the CPU talks to the other stuff inside 2419 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2420 say Y, otherwise N. 2421 2422config PCI_DOMAINS 2423 bool 2424 2425source "drivers/pci/Kconfig" 2426 2427source "drivers/pci/pcie/Kconfig" 2428 2429# 2430# ISA support is now enabled via select. Too many systems still have the one 2431# or other ISA chip on the board that users don't know about so don't expect 2432# users to choose the right thing ... 2433# 2434config ISA 2435 bool 2436 2437config EISA 2438 bool "EISA support" 2439 depends on HW_HAS_EISA 2440 select ISA 2441 select GENERIC_ISA_DMA 2442 ---help--- 2443 The Extended Industry Standard Architecture (EISA) bus was 2444 developed as an open alternative to the IBM MicroChannel bus. 2445 2446 The EISA bus provided some of the features of the IBM MicroChannel 2447 bus while maintaining backward compatibility with cards made for 2448 the older ISA bus. The EISA bus saw limited use between 1988 and 2449 1995 when it was made obsolete by the PCI bus. 2450 2451 Say Y here if you are building a kernel for an EISA-based machine. 2452 2453 Otherwise, say N. 2454 2455source "drivers/eisa/Kconfig" 2456 2457config TC 2458 bool "TURBOchannel support" 2459 depends on MACH_DECSTATION 2460 help 2461 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 2462 processors. TURBOchannel programming specifications are available 2463 at: 2464 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 2465 and: 2466 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 2467 Linux driver support status is documented at: 2468 <http://www.linux-mips.org/wiki/DECstation> 2469 2470config MMU 2471 bool 2472 default y 2473 2474config I8253 2475 bool 2476 select CLKSRC_I8253 2477 select CLKEVT_I8253 2478 select MIPS_EXTERNAL_TIMER 2479 2480config ZONE_DMA32 2481 bool 2482 2483source "drivers/pcmcia/Kconfig" 2484 2485source "drivers/pci/hotplug/Kconfig" 2486 2487config RAPIDIO 2488 bool "RapidIO support" 2489 depends on PCI 2490 default n 2491 help 2492 If you say Y here, the kernel will include drivers and 2493 infrastructure code to support RapidIO interconnect devices. 2494 2495source "drivers/rapidio/Kconfig" 2496 2497endmenu 2498 2499menu "Executable file formats" 2500 2501source "fs/Kconfig.binfmt" 2502 2503config TRAD_SIGNALS 2504 bool 2505 2506config MIPS32_COMPAT 2507 bool "Kernel support for Linux/MIPS 32-bit binary compatibility" 2508 depends on 64BIT 2509 help 2510 Select this option if you want Linux/MIPS 32-bit binary 2511 compatibility. Since all software available for Linux/MIPS is 2512 currently 32-bit you should say Y here. 2513 2514config COMPAT 2515 bool 2516 depends on MIPS32_COMPAT 2517 select ARCH_WANT_OLD_COMPAT_IPC 2518 default y 2519 2520config SYSVIPC_COMPAT 2521 bool 2522 depends on COMPAT && SYSVIPC 2523 default y 2524 2525config MIPS32_O32 2526 bool "Kernel support for o32 binaries" 2527 depends on MIPS32_COMPAT 2528 help 2529 Select this option if you want to run o32 binaries. These are pure 2530 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2531 existing binaries are in this format. 2532 2533 If unsure, say Y. 2534 2535config MIPS32_N32 2536 bool "Kernel support for n32 binaries" 2537 depends on MIPS32_COMPAT 2538 help 2539 Select this option if you want to run n32 binaries. These are 2540 64-bit binaries using 32-bit quantities for addressing and certain 2541 data that would normally be 64-bit. They are used in special 2542 cases. 2543 2544 If unsure, say N. 2545 2546config BINFMT_ELF32 2547 bool 2548 default y if MIPS32_O32 || MIPS32_N32 2549 2550endmenu 2551 2552menu "Power management options" 2553 2554config ARCH_HIBERNATION_POSSIBLE 2555 def_bool y 2556 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2557 2558config ARCH_SUSPEND_POSSIBLE 2559 def_bool y 2560 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2561 2562source "kernel/power/Kconfig" 2563 2564endmenu 2565 2566config MIPS_EXTERNAL_TIMER 2567 bool 2568 2569if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER 2570menu "CPU Power Management" 2571source "drivers/cpufreq/Kconfig" 2572endmenu 2573endif 2574 2575source "net/Kconfig" 2576 2577source "drivers/Kconfig" 2578 2579source "drivers/firmware/Kconfig" 2580 2581source "fs/Kconfig" 2582 2583source "arch/mips/Kconfig.debug" 2584 2585source "security/Kconfig" 2586 2587source "crypto/Kconfig" 2588 2589source "lib/Kconfig" 2590 2591source "arch/mips/kvm/Kconfig" 2592