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