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