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 help 834 This board is based on Netlogic XLP Processor. 835 Say Y here if you have a XLP based board. 836 837endchoice 838 839source "arch/mips/alchemy/Kconfig" 840source "arch/mips/ath79/Kconfig" 841source "arch/mips/bcm47xx/Kconfig" 842source "arch/mips/bcm63xx/Kconfig" 843source "arch/mips/jazz/Kconfig" 844source "arch/mips/jz4740/Kconfig" 845source "arch/mips/lantiq/Kconfig" 846source "arch/mips/lasat/Kconfig" 847source "arch/mips/pmc-sierra/Kconfig" 848source "arch/mips/powertv/Kconfig" 849source "arch/mips/sgi-ip27/Kconfig" 850source "arch/mips/sibyte/Kconfig" 851source "arch/mips/txx9/Kconfig" 852source "arch/mips/vr41xx/Kconfig" 853source "arch/mips/cavium-octeon/Kconfig" 854source "arch/mips/loongson/Kconfig" 855source "arch/mips/loongson1/Kconfig" 856source "arch/mips/netlogic/Kconfig" 857 858endmenu 859 860config RWSEM_GENERIC_SPINLOCK 861 bool 862 default y 863 864config RWSEM_XCHGADD_ALGORITHM 865 bool 866 867config ARCH_HAS_ILOG2_U32 868 bool 869 default n 870 871config ARCH_HAS_ILOG2_U64 872 bool 873 default n 874 875config GENERIC_HWEIGHT 876 bool 877 default y 878 879config GENERIC_CALIBRATE_DELAY 880 bool 881 default y 882 883config SCHED_OMIT_FRAME_POINTER 884 bool 885 default y 886 887# 888# Select some configuration options automatically based on user selections. 889# 890config ARC 891 bool 892 893config ARCH_MAY_HAVE_PC_FDC 894 bool 895 896config BOOT_RAW 897 bool 898 899config CEVT_BCM1480 900 bool 901 902config CEVT_DS1287 903 bool 904 905config CEVT_GT641XX 906 bool 907 908config CEVT_R4K_LIB 909 bool 910 911config CEVT_R4K 912 select CEVT_R4K_LIB 913 bool 914 915config CEVT_SB1250 916 bool 917 918config CEVT_TXX9 919 bool 920 921config CSRC_BCM1480 922 bool 923 924config CSRC_IOASIC 925 bool 926 927config CSRC_POWERTV 928 bool 929 930config CSRC_R4K_LIB 931 bool 932 933config CSRC_R4K 934 select CSRC_R4K_LIB 935 bool 936 937config CSRC_SB1250 938 bool 939 940config GPIO_TXX9 941 select GENERIC_GPIO 942 select ARCH_REQUIRE_GPIOLIB 943 bool 944 945config CFE 946 bool 947 948config ARCH_DMA_ADDR_T_64BIT 949 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT 950 951config DMA_COHERENT 952 bool 953 954config DMA_NONCOHERENT 955 bool 956 select NEED_DMA_MAP_STATE 957 958config NEED_DMA_MAP_STATE 959 bool 960 961config SYS_HAS_EARLY_PRINTK 962 bool 963 964config HOTPLUG_CPU 965 bool "Support for hot-pluggable CPUs" 966 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU 967 help 968 Say Y here to allow turning CPUs off and on. CPUs can be 969 controlled through /sys/devices/system/cpu. 970 (Note: power management support will enable this option 971 automatically on SMP systems. ) 972 Say N if you want to disable CPU hotplug. 973 974config SYS_SUPPORTS_HOTPLUG_CPU 975 bool 976 977config I8259 978 bool 979 980config MIPS_BONITO64 981 bool 982 983config MIPS_MSC 984 bool 985 986config MIPS_NILE4 987 bool 988 989config MIPS_DISABLE_OBSOLETE_IDE 990 bool 991 992config SYNC_R4K 993 bool 994 995config MIPS_MACHINE 996 def_bool n 997 998config NO_IOPORT 999 def_bool n 1000 1001config GENERIC_ISA_DMA 1002 bool 1003 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 1004 select ISA_DMA_API 1005 1006config GENERIC_ISA_DMA_SUPPORT_BROKEN 1007 bool 1008 select GENERIC_ISA_DMA 1009 1010config ISA_DMA_API 1011 bool 1012 1013config GENERIC_GPIO 1014 bool 1015 1016config HOLES_IN_ZONE 1017 bool 1018 1019# 1020# Endianness selection. Sufficiently obscure so many users don't know what to 1021# answer,so we try hard to limit the available choices. Also the use of a 1022# choice statement should be more obvious to the user. 1023# 1024choice 1025 prompt "Endianness selection" 1026 help 1027 Some MIPS machines can be configured for either little or big endian 1028 byte order. These modes require different kernels and a different 1029 Linux distribution. In general there is one preferred byteorder for a 1030 particular system but some systems are just as commonly used in the 1031 one or the other endianness. 1032 1033config CPU_BIG_ENDIAN 1034 bool "Big endian" 1035 depends on SYS_SUPPORTS_BIG_ENDIAN 1036 1037config CPU_LITTLE_ENDIAN 1038 bool "Little endian" 1039 depends on SYS_SUPPORTS_LITTLE_ENDIAN 1040 help 1041 1042endchoice 1043 1044config EXPORT_UASM 1045 bool 1046 1047config SYS_SUPPORTS_APM_EMULATION 1048 bool 1049 1050config SYS_SUPPORTS_BIG_ENDIAN 1051 bool 1052 1053config SYS_SUPPORTS_LITTLE_ENDIAN 1054 bool 1055 1056config SYS_SUPPORTS_HUGETLBFS 1057 bool 1058 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT 1059 default y 1060 1061config IRQ_CPU 1062 bool 1063 1064config IRQ_CPU_RM7K 1065 bool 1066 1067config IRQ_CPU_RM9K 1068 bool 1069 1070config IRQ_MSP_SLP 1071 bool 1072 1073config IRQ_MSP_CIC 1074 bool 1075 1076config IRQ_TXX9 1077 bool 1078 1079config IRQ_GT641XX 1080 bool 1081 1082config IRQ_GIC 1083 bool 1084 1085config MIPS_BOARDS_GEN 1086 bool 1087 1088config PCI_GT64XXX_PCI0 1089 bool 1090 1091config NO_EXCEPT_FILL 1092 bool 1093 1094config MIPS_RM9122 1095 bool 1096 select SERIAL_RM9000 1097 1098config SOC_EMMA2RH 1099 bool 1100 select CEVT_R4K 1101 select CSRC_R4K 1102 select DMA_NONCOHERENT 1103 select IRQ_CPU 1104 select SWAP_IO_SPACE 1105 select SYS_HAS_CPU_R5500 1106 select SYS_SUPPORTS_32BIT_KERNEL 1107 select SYS_SUPPORTS_64BIT_KERNEL 1108 select SYS_SUPPORTS_BIG_ENDIAN 1109 1110config SOC_PNX833X 1111 bool 1112 select CEVT_R4K 1113 select CSRC_R4K 1114 select IRQ_CPU 1115 select DMA_NONCOHERENT 1116 select SYS_HAS_CPU_MIPS32_R2 1117 select SYS_SUPPORTS_32BIT_KERNEL 1118 select SYS_SUPPORTS_LITTLE_ENDIAN 1119 select SYS_SUPPORTS_BIG_ENDIAN 1120 select GENERIC_GPIO 1121 select CPU_MIPSR2_IRQ_VI 1122 1123config SOC_PNX8335 1124 bool 1125 select SOC_PNX833X 1126 1127config PNX8550 1128 bool 1129 select SOC_PNX8550 1130 1131config SOC_PNX8550 1132 bool 1133 select DMA_NONCOHERENT 1134 select HW_HAS_PCI 1135 select SYS_HAS_CPU_MIPS32_R1 1136 select SYS_HAS_EARLY_PRINTK 1137 select SYS_SUPPORTS_32BIT_KERNEL 1138 select GENERIC_GPIO 1139 1140config SWAP_IO_SPACE 1141 bool 1142 1143config SERIAL_RM9000 1144 bool 1145 1146config SGI_HAS_INDYDOG 1147 bool 1148 1149config SGI_HAS_HAL2 1150 bool 1151 1152config SGI_HAS_SEEQ 1153 bool 1154 1155config SGI_HAS_WD93 1156 bool 1157 1158config SGI_HAS_ZILOG 1159 bool 1160 1161config SGI_HAS_I8042 1162 bool 1163 1164config DEFAULT_SGI_PARTITION 1165 bool 1166 1167config ARC32 1168 bool 1169 1170config SNIPROM 1171 bool 1172 1173config BOOT_ELF32 1174 bool 1175 1176config MIPS_L1_CACHE_SHIFT 1177 int 1178 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL 1179 default "6" if MIPS_CPU_SCACHE 1180 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON 1181 default "5" 1182 1183config HAVE_STD_PC_SERIAL_PORT 1184 bool 1185 1186config ARC_CONSOLE 1187 bool "ARC console support" 1188 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 1189 1190config ARC_MEMORY 1191 bool 1192 depends on MACH_JAZZ || SNI_RM || SGI_IP32 1193 default y 1194 1195config ARC_PROMLIB 1196 bool 1197 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 1198 default y 1199 1200config ARC64 1201 bool 1202 1203config BOOT_ELF64 1204 bool 1205 1206menu "CPU selection" 1207 1208choice 1209 prompt "CPU type" 1210 default CPU_R4X00 1211 1212config CPU_LOONGSON2E 1213 bool "Loongson 2E" 1214 depends on SYS_HAS_CPU_LOONGSON2E 1215 select CPU_LOONGSON2 1216 help 1217 The Loongson 2E processor implements the MIPS III instruction set 1218 with many extensions. 1219 1220 It has an internal FPGA northbridge, which is compatible to 1221 bonito64. 1222 1223config CPU_LOONGSON2F 1224 bool "Loongson 2F" 1225 depends on SYS_HAS_CPU_LOONGSON2F 1226 select CPU_LOONGSON2 1227 select GENERIC_GPIO 1228 select ARCH_REQUIRE_GPIOLIB 1229 help 1230 The Loongson 2F processor implements the MIPS III instruction set 1231 with many extensions. 1232 1233 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller 1234 have a similar programming interface with FPGA northbridge used in 1235 Loongson2E. 1236 1237config CPU_LOONGSON1B 1238 bool "Loongson 1B" 1239 depends on SYS_HAS_CPU_LOONGSON1B 1240 select CPU_LOONGSON1 1241 help 1242 The Loongson 1B is a 32-bit SoC, which implements the MIPS32 1243 release 2 instruction set. 1244 1245config CPU_MIPS32_R1 1246 bool "MIPS32 Release 1" 1247 depends on SYS_HAS_CPU_MIPS32_R1 1248 select CPU_HAS_PREFETCH 1249 select CPU_SUPPORTS_32BIT_KERNEL 1250 select CPU_SUPPORTS_HIGHMEM 1251 help 1252 Choose this option to build a kernel for release 1 or later of the 1253 MIPS32 architecture. Most modern embedded systems with a 32-bit 1254 MIPS processor are based on a MIPS32 processor. If you know the 1255 specific type of processor in your system, choose those that one 1256 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1257 Release 2 of the MIPS32 architecture is available since several 1258 years so chances are you even have a MIPS32 Release 2 processor 1259 in which case you should choose CPU_MIPS32_R2 instead for better 1260 performance. 1261 1262config CPU_MIPS32_R2 1263 bool "MIPS32 Release 2" 1264 depends on SYS_HAS_CPU_MIPS32_R2 1265 select CPU_HAS_PREFETCH 1266 select CPU_SUPPORTS_32BIT_KERNEL 1267 select CPU_SUPPORTS_HIGHMEM 1268 help 1269 Choose this option to build a kernel for release 2 or later of the 1270 MIPS32 architecture. Most modern embedded systems with a 32-bit 1271 MIPS processor are based on a MIPS32 processor. If you know the 1272 specific type of processor in your system, choose those that one 1273 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1274 1275config CPU_MIPS64_R1 1276 bool "MIPS64 Release 1" 1277 depends on SYS_HAS_CPU_MIPS64_R1 1278 select CPU_HAS_PREFETCH 1279 select CPU_SUPPORTS_32BIT_KERNEL 1280 select CPU_SUPPORTS_64BIT_KERNEL 1281 select CPU_SUPPORTS_HIGHMEM 1282 select CPU_SUPPORTS_HUGEPAGES 1283 help 1284 Choose this option to build a kernel for release 1 or later of the 1285 MIPS64 architecture. Many modern embedded systems with a 64-bit 1286 MIPS processor are based on a MIPS64 processor. If you know the 1287 specific type of processor in your system, choose those that one 1288 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1289 Release 2 of the MIPS64 architecture is available since several 1290 years so chances are you even have a MIPS64 Release 2 processor 1291 in which case you should choose CPU_MIPS64_R2 instead for better 1292 performance. 1293 1294config CPU_MIPS64_R2 1295 bool "MIPS64 Release 2" 1296 depends on SYS_HAS_CPU_MIPS64_R2 1297 select CPU_HAS_PREFETCH 1298 select CPU_SUPPORTS_32BIT_KERNEL 1299 select CPU_SUPPORTS_64BIT_KERNEL 1300 select CPU_SUPPORTS_HIGHMEM 1301 select CPU_SUPPORTS_HUGEPAGES 1302 help 1303 Choose this option to build a kernel for release 2 or later of the 1304 MIPS64 architecture. Many modern embedded systems with a 64-bit 1305 MIPS processor are based on a MIPS64 processor. If you know the 1306 specific type of processor in your system, choose those that one 1307 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1308 1309config CPU_R3000 1310 bool "R3000" 1311 depends on SYS_HAS_CPU_R3000 1312 select CPU_HAS_WB 1313 select CPU_SUPPORTS_32BIT_KERNEL 1314 select CPU_SUPPORTS_HIGHMEM 1315 help 1316 Please make sure to pick the right CPU type. Linux/MIPS is not 1317 designed to be generic, i.e. Kernels compiled for R3000 CPUs will 1318 *not* work on R4000 machines and vice versa. However, since most 1319 of the supported machines have an R4000 (or similar) CPU, R4x00 1320 might be a safe bet. If the resulting kernel does not work, 1321 try to recompile with R3000. 1322 1323config CPU_TX39XX 1324 bool "R39XX" 1325 depends on SYS_HAS_CPU_TX39XX 1326 select CPU_SUPPORTS_32BIT_KERNEL 1327 1328config CPU_VR41XX 1329 bool "R41xx" 1330 depends on SYS_HAS_CPU_VR41XX 1331 select CPU_SUPPORTS_32BIT_KERNEL 1332 select CPU_SUPPORTS_64BIT_KERNEL 1333 help 1334 The options selects support for the NEC VR4100 series of processors. 1335 Only choose this option if you have one of these processors as a 1336 kernel built with this option will not run on any other type of 1337 processor or vice versa. 1338 1339config CPU_R4300 1340 bool "R4300" 1341 depends on SYS_HAS_CPU_R4300 1342 select CPU_SUPPORTS_32BIT_KERNEL 1343 select CPU_SUPPORTS_64BIT_KERNEL 1344 help 1345 MIPS Technologies R4300-series processors. 1346 1347config CPU_R4X00 1348 bool "R4x00" 1349 depends on SYS_HAS_CPU_R4X00 1350 select CPU_SUPPORTS_32BIT_KERNEL 1351 select CPU_SUPPORTS_64BIT_KERNEL 1352 help 1353 MIPS Technologies R4000-series processors other than 4300, including 1354 the R4000, R4400, R4600, and 4700. 1355 1356config CPU_TX49XX 1357 bool "R49XX" 1358 depends on SYS_HAS_CPU_TX49XX 1359 select CPU_HAS_PREFETCH 1360 select CPU_SUPPORTS_32BIT_KERNEL 1361 select CPU_SUPPORTS_64BIT_KERNEL 1362 1363config CPU_R5000 1364 bool "R5000" 1365 depends on SYS_HAS_CPU_R5000 1366 select CPU_SUPPORTS_32BIT_KERNEL 1367 select CPU_SUPPORTS_64BIT_KERNEL 1368 help 1369 MIPS Technologies R5000-series processors other than the Nevada. 1370 1371config CPU_R5432 1372 bool "R5432" 1373 depends on SYS_HAS_CPU_R5432 1374 select CPU_SUPPORTS_32BIT_KERNEL 1375 select CPU_SUPPORTS_64BIT_KERNEL 1376 1377config CPU_R5500 1378 bool "R5500" 1379 depends on SYS_HAS_CPU_R5500 1380 select CPU_SUPPORTS_32BIT_KERNEL 1381 select CPU_SUPPORTS_64BIT_KERNEL 1382 select CPU_SUPPORTS_HUGEPAGES 1383 help 1384 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1385 instruction set. 1386 1387config CPU_R6000 1388 bool "R6000" 1389 depends on EXPERIMENTAL 1390 depends on SYS_HAS_CPU_R6000 1391 select CPU_SUPPORTS_32BIT_KERNEL 1392 help 1393 MIPS Technologies R6000 and R6000A series processors. Note these 1394 processors are extremely rare and the support for them is incomplete. 1395 1396config CPU_NEVADA 1397 bool "RM52xx" 1398 depends on SYS_HAS_CPU_NEVADA 1399 select CPU_SUPPORTS_32BIT_KERNEL 1400 select CPU_SUPPORTS_64BIT_KERNEL 1401 help 1402 QED / PMC-Sierra RM52xx-series ("Nevada") processors. 1403 1404config CPU_R8000 1405 bool "R8000" 1406 depends on EXPERIMENTAL 1407 depends on SYS_HAS_CPU_R8000 1408 select CPU_HAS_PREFETCH 1409 select CPU_SUPPORTS_64BIT_KERNEL 1410 help 1411 MIPS Technologies R8000 processors. Note these processors are 1412 uncommon and the support for them is incomplete. 1413 1414config CPU_R10000 1415 bool "R10000" 1416 depends on SYS_HAS_CPU_R10000 1417 select CPU_HAS_PREFETCH 1418 select CPU_SUPPORTS_32BIT_KERNEL 1419 select CPU_SUPPORTS_64BIT_KERNEL 1420 select CPU_SUPPORTS_HIGHMEM 1421 help 1422 MIPS Technologies R10000-series processors. 1423 1424config CPU_RM7000 1425 bool "RM7000" 1426 depends on SYS_HAS_CPU_RM7000 1427 select CPU_HAS_PREFETCH 1428 select CPU_SUPPORTS_32BIT_KERNEL 1429 select CPU_SUPPORTS_64BIT_KERNEL 1430 select CPU_SUPPORTS_HIGHMEM 1431 1432config CPU_RM9000 1433 bool "RM9000" 1434 depends on SYS_HAS_CPU_RM9000 1435 select CPU_HAS_PREFETCH 1436 select CPU_SUPPORTS_32BIT_KERNEL 1437 select CPU_SUPPORTS_64BIT_KERNEL 1438 select CPU_SUPPORTS_HIGHMEM 1439 select WEAK_ORDERING 1440 1441config CPU_SB1 1442 bool "SB1" 1443 depends on SYS_HAS_CPU_SB1 1444 select CPU_SUPPORTS_32BIT_KERNEL 1445 select CPU_SUPPORTS_64BIT_KERNEL 1446 select CPU_SUPPORTS_HIGHMEM 1447 select WEAK_ORDERING 1448 1449config CPU_CAVIUM_OCTEON 1450 bool "Cavium Octeon processor" 1451 depends on SYS_HAS_CPU_CAVIUM_OCTEON 1452 select ARCH_SPARSEMEM_ENABLE 1453 select CPU_HAS_PREFETCH 1454 select CPU_SUPPORTS_64BIT_KERNEL 1455 select SYS_SUPPORTS_SMP 1456 select NR_CPUS_DEFAULT_16 1457 select WEAK_ORDERING 1458 select CPU_SUPPORTS_HIGHMEM 1459 select CPU_SUPPORTS_HUGEPAGES 1460 select LIBFDT 1461 select USE_OF 1462 help 1463 The Cavium Octeon processor is a highly integrated chip containing 1464 many ethernet hardware widgets for networking tasks. The processor 1465 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. 1466 Full details can be found at http://www.caviumnetworks.com. 1467 1468config CPU_BMIPS3300 1469 bool "BMIPS3300" 1470 depends on SYS_HAS_CPU_BMIPS3300 1471 select CPU_BMIPS 1472 help 1473 Broadcom BMIPS3300 processors. 1474 1475config CPU_BMIPS4350 1476 bool "BMIPS4350" 1477 depends on SYS_HAS_CPU_BMIPS4350 1478 select CPU_BMIPS 1479 select SYS_SUPPORTS_SMP 1480 select SYS_SUPPORTS_HOTPLUG_CPU 1481 help 1482 Broadcom BMIPS4350 ("VIPER") processors. 1483 1484config CPU_BMIPS4380 1485 bool "BMIPS4380" 1486 depends on SYS_HAS_CPU_BMIPS4380 1487 select CPU_BMIPS 1488 select SYS_SUPPORTS_SMP 1489 select SYS_SUPPORTS_HOTPLUG_CPU 1490 help 1491 Broadcom BMIPS4380 processors. 1492 1493config CPU_BMIPS5000 1494 bool "BMIPS5000" 1495 depends on SYS_HAS_CPU_BMIPS5000 1496 select CPU_BMIPS 1497 select CPU_SUPPORTS_HIGHMEM 1498 select MIPS_CPU_SCACHE 1499 select SYS_SUPPORTS_SMP 1500 select SYS_SUPPORTS_HOTPLUG_CPU 1501 help 1502 Broadcom BMIPS5000 processors. 1503 1504config CPU_XLR 1505 bool "Netlogic XLR SoC" 1506 depends on SYS_HAS_CPU_XLR 1507 select CPU_SUPPORTS_32BIT_KERNEL 1508 select CPU_SUPPORTS_64BIT_KERNEL 1509 select CPU_SUPPORTS_HIGHMEM 1510 select WEAK_ORDERING 1511 select WEAK_REORDERING_BEYOND_LLSC 1512 select CPU_SUPPORTS_HUGEPAGES 1513 help 1514 Netlogic Microsystems XLR/XLS processors. 1515 1516config CPU_XLP 1517 bool "Netlogic XLP SoC" 1518 depends on SYS_HAS_CPU_XLP 1519 select CPU_SUPPORTS_32BIT_KERNEL 1520 select CPU_SUPPORTS_64BIT_KERNEL 1521 select CPU_SUPPORTS_HIGHMEM 1522 select CPU_HAS_LLSC 1523 select WEAK_ORDERING 1524 select WEAK_REORDERING_BEYOND_LLSC 1525 select CPU_HAS_PREFETCH 1526 help 1527 Netlogic Microsystems XLP processors. 1528endchoice 1529 1530if CPU_LOONGSON2F 1531config CPU_NOP_WORKAROUNDS 1532 bool 1533 1534config CPU_JUMP_WORKAROUNDS 1535 bool 1536 1537config CPU_LOONGSON2F_WORKAROUNDS 1538 bool "Loongson 2F Workarounds" 1539 default y 1540 select CPU_NOP_WORKAROUNDS 1541 select CPU_JUMP_WORKAROUNDS 1542 help 1543 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 1544 require workarounds. Without workarounds the system may hang 1545 unexpectedly. For more information please refer to the gas 1546 -mfix-loongson2f-nop and -mfix-loongson2f-jump options. 1547 1548 Loongson 2F03 and later have fixed these issues and no workarounds 1549 are needed. The workarounds have no significant side effect on them 1550 but may decrease the performance of the system so this option should 1551 be disabled unless the kernel is intended to be run on 2F01 or 2F02 1552 systems. 1553 1554 If unsure, please say Y. 1555endif # CPU_LOONGSON2F 1556 1557config SYS_SUPPORTS_ZBOOT 1558 bool 1559 select HAVE_KERNEL_GZIP 1560 select HAVE_KERNEL_BZIP2 1561 select HAVE_KERNEL_LZMA 1562 select HAVE_KERNEL_LZO 1563 1564config SYS_SUPPORTS_ZBOOT_UART16550 1565 bool 1566 select SYS_SUPPORTS_ZBOOT 1567 1568config CPU_LOONGSON2 1569 bool 1570 select CPU_SUPPORTS_32BIT_KERNEL 1571 select CPU_SUPPORTS_64BIT_KERNEL 1572 select CPU_SUPPORTS_HIGHMEM 1573 1574config CPU_LOONGSON1 1575 bool 1576 select CPU_MIPS32 1577 select CPU_MIPSR2 1578 select CPU_HAS_PREFETCH 1579 select CPU_SUPPORTS_32BIT_KERNEL 1580 select CPU_SUPPORTS_HIGHMEM 1581 1582config CPU_BMIPS 1583 bool 1584 select CPU_MIPS32 1585 select CPU_SUPPORTS_32BIT_KERNEL 1586 select DMA_NONCOHERENT 1587 select IRQ_CPU 1588 select SWAP_IO_SPACE 1589 select WEAK_ORDERING 1590 1591config SYS_HAS_CPU_LOONGSON2E 1592 bool 1593 1594config SYS_HAS_CPU_LOONGSON2F 1595 bool 1596 select CPU_SUPPORTS_CPUFREQ 1597 select CPU_SUPPORTS_ADDRWINCFG if 64BIT 1598 select CPU_SUPPORTS_UNCACHED_ACCELERATED 1599 1600config SYS_HAS_CPU_LOONGSON1B 1601 bool 1602 1603config SYS_HAS_CPU_MIPS32_R1 1604 bool 1605 1606config SYS_HAS_CPU_MIPS32_R2 1607 bool 1608 1609config SYS_HAS_CPU_MIPS64_R1 1610 bool 1611 1612config SYS_HAS_CPU_MIPS64_R2 1613 bool 1614 1615config SYS_HAS_CPU_R3000 1616 bool 1617 1618config SYS_HAS_CPU_TX39XX 1619 bool 1620 1621config SYS_HAS_CPU_VR41XX 1622 bool 1623 1624config SYS_HAS_CPU_R4300 1625 bool 1626 1627config SYS_HAS_CPU_R4X00 1628 bool 1629 1630config SYS_HAS_CPU_TX49XX 1631 bool 1632 1633config SYS_HAS_CPU_R5000 1634 bool 1635 1636config SYS_HAS_CPU_R5432 1637 bool 1638 1639config SYS_HAS_CPU_R5500 1640 bool 1641 1642config SYS_HAS_CPU_R6000 1643 bool 1644 1645config SYS_HAS_CPU_NEVADA 1646 bool 1647 1648config SYS_HAS_CPU_R8000 1649 bool 1650 1651config SYS_HAS_CPU_R10000 1652 bool 1653 1654config SYS_HAS_CPU_RM7000 1655 bool 1656 1657config SYS_HAS_CPU_RM9000 1658 bool 1659 1660config SYS_HAS_CPU_SB1 1661 bool 1662 1663config SYS_HAS_CPU_CAVIUM_OCTEON 1664 bool 1665 1666config SYS_HAS_CPU_BMIPS3300 1667 bool 1668 1669config SYS_HAS_CPU_BMIPS4350 1670 bool 1671 1672config SYS_HAS_CPU_BMIPS4380 1673 bool 1674 1675config SYS_HAS_CPU_BMIPS5000 1676 bool 1677 1678config SYS_HAS_CPU_XLR 1679 bool 1680 1681config SYS_HAS_CPU_XLP 1682 bool 1683 1684# 1685# CPU may reorder R->R, R->W, W->R, W->W 1686# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1687# 1688config WEAK_ORDERING 1689 bool 1690 1691# 1692# CPU may reorder reads and writes beyond LL/SC 1693# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 1694# 1695config WEAK_REORDERING_BEYOND_LLSC 1696 bool 1697endmenu 1698 1699# 1700# These two indicate any level of the MIPS32 and MIPS64 architecture 1701# 1702config CPU_MIPS32 1703 bool 1704 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 1705 1706config CPU_MIPS64 1707 bool 1708 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 1709 1710# 1711# These two indicate the revision of the architecture, either Release 1 or Release 2 1712# 1713config CPU_MIPSR1 1714 bool 1715 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 1716 1717config CPU_MIPSR2 1718 bool 1719 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 1720 1721config SYS_SUPPORTS_32BIT_KERNEL 1722 bool 1723config SYS_SUPPORTS_64BIT_KERNEL 1724 bool 1725config CPU_SUPPORTS_32BIT_KERNEL 1726 bool 1727config CPU_SUPPORTS_64BIT_KERNEL 1728 bool 1729config CPU_SUPPORTS_CPUFREQ 1730 bool 1731config CPU_SUPPORTS_ADDRWINCFG 1732 bool 1733config CPU_SUPPORTS_HUGEPAGES 1734 bool 1735config CPU_SUPPORTS_UNCACHED_ACCELERATED 1736 bool 1737config MIPS_PGD_C0_CONTEXT 1738 bool 1739 default y if 64BIT && CPU_MIPSR2 1740 1741# 1742# Set to y for ptrace access to watch registers. 1743# 1744config HARDWARE_WATCHPOINTS 1745 bool 1746 default y if CPU_MIPSR1 || CPU_MIPSR2 1747 1748menu "Kernel type" 1749 1750choice 1751 1752 prompt "Kernel code model" 1753 help 1754 You should only select this option if you have a workload that 1755 actually benefits from 64-bit processing or if your machine has 1756 large memory. You will only be presented a single option in this 1757 menu if your system does not support both 32-bit and 64-bit kernels. 1758 1759config 32BIT 1760 bool "32-bit kernel" 1761 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 1762 select TRAD_SIGNALS 1763 help 1764 Select this option if you want to build a 32-bit kernel. 1765config 64BIT 1766 bool "64-bit kernel" 1767 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 1768 select HAVE_SYSCALL_WRAPPERS 1769 help 1770 Select this option if you want to build a 64-bit kernel. 1771 1772endchoice 1773 1774choice 1775 prompt "Kernel page size" 1776 default PAGE_SIZE_4KB 1777 1778config PAGE_SIZE_4KB 1779 bool "4kB" 1780 depends on !CPU_LOONGSON2 1781 help 1782 This option select the standard 4kB Linux page size. On some 1783 R3000-family processors this is the only available page size. Using 1784 4kB page size will minimize memory consumption and is therefore 1785 recommended for low memory systems. 1786 1787config PAGE_SIZE_8KB 1788 bool "8kB" 1789 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON 1790 help 1791 Using 8kB page size will result in higher performance kernel at 1792 the price of higher memory consumption. This option is available 1793 only on R8000 and cnMIPS processors. Note that you will need a 1794 suitable Linux distribution to support this. 1795 1796config PAGE_SIZE_16KB 1797 bool "16kB" 1798 depends on !CPU_R3000 && !CPU_TX39XX 1799 help 1800 Using 16kB page size will result in higher performance kernel at 1801 the price of higher memory consumption. This option is available on 1802 all non-R3000 family processors. Note that you will need a suitable 1803 Linux distribution to support this. 1804 1805config PAGE_SIZE_32KB 1806 bool "32kB" 1807 depends on CPU_CAVIUM_OCTEON 1808 help 1809 Using 32kB page size will result in higher performance kernel at 1810 the price of higher memory consumption. This option is available 1811 only on cnMIPS cores. Note that you will need a suitable Linux 1812 distribution to support this. 1813 1814config PAGE_SIZE_64KB 1815 bool "64kB" 1816 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX 1817 help 1818 Using 64kB page size will result in higher performance kernel at 1819 the price of higher memory consumption. This option is available on 1820 all non-R3000 family processor. Not that at the time of this 1821 writing this option is still high experimental. 1822 1823endchoice 1824 1825config FORCE_MAX_ZONEORDER 1826 int "Maximum zone order" 1827 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB 1828 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB 1829 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB 1830 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB 1831 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB 1832 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB 1833 range 11 64 1834 default "11" 1835 help 1836 The kernel memory allocator divides physically contiguous memory 1837 blocks into "zones", where each zone is a power of two number of 1838 pages. This option selects the largest power of two that the kernel 1839 keeps in the memory allocator. If you need to allocate very large 1840 blocks of physically contiguous memory, then you may need to 1841 increase this value. 1842 1843 This config option is actually maximum order plus one. For example, 1844 a value of 11 means that the largest free memory block is 2^10 pages. 1845 1846 The page size is not necessarily 4KB. Keep this in mind 1847 when choosing a value for this option. 1848 1849config BOARD_SCACHE 1850 bool 1851 1852config IP22_CPU_SCACHE 1853 bool 1854 select BOARD_SCACHE 1855 1856# 1857# Support for a MIPS32 / MIPS64 style S-caches 1858# 1859config MIPS_CPU_SCACHE 1860 bool 1861 select BOARD_SCACHE 1862 1863config R5000_CPU_SCACHE 1864 bool 1865 select BOARD_SCACHE 1866 1867config RM7000_CPU_SCACHE 1868 bool 1869 select BOARD_SCACHE 1870 1871config SIBYTE_DMA_PAGEOPS 1872 bool "Use DMA to clear/copy pages" 1873 depends on CPU_SB1 1874 help 1875 Instead of using the CPU to zero and copy pages, use a Data Mover 1876 channel. These DMA channels are otherwise unused by the standard 1877 SiByte Linux port. Seems to give a small performance benefit. 1878 1879config CPU_HAS_PREFETCH 1880 bool 1881 1882choice 1883 prompt "MIPS MT options" 1884 1885config MIPS_MT_DISABLED 1886 bool "Disable multithreading support." 1887 help 1888 Use this option if your workload can't take advantage of 1889 MIPS hardware multithreading support. On systems that don't have 1890 the option of an MT-enabled processor this option will be the only 1891 option in this menu. 1892 1893config MIPS_MT_SMP 1894 bool "Use 1 TC on each available VPE for SMP" 1895 depends on SYS_SUPPORTS_MULTITHREADING 1896 select CPU_MIPSR2_IRQ_VI 1897 select CPU_MIPSR2_IRQ_EI 1898 select MIPS_MT 1899 select NR_CPUS_DEFAULT_2 1900 select SMP 1901 select SYS_SUPPORTS_SCHED_SMT if SMP 1902 select SYS_SUPPORTS_SMP 1903 select SMP_UP 1904 help 1905 This is a kernel model which is known a VSMP but lately has been 1906 marketesed into SMVP. 1907 Virtual SMP uses the processor's VPEs to implement virtual 1908 processors. In currently available configuration of the 34K processor 1909 this allows for a dual processor. Both processors will share the same 1910 primary caches; each will obtain the half of the TLB for it's own 1911 exclusive use. For a layman this model can be described as similar to 1912 what Intel calls Hyperthreading. 1913 1914 For further information see http://www.linux-mips.org/wiki/34K#VSMP 1915 1916config MIPS_MT_SMTC 1917 bool "SMTC: Use all TCs on all VPEs for SMP" 1918 depends on CPU_MIPS32_R2 1919 #depends on CPU_MIPS64_R2 # once there is hardware ... 1920 depends on SYS_SUPPORTS_MULTITHREADING 1921 select CPU_MIPSR2_IRQ_VI 1922 select CPU_MIPSR2_IRQ_EI 1923 select MIPS_MT 1924 select NR_CPUS_DEFAULT_8 1925 select SMP 1926 select SYS_SUPPORTS_SMP 1927 select SMP_UP 1928 help 1929 This is a kernel model which is known a SMTC or lately has been 1930 marketesed into SMVP. 1931 is presenting the available TC's of the core as processors to Linux. 1932 On currently available 34K processors this means a Linux system will 1933 see up to 5 processors. The implementation of the SMTC kernel differs 1934 significantly from VSMP and cannot efficiently coexist in the same 1935 kernel binary so the choice between VSMP and SMTC is a compile time 1936 decision. 1937 1938 For further information see http://www.linux-mips.org/wiki/34K#SMTC 1939 1940endchoice 1941 1942config MIPS_MT 1943 bool 1944 1945config SCHED_SMT 1946 bool "SMT (multithreading) scheduler support" 1947 depends on SYS_SUPPORTS_SCHED_SMT 1948 default n 1949 help 1950 SMT scheduler support improves the CPU scheduler's decision making 1951 when dealing with MIPS MT enabled cores at a cost of slightly 1952 increased overhead in some places. If unsure say N here. 1953 1954config SYS_SUPPORTS_SCHED_SMT 1955 bool 1956 1957 1958config SYS_SUPPORTS_MULTITHREADING 1959 bool 1960 1961config MIPS_MT_FPAFF 1962 bool "Dynamic FPU affinity for FP-intensive threads" 1963 default y 1964 depends on MIPS_MT_SMP || MIPS_MT_SMTC 1965 1966config MIPS_VPE_LOADER 1967 bool "VPE loader support." 1968 depends on SYS_SUPPORTS_MULTITHREADING 1969 select CPU_MIPSR2_IRQ_VI 1970 select CPU_MIPSR2_IRQ_EI 1971 select MIPS_MT 1972 help 1973 Includes a loader for loading an elf relocatable object 1974 onto another VPE and running it. 1975 1976config MIPS_MT_SMTC_IM_BACKSTOP 1977 bool "Use per-TC register bits as backstop for inhibited IM bits" 1978 depends on MIPS_MT_SMTC 1979 default n 1980 help 1981 To support multiple TC microthreads acting as "CPUs" within 1982 a VPE, VPE-wide interrupt mask bits must be specially manipulated 1983 during interrupt handling. To support legacy drivers and interrupt 1984 controller management code, SMTC has a "backstop" to track and 1985 if necessary restore the interrupt mask. This has some performance 1986 impact on interrupt service overhead. 1987 1988config MIPS_MT_SMTC_IRQAFF 1989 bool "Support IRQ affinity API" 1990 depends on MIPS_MT_SMTC 1991 default n 1992 help 1993 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.) 1994 for SMTC Linux kernel. Requires platform support, of which 1995 an example can be found in the MIPS kernel i8259 and Malta 1996 platform code. Adds some overhead to interrupt dispatch, and 1997 should be used only if you know what you are doing. 1998 1999config MIPS_VPE_LOADER_TOM 2000 bool "Load VPE program into memory hidden from linux" 2001 depends on MIPS_VPE_LOADER 2002 default y 2003 help 2004 The loader can use memory that is present but has been hidden from 2005 Linux using the kernel command line option "mem=xxMB". It's up to 2006 you to ensure the amount you put in the option and the space your 2007 program requires is less or equal to the amount physically present. 2008 2009# this should possibly be in drivers/char, but it is rather cpu related. Hmmm 2010config MIPS_VPE_APSP_API 2011 bool "Enable support for AP/SP API (RTLX)" 2012 depends on MIPS_VPE_LOADER 2013 help 2014 2015config MIPS_APSP_KSPD 2016 bool "Enable KSPD" 2017 depends on MIPS_VPE_APSP_API 2018 default y 2019 help 2020 KSPD is a kernel daemon that accepts syscall requests from the SP 2021 side, actions them and returns the results. It also handles the 2022 "exit" syscall notifying other kernel modules the SP program is 2023 exiting. You probably want to say yes here. 2024 2025config MIPS_CMP 2026 bool "MIPS CMP framework support" 2027 depends on SYS_SUPPORTS_MIPS_CMP 2028 select SYNC_R4K 2029 select SYS_SUPPORTS_SMP 2030 select SYS_SUPPORTS_SCHED_SMT if SMP 2031 select WEAK_ORDERING 2032 default n 2033 help 2034 This is a placeholder option for the GCMP work. It will need to 2035 be handled differently... 2036 2037config SB1_PASS_1_WORKAROUNDS 2038 bool 2039 depends on CPU_SB1_PASS_1 2040 default y 2041 2042config SB1_PASS_2_WORKAROUNDS 2043 bool 2044 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 2045 default y 2046 2047config SB1_PASS_2_1_WORKAROUNDS 2048 bool 2049 depends on CPU_SB1 && CPU_SB1_PASS_2 2050 default y 2051 2052config 64BIT_PHYS_ADDR 2053 bool 2054 2055config ARCH_PHYS_ADDR_T_64BIT 2056 def_bool 64BIT_PHYS_ADDR 2057 2058config CPU_HAS_SMARTMIPS 2059 depends on SYS_SUPPORTS_SMARTMIPS 2060 bool "Support for the SmartMIPS ASE" 2061 help 2062 SmartMIPS is a extension of the MIPS32 architecture aimed at 2063 increased security at both hardware and software level for 2064 smartcards. Enabling this option will allow proper use of the 2065 SmartMIPS instructions by Linux applications. However a kernel with 2066 this option will not work on a MIPS core without SmartMIPS core. If 2067 you don't know you probably don't have SmartMIPS and should say N 2068 here. 2069 2070config CPU_HAS_WB 2071 bool 2072 2073config XKS01 2074 bool 2075 2076# 2077# Vectored interrupt mode is an R2 feature 2078# 2079config CPU_MIPSR2_IRQ_VI 2080 bool 2081 2082# 2083# Extended interrupt mode is an R2 feature 2084# 2085config CPU_MIPSR2_IRQ_EI 2086 bool 2087 2088config CPU_HAS_SYNC 2089 bool 2090 depends on !CPU_R3000 2091 default y 2092 2093# 2094# CPU non-features 2095# 2096config CPU_DADDI_WORKAROUNDS 2097 bool 2098 2099config CPU_R4000_WORKAROUNDS 2100 bool 2101 select CPU_R4400_WORKAROUNDS 2102 2103config CPU_R4400_WORKAROUNDS 2104 bool 2105 2106# 2107# - Highmem only makes sense for the 32-bit kernel. 2108# - The current highmem code will only work properly on physically indexed 2109# caches such as R3000, SB1, R7000 or those that look like they're virtually 2110# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 2111# moment we protect the user and offer the highmem option only on machines 2112# where it's known to be safe. This will not offer highmem on a few systems 2113# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 2114# indexed CPUs but we're playing safe. 2115# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 2116# know they might have memory configurations that could make use of highmem 2117# support. 2118# 2119config HIGHMEM 2120 bool "High Memory Support" 2121 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM 2122 2123config CPU_SUPPORTS_HIGHMEM 2124 bool 2125 2126config SYS_SUPPORTS_HIGHMEM 2127 bool 2128 2129config SYS_SUPPORTS_SMARTMIPS 2130 bool 2131 2132config ARCH_FLATMEM_ENABLE 2133 def_bool y 2134 depends on !NUMA && !CPU_LOONGSON2 2135 2136config ARCH_DISCONTIGMEM_ENABLE 2137 bool 2138 default y if SGI_IP27 2139 help 2140 Say Y to support efficient handling of discontiguous physical memory, 2141 for architectures which are either NUMA (Non-Uniform Memory Access) 2142 or have huge holes in the physical address space for other reasons. 2143 See <file:Documentation/vm/numa> for more. 2144 2145config ARCH_SPARSEMEM_ENABLE 2146 bool 2147 select SPARSEMEM_STATIC 2148 2149config NUMA 2150 bool "NUMA Support" 2151 depends on SYS_SUPPORTS_NUMA 2152 help 2153 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2154 Access). This option improves performance on systems with more 2155 than two nodes; on two node systems it is generally better to 2156 leave it disabled; on single node systems disable this option 2157 disabled. 2158 2159config SYS_SUPPORTS_NUMA 2160 bool 2161 2162config NODES_SHIFT 2163 int 2164 default "6" 2165 depends on NEED_MULTIPLE_NODES 2166 2167config HW_PERF_EVENTS 2168 bool "Enable hardware performance counter support for perf events" 2169 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON) 2170 default y 2171 help 2172 Enable hardware performance counter support for perf events. If 2173 disabled, perf events will use software events only. 2174 2175source "mm/Kconfig" 2176 2177config SMP 2178 bool "Multi-Processing support" 2179 depends on SYS_SUPPORTS_SMP 2180 select IRQ_PER_CPU 2181 select USE_GENERIC_SMP_HELPERS 2182 help 2183 This enables support for systems with more than one CPU. If you have 2184 a system with only one CPU, like most personal computers, say N. If 2185 you have a system with more than one CPU, say Y. 2186 2187 If you say N here, the kernel will run on single and multiprocessor 2188 machines, but will use only one CPU of a multiprocessor machine. If 2189 you say Y here, the kernel will run on many, but not all, 2190 singleprocessor machines. On a singleprocessor machine, the kernel 2191 will run faster if you say N here. 2192 2193 People using multiprocessor machines who say Y here should also say 2194 Y to "Enhanced Real Time Clock Support", below. 2195 2196 See also the SMP-HOWTO available at 2197 <http://www.tldp.org/docs.html#howto>. 2198 2199 If you don't know what to do here, say N. 2200 2201config SMP_UP 2202 bool 2203 2204config SYS_SUPPORTS_MIPS_CMP 2205 bool 2206 2207config SYS_SUPPORTS_SMP 2208 bool 2209 2210config NR_CPUS_DEFAULT_1 2211 bool 2212 2213config NR_CPUS_DEFAULT_2 2214 bool 2215 2216config NR_CPUS_DEFAULT_4 2217 bool 2218 2219config NR_CPUS_DEFAULT_8 2220 bool 2221 2222config NR_CPUS_DEFAULT_16 2223 bool 2224 2225config NR_CPUS_DEFAULT_32 2226 bool 2227 2228config NR_CPUS_DEFAULT_64 2229 bool 2230 2231config NR_CPUS 2232 int "Maximum number of CPUs (2-64)" 2233 range 1 64 if NR_CPUS_DEFAULT_1 2234 depends on SMP 2235 default "1" if NR_CPUS_DEFAULT_1 2236 default "2" if NR_CPUS_DEFAULT_2 2237 default "4" if NR_CPUS_DEFAULT_4 2238 default "8" if NR_CPUS_DEFAULT_8 2239 default "16" if NR_CPUS_DEFAULT_16 2240 default "32" if NR_CPUS_DEFAULT_32 2241 default "64" if NR_CPUS_DEFAULT_64 2242 help 2243 This allows you to specify the maximum number of CPUs which this 2244 kernel will support. The maximum supported value is 32 for 32-bit 2245 kernel and 64 for 64-bit kernels; the minimum value which makes 2246 sense is 1 for Qemu (useful only for kernel debugging purposes) 2247 and 2 for all others. 2248 2249 This is purely to save memory - each supported CPU adds 2250 approximately eight kilobytes to the kernel image. For best 2251 performance should round up your number of processors to the next 2252 power of two. 2253 2254# 2255# Timer Interrupt Frequency Configuration 2256# 2257 2258choice 2259 prompt "Timer frequency" 2260 default HZ_250 2261 help 2262 Allows the configuration of the timer frequency. 2263 2264 config HZ_48 2265 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 2266 2267 config HZ_100 2268 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 2269 2270 config HZ_128 2271 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 2272 2273 config HZ_250 2274 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 2275 2276 config HZ_256 2277 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 2278 2279 config HZ_1000 2280 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 2281 2282 config HZ_1024 2283 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 2284 2285endchoice 2286 2287config SYS_SUPPORTS_48HZ 2288 bool 2289 2290config SYS_SUPPORTS_100HZ 2291 bool 2292 2293config SYS_SUPPORTS_128HZ 2294 bool 2295 2296config SYS_SUPPORTS_250HZ 2297 bool 2298 2299config SYS_SUPPORTS_256HZ 2300 bool 2301 2302config SYS_SUPPORTS_1000HZ 2303 bool 2304 2305config SYS_SUPPORTS_1024HZ 2306 bool 2307 2308config SYS_SUPPORTS_ARBIT_HZ 2309 bool 2310 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ 2311 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ 2312 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ 2313 !SYS_SUPPORTS_1024HZ 2314 2315config HZ 2316 int 2317 default 48 if HZ_48 2318 default 100 if HZ_100 2319 default 128 if HZ_128 2320 default 250 if HZ_250 2321 default 256 if HZ_256 2322 default 1000 if HZ_1000 2323 default 1024 if HZ_1024 2324 2325source "kernel/Kconfig.preempt" 2326 2327config KEXEC 2328 bool "Kexec system call (EXPERIMENTAL)" 2329 depends on EXPERIMENTAL 2330 help 2331 kexec is a system call that implements the ability to shutdown your 2332 current kernel, and to start another kernel. It is like a reboot 2333 but it is independent of the system firmware. And like a reboot 2334 you can start any kernel with it, not just Linux. 2335 2336 The name comes from the similarity to the exec system call. 2337 2338 It is an ongoing process to be certain the hardware in a machine 2339 is properly shutdown, so do not be surprised if this code does not 2340 initially work for you. It may help to enable device hotplugging 2341 support. As of this writing the exact hardware interface is 2342 strongly in flux, so no good recommendation can be made. 2343 2344config SECCOMP 2345 bool "Enable seccomp to safely compute untrusted bytecode" 2346 depends on PROC_FS 2347 default y 2348 help 2349 This kernel feature is useful for number crunching applications 2350 that may need to compute untrusted bytecode during their 2351 execution. By using pipes or other transports made available to 2352 the process as file descriptors supporting the read/write 2353 syscalls, it's possible to isolate those applications in 2354 their own address space using seccomp. Once seccomp is 2355 enabled via /proc/<pid>/seccomp, it cannot be disabled 2356 and the task is only allowed to execute a few safe syscalls 2357 defined by each seccomp mode. 2358 2359 If unsure, say Y. Only embedded should say N here. 2360 2361config USE_OF 2362 bool "Flattened Device Tree support" 2363 select OF 2364 select OF_EARLY_FLATTREE 2365 select IRQ_DOMAIN 2366 help 2367 Include support for flattened device tree machine descriptions. 2368 2369endmenu 2370 2371config LOCKDEP_SUPPORT 2372 bool 2373 default y 2374 2375config STACKTRACE_SUPPORT 2376 bool 2377 default y 2378 2379source "init/Kconfig" 2380 2381source "kernel/Kconfig.freezer" 2382 2383menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2384 2385config HW_HAS_EISA 2386 bool 2387config HW_HAS_PCI 2388 bool 2389 2390config PCI 2391 bool "Support for PCI controller" 2392 depends on HW_HAS_PCI 2393 select PCI_DOMAINS 2394 select GENERIC_PCI_IOMAP 2395 select NO_GENERIC_PCI_IOPORT_MAP 2396 help 2397 Find out whether you have a PCI motherboard. PCI is the name of a 2398 bus system, i.e. the way the CPU talks to the other stuff inside 2399 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2400 say Y, otherwise N. 2401 2402config PCI_DOMAINS 2403 bool 2404 2405source "drivers/pci/Kconfig" 2406 2407source "drivers/pci/pcie/Kconfig" 2408 2409# 2410# ISA support is now enabled via select. Too many systems still have the one 2411# or other ISA chip on the board that users don't know about so don't expect 2412# users to choose the right thing ... 2413# 2414config ISA 2415 bool 2416 2417config EISA 2418 bool "EISA support" 2419 depends on HW_HAS_EISA 2420 select ISA 2421 select GENERIC_ISA_DMA 2422 ---help--- 2423 The Extended Industry Standard Architecture (EISA) bus was 2424 developed as an open alternative to the IBM MicroChannel bus. 2425 2426 The EISA bus provided some of the features of the IBM MicroChannel 2427 bus while maintaining backward compatibility with cards made for 2428 the older ISA bus. The EISA bus saw limited use between 1988 and 2429 1995 when it was made obsolete by the PCI bus. 2430 2431 Say Y here if you are building a kernel for an EISA-based machine. 2432 2433 Otherwise, say N. 2434 2435source "drivers/eisa/Kconfig" 2436 2437config TC 2438 bool "TURBOchannel support" 2439 depends on MACH_DECSTATION 2440 help 2441 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 2442 processors. TURBOchannel programming specifications are available 2443 at: 2444 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 2445 and: 2446 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 2447 Linux driver support status is documented at: 2448 <http://www.linux-mips.org/wiki/DECstation> 2449 2450config MMU 2451 bool 2452 default y 2453 2454config I8253 2455 bool 2456 select CLKSRC_I8253 2457 select CLKEVT_I8253 2458 select MIPS_EXTERNAL_TIMER 2459 2460config ZONE_DMA32 2461 bool 2462 2463source "drivers/pcmcia/Kconfig" 2464 2465source "drivers/pci/hotplug/Kconfig" 2466 2467config RAPIDIO 2468 bool "RapidIO support" 2469 depends on PCI 2470 default n 2471 help 2472 If you say Y here, the kernel will include drivers and 2473 infrastructure code to support RapidIO interconnect devices. 2474 2475source "drivers/rapidio/Kconfig" 2476 2477endmenu 2478 2479menu "Executable file formats" 2480 2481source "fs/Kconfig.binfmt" 2482 2483config TRAD_SIGNALS 2484 bool 2485 2486config MIPS32_COMPAT 2487 bool "Kernel support for Linux/MIPS 32-bit binary compatibility" 2488 depends on 64BIT 2489 help 2490 Select this option if you want Linux/MIPS 32-bit binary 2491 compatibility. Since all software available for Linux/MIPS is 2492 currently 32-bit you should say Y here. 2493 2494config COMPAT 2495 bool 2496 depends on MIPS32_COMPAT 2497 select ARCH_WANT_OLD_COMPAT_IPC 2498 default y 2499 2500config SYSVIPC_COMPAT 2501 bool 2502 depends on COMPAT && SYSVIPC 2503 default y 2504 2505config MIPS32_O32 2506 bool "Kernel support for o32 binaries" 2507 depends on MIPS32_COMPAT 2508 help 2509 Select this option if you want to run o32 binaries. These are pure 2510 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2511 existing binaries are in this format. 2512 2513 If unsure, say Y. 2514 2515config MIPS32_N32 2516 bool "Kernel support for n32 binaries" 2517 depends on MIPS32_COMPAT 2518 help 2519 Select this option if you want to run n32 binaries. These are 2520 64-bit binaries using 32-bit quantities for addressing and certain 2521 data that would normally be 64-bit. They are used in special 2522 cases. 2523 2524 If unsure, say N. 2525 2526config BINFMT_ELF32 2527 bool 2528 default y if MIPS32_O32 || MIPS32_N32 2529 2530endmenu 2531 2532menu "Power management options" 2533 2534config ARCH_HIBERNATION_POSSIBLE 2535 def_bool y 2536 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2537 2538config ARCH_SUSPEND_POSSIBLE 2539 def_bool y 2540 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2541 2542source "kernel/power/Kconfig" 2543 2544endmenu 2545 2546source "arch/mips/kernel/cpufreq/Kconfig" 2547 2548source "net/Kconfig" 2549 2550source "drivers/Kconfig" 2551 2552source "fs/Kconfig" 2553 2554source "arch/mips/Kconfig.debug" 2555 2556source "security/Kconfig" 2557 2558source "crypto/Kconfig" 2559 2560source "lib/Kconfig" 2561