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