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