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