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