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