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