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