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