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