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