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 USE_GENERIC_EARLY_PRINTK_8250 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 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 select USE_GENERIC_EARLY_PRINTK_8250 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 select USE_GENERIC_EARLY_PRINTK_8250 678 help 679 The SNI RM200/300/400 are MIPS-based machines manufactured by 680 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid 681 Technology and now in turn merged with Fujitsu. Say Y here to 682 support this machine type. 683 684config MACH_TX39XX 685 bool "Toshiba TX39 series based machines" 686 687config MACH_TX49XX 688 bool "Toshiba TX49 series based machines" 689 690config MIKROTIK_RB532 691 bool "Mikrotik RB532 boards" 692 select CEVT_R4K 693 select CSRC_R4K 694 select DMA_NONCOHERENT 695 select HW_HAS_PCI 696 select IRQ_CPU 697 select SYS_HAS_CPU_MIPS32_R1 698 select SYS_SUPPORTS_32BIT_KERNEL 699 select SYS_SUPPORTS_LITTLE_ENDIAN 700 select SWAP_IO_SPACE 701 select BOOT_RAW 702 select ARCH_REQUIRE_GPIOLIB 703 select MIPS_L1_CACHE_SHIFT_4 704 help 705 Support the Mikrotik(tm) RouterBoard 532 series, 706 based on the IDT RC32434 SoC. 707 708config CAVIUM_OCTEON_SOC 709 bool "Cavium Networks Octeon SoC based boards" 710 select CEVT_R4K 711 select 64BIT_PHYS_ADDR 712 select DMA_COHERENT 713 select SYS_SUPPORTS_64BIT_KERNEL 714 select SYS_SUPPORTS_BIG_ENDIAN 715 select EDAC_SUPPORT 716 select SYS_SUPPORTS_HOTPLUG_CPU 717 select SYS_HAS_EARLY_PRINTK 718 select SYS_HAS_CPU_CAVIUM_OCTEON 719 select SWAP_IO_SPACE 720 select HW_HAS_PCI 721 select ZONE_DMA32 722 select USB_ARCH_HAS_OHCI 723 select USB_ARCH_HAS_EHCI 724 select HOLES_IN_ZONE 725 select ARCH_REQUIRE_GPIOLIB 726 help 727 This option supports all of the Octeon reference boards from Cavium 728 Networks. It builds a kernel that dynamically determines the Octeon 729 CPU type and supports all known board reference implementations. 730 Some of the supported boards are: 731 EBT3000 732 EBH3000 733 EBH3100 734 Thunder 735 Kodama 736 Hikari 737 Say Y here for most Octeon reference boards. 738 739config NLM_XLR_BOARD 740 bool "Netlogic XLR/XLS based systems" 741 select BOOT_ELF32 742 select NLM_COMMON 743 select SYS_HAS_CPU_XLR 744 select SYS_SUPPORTS_SMP 745 select HW_HAS_PCI 746 select SWAP_IO_SPACE 747 select SYS_SUPPORTS_32BIT_KERNEL 748 select SYS_SUPPORTS_64BIT_KERNEL 749 select 64BIT_PHYS_ADDR 750 select SYS_SUPPORTS_BIG_ENDIAN 751 select SYS_SUPPORTS_HIGHMEM 752 select DMA_COHERENT 753 select NR_CPUS_DEFAULT_32 754 select CEVT_R4K 755 select CSRC_R4K 756 select IRQ_CPU 757 select ZONE_DMA32 if 64BIT 758 select SYNC_R4K 759 select SYS_HAS_EARLY_PRINTK 760 select USB_ARCH_HAS_OHCI if USB_SUPPORT 761 select USB_ARCH_HAS_EHCI if USB_SUPPORT 762 select SYS_SUPPORTS_ZBOOT 763 select SYS_SUPPORTS_ZBOOT_UART16550 764 help 765 Support for systems based on Netlogic XLR and XLS processors. 766 Say Y here if you have a XLR or XLS based board. 767 768config NLM_XLP_BOARD 769 bool "Netlogic XLP based systems" 770 select BOOT_ELF32 771 select NLM_COMMON 772 select SYS_HAS_CPU_XLP 773 select SYS_SUPPORTS_SMP 774 select HW_HAS_PCI 775 select SYS_SUPPORTS_32BIT_KERNEL 776 select SYS_SUPPORTS_64BIT_KERNEL 777 select 64BIT_PHYS_ADDR 778 select SYS_SUPPORTS_BIG_ENDIAN 779 select SYS_SUPPORTS_LITTLE_ENDIAN 780 select SYS_SUPPORTS_HIGHMEM 781 select DMA_COHERENT 782 select NR_CPUS_DEFAULT_32 783 select CEVT_R4K 784 select CSRC_R4K 785 select IRQ_CPU 786 select ARCH_SUPPORTS_MSI 787 select ZONE_DMA32 if 64BIT 788 select SYNC_R4K 789 select SYS_HAS_EARLY_PRINTK 790 select USE_OF 791 select SYS_SUPPORTS_ZBOOT 792 select SYS_SUPPORTS_ZBOOT_UART16550 793 help 794 This board is based on Netlogic XLP Processor. 795 Say Y here if you have a XLP based board. 796 797endchoice 798 799source "arch/mips/alchemy/Kconfig" 800source "arch/mips/ath79/Kconfig" 801source "arch/mips/bcm47xx/Kconfig" 802source "arch/mips/bcm63xx/Kconfig" 803source "arch/mips/jazz/Kconfig" 804source "arch/mips/jz4740/Kconfig" 805source "arch/mips/lantiq/Kconfig" 806source "arch/mips/lasat/Kconfig" 807source "arch/mips/pmcs-msp71xx/Kconfig" 808source "arch/mips/ralink/Kconfig" 809source "arch/mips/sgi-ip27/Kconfig" 810source "arch/mips/sibyte/Kconfig" 811source "arch/mips/txx9/Kconfig" 812source "arch/mips/vr41xx/Kconfig" 813source "arch/mips/cavium-octeon/Kconfig" 814source "arch/mips/loongson/Kconfig" 815source "arch/mips/loongson1/Kconfig" 816source "arch/mips/netlogic/Kconfig" 817 818endmenu 819 820config RWSEM_GENERIC_SPINLOCK 821 bool 822 default y 823 824config RWSEM_XCHGADD_ALGORITHM 825 bool 826 827config ARCH_HAS_ILOG2_U32 828 bool 829 default n 830 831config ARCH_HAS_ILOG2_U64 832 bool 833 default n 834 835config GENERIC_HWEIGHT 836 bool 837 default y 838 839config GENERIC_CALIBRATE_DELAY 840 bool 841 default y 842 843config SCHED_OMIT_FRAME_POINTER 844 bool 845 default y 846 847# 848# Select some configuration options automatically based on user selections. 849# 850config FW_ARC 851 bool 852 853config ARCH_MAY_HAVE_PC_FDC 854 bool 855 856config BOOT_RAW 857 bool 858 859config CEVT_BCM1480 860 bool 861 862config CEVT_DS1287 863 bool 864 865config CEVT_GT641XX 866 bool 867 868config CEVT_R4K 869 bool 870 871config CEVT_GIC 872 bool 873 874config CEVT_SB1250 875 bool 876 877config CEVT_TXX9 878 bool 879 880config CSRC_BCM1480 881 bool 882 883config CSRC_IOASIC 884 bool 885 886config CSRC_R4K 887 bool 888 889config CSRC_GIC 890 bool 891 892config CSRC_SB1250 893 bool 894 895config GPIO_TXX9 896 select ARCH_REQUIRE_GPIOLIB 897 bool 898 899config FW_CFE 900 bool 901 902config ARCH_DMA_ADDR_T_64BIT 903 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT 904 905config DMA_MAYBE_COHERENT 906 select DMA_NONCOHERENT 907 bool 908 909config DMA_COHERENT 910 bool 911 912config DMA_NONCOHERENT 913 bool 914 select NEED_DMA_MAP_STATE 915 916config NEED_DMA_MAP_STATE 917 bool 918 919config SYS_HAS_EARLY_PRINTK 920 bool 921 922config HOTPLUG_CPU 923 bool "Support for hot-pluggable CPUs" 924 depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU 925 help 926 Say Y here to allow turning CPUs off and on. CPUs can be 927 controlled through /sys/devices/system/cpu. 928 (Note: power management support will enable this option 929 automatically on SMP systems. ) 930 Say N if you want to disable CPU hotplug. 931 932config SYS_SUPPORTS_HOTPLUG_CPU 933 bool 934 935config I8259 936 bool 937 938config MIPS_BONITO64 939 bool 940 941config MIPS_MSC 942 bool 943 944config MIPS_NILE4 945 bool 946 947config SYNC_R4K 948 bool 949 950config MIPS_MACHINE 951 def_bool n 952 953config NO_IOPORT 954 def_bool n 955 956config GENERIC_ISA_DMA 957 bool 958 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 959 select ISA_DMA_API 960 961config GENERIC_ISA_DMA_SUPPORT_BROKEN 962 bool 963 select GENERIC_ISA_DMA 964 965config ISA_DMA_API 966 bool 967 968config HOLES_IN_ZONE 969 bool 970 971# 972# Endianness selection. Sufficiently obscure so many users don't know what to 973# answer,so we try hard to limit the available choices. Also the use of a 974# choice statement should be more obvious to the user. 975# 976choice 977 prompt "Endianness selection" 978 help 979 Some MIPS machines can be configured for either little or big endian 980 byte order. These modes require different kernels and a different 981 Linux distribution. In general there is one preferred byteorder for a 982 particular system but some systems are just as commonly used in the 983 one or the other endianness. 984 985config CPU_BIG_ENDIAN 986 bool "Big endian" 987 depends on SYS_SUPPORTS_BIG_ENDIAN 988 989config CPU_LITTLE_ENDIAN 990 bool "Little endian" 991 depends on SYS_SUPPORTS_LITTLE_ENDIAN 992 993endchoice 994 995config EXPORT_UASM 996 bool 997 998config SYS_SUPPORTS_APM_EMULATION 999 bool 1000 1001config SYS_SUPPORTS_BIG_ENDIAN 1002 bool 1003 1004config SYS_SUPPORTS_LITTLE_ENDIAN 1005 bool 1006 1007config SYS_SUPPORTS_HUGETLBFS 1008 bool 1009 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT 1010 default y 1011 1012config MIPS_HUGE_TLB_SUPPORT 1013 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE 1014 1015config IRQ_CPU 1016 bool 1017 1018config IRQ_CPU_RM7K 1019 bool 1020 1021config IRQ_MSP_SLP 1022 bool 1023 1024config IRQ_MSP_CIC 1025 bool 1026 1027config IRQ_TXX9 1028 bool 1029 1030config IRQ_GT641XX 1031 bool 1032 1033config IRQ_GIC 1034 bool 1035 1036config PCI_GT64XXX_PCI0 1037 bool 1038 1039config NO_EXCEPT_FILL 1040 bool 1041 1042config SOC_EMMA2RH 1043 bool 1044 select CEVT_R4K 1045 select CSRC_R4K 1046 select DMA_NONCOHERENT 1047 select IRQ_CPU 1048 select SWAP_IO_SPACE 1049 select SYS_HAS_CPU_R5500 1050 select SYS_SUPPORTS_32BIT_KERNEL 1051 select SYS_SUPPORTS_64BIT_KERNEL 1052 select SYS_SUPPORTS_BIG_ENDIAN 1053 1054config SOC_PNX833X 1055 bool 1056 select CEVT_R4K 1057 select CSRC_R4K 1058 select IRQ_CPU 1059 select DMA_NONCOHERENT 1060 select SYS_HAS_CPU_MIPS32_R2 1061 select SYS_SUPPORTS_32BIT_KERNEL 1062 select SYS_SUPPORTS_LITTLE_ENDIAN 1063 select SYS_SUPPORTS_BIG_ENDIAN 1064 select CPU_MIPSR2_IRQ_VI 1065 1066config SOC_PNX8335 1067 bool 1068 select SOC_PNX833X 1069 1070config SWAP_IO_SPACE 1071 bool 1072 1073config SGI_HAS_INDYDOG 1074 bool 1075 1076config SGI_HAS_HAL2 1077 bool 1078 1079config SGI_HAS_SEEQ 1080 bool 1081 1082config SGI_HAS_WD93 1083 bool 1084 1085config SGI_HAS_ZILOG 1086 bool 1087 1088config SGI_HAS_I8042 1089 bool 1090 1091config DEFAULT_SGI_PARTITION 1092 bool 1093 1094config FW_ARC32 1095 bool 1096 1097config FW_SNIPROM 1098 bool 1099 1100config BOOT_ELF32 1101 bool 1102 1103config MIPS_L1_CACHE_SHIFT_4 1104 bool 1105 1106config MIPS_L1_CACHE_SHIFT_5 1107 bool 1108 1109config MIPS_L1_CACHE_SHIFT_6 1110 bool 1111 1112config MIPS_L1_CACHE_SHIFT_7 1113 bool 1114 1115config MIPS_L1_CACHE_SHIFT 1116 int 1117 default "4" if MIPS_L1_CACHE_SHIFT_4 1118 default "5" if MIPS_L1_CACHE_SHIFT_5 1119 default "6" if MIPS_L1_CACHE_SHIFT_6 1120 default "7" if MIPS_L1_CACHE_SHIFT_7 1121 default "5" 1122 1123config HAVE_STD_PC_SERIAL_PORT 1124 bool 1125 1126config ARC_CONSOLE 1127 bool "ARC console support" 1128 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 1129 1130config ARC_MEMORY 1131 bool 1132 depends on MACH_JAZZ || SNI_RM || SGI_IP32 1133 default y 1134 1135config ARC_PROMLIB 1136 bool 1137 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 1138 default y 1139 1140config FW_ARC64 1141 bool 1142 1143config BOOT_ELF64 1144 bool 1145 1146menu "CPU selection" 1147 1148choice 1149 prompt "CPU type" 1150 default CPU_R4X00 1151 1152config CPU_LOONGSON2E 1153 bool "Loongson 2E" 1154 depends on SYS_HAS_CPU_LOONGSON2E 1155 select CPU_LOONGSON2 1156 help 1157 The Loongson 2E processor implements the MIPS III instruction set 1158 with many extensions. 1159 1160 It has an internal FPGA northbridge, which is compatible to 1161 bonito64. 1162 1163config CPU_LOONGSON2F 1164 bool "Loongson 2F" 1165 depends on SYS_HAS_CPU_LOONGSON2F 1166 select CPU_LOONGSON2 1167 select ARCH_REQUIRE_GPIOLIB 1168 help 1169 The Loongson 2F processor implements the MIPS III instruction set 1170 with many extensions. 1171 1172 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller 1173 have a similar programming interface with FPGA northbridge used in 1174 Loongson2E. 1175 1176config CPU_LOONGSON1B 1177 bool "Loongson 1B" 1178 depends on SYS_HAS_CPU_LOONGSON1B 1179 select CPU_LOONGSON1 1180 help 1181 The Loongson 1B is a 32-bit SoC, which implements the MIPS32 1182 release 2 instruction set. 1183 1184config CPU_MIPS32_R1 1185 bool "MIPS32 Release 1" 1186 depends on SYS_HAS_CPU_MIPS32_R1 1187 select CPU_HAS_PREFETCH 1188 select CPU_SUPPORTS_32BIT_KERNEL 1189 select CPU_SUPPORTS_HIGHMEM 1190 help 1191 Choose this option to build a kernel for release 1 or later of the 1192 MIPS32 architecture. Most modern embedded systems with a 32-bit 1193 MIPS processor are based on a MIPS32 processor. If you know the 1194 specific type of processor in your system, choose those that one 1195 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1196 Release 2 of the MIPS32 architecture is available since several 1197 years so chances are you even have a MIPS32 Release 2 processor 1198 in which case you should choose CPU_MIPS32_R2 instead for better 1199 performance. 1200 1201config CPU_MIPS32_R2 1202 bool "MIPS32 Release 2" 1203 depends on SYS_HAS_CPU_MIPS32_R2 1204 select CPU_HAS_PREFETCH 1205 select CPU_SUPPORTS_32BIT_KERNEL 1206 select CPU_SUPPORTS_HIGHMEM 1207 select HAVE_KVM 1208 help 1209 Choose this option to build a kernel for release 2 or later of the 1210 MIPS32 architecture. Most modern embedded systems with a 32-bit 1211 MIPS processor are based on a MIPS32 processor. If you know the 1212 specific type of processor in your system, choose those that one 1213 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1214 1215config CPU_MIPS64_R1 1216 bool "MIPS64 Release 1" 1217 depends on SYS_HAS_CPU_MIPS64_R1 1218 select CPU_HAS_PREFETCH 1219 select CPU_SUPPORTS_32BIT_KERNEL 1220 select CPU_SUPPORTS_64BIT_KERNEL 1221 select CPU_SUPPORTS_HIGHMEM 1222 select CPU_SUPPORTS_HUGEPAGES 1223 help 1224 Choose this option to build a kernel for release 1 or later of the 1225 MIPS64 architecture. Many modern embedded systems with a 64-bit 1226 MIPS processor are based on a MIPS64 processor. If you know the 1227 specific type of processor in your system, choose those that one 1228 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1229 Release 2 of the MIPS64 architecture is available since several 1230 years so chances are you even have a MIPS64 Release 2 processor 1231 in which case you should choose CPU_MIPS64_R2 instead for better 1232 performance. 1233 1234config CPU_MIPS64_R2 1235 bool "MIPS64 Release 2" 1236 depends on SYS_HAS_CPU_MIPS64_R2 1237 select CPU_HAS_PREFETCH 1238 select CPU_SUPPORTS_32BIT_KERNEL 1239 select CPU_SUPPORTS_64BIT_KERNEL 1240 select CPU_SUPPORTS_HIGHMEM 1241 select CPU_SUPPORTS_HUGEPAGES 1242 help 1243 Choose this option to build a kernel for release 2 or later of the 1244 MIPS64 architecture. Many modern embedded systems with a 64-bit 1245 MIPS processor are based on a MIPS64 processor. If you know the 1246 specific type of processor in your system, choose those that one 1247 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1248 1249config CPU_R3000 1250 bool "R3000" 1251 depends on SYS_HAS_CPU_R3000 1252 select CPU_HAS_WB 1253 select CPU_SUPPORTS_32BIT_KERNEL 1254 select CPU_SUPPORTS_HIGHMEM 1255 help 1256 Please make sure to pick the right CPU type. Linux/MIPS is not 1257 designed to be generic, i.e. Kernels compiled for R3000 CPUs will 1258 *not* work on R4000 machines and vice versa. However, since most 1259 of the supported machines have an R4000 (or similar) CPU, R4x00 1260 might be a safe bet. If the resulting kernel does not work, 1261 try to recompile with R3000. 1262 1263config CPU_TX39XX 1264 bool "R39XX" 1265 depends on SYS_HAS_CPU_TX39XX 1266 select CPU_SUPPORTS_32BIT_KERNEL 1267 1268config CPU_VR41XX 1269 bool "R41xx" 1270 depends on SYS_HAS_CPU_VR41XX 1271 select CPU_SUPPORTS_32BIT_KERNEL 1272 select CPU_SUPPORTS_64BIT_KERNEL 1273 help 1274 The options selects support for the NEC VR4100 series of processors. 1275 Only choose this option if you have one of these processors as a 1276 kernel built with this option will not run on any other type of 1277 processor or vice versa. 1278 1279config CPU_R4300 1280 bool "R4300" 1281 depends on SYS_HAS_CPU_R4300 1282 select CPU_SUPPORTS_32BIT_KERNEL 1283 select CPU_SUPPORTS_64BIT_KERNEL 1284 help 1285 MIPS Technologies R4300-series processors. 1286 1287config CPU_R4X00 1288 bool "R4x00" 1289 depends on SYS_HAS_CPU_R4X00 1290 select CPU_SUPPORTS_32BIT_KERNEL 1291 select CPU_SUPPORTS_64BIT_KERNEL 1292 select CPU_SUPPORTS_HUGEPAGES 1293 help 1294 MIPS Technologies R4000-series processors other than 4300, including 1295 the R4000, R4400, R4600, and 4700. 1296 1297config CPU_TX49XX 1298 bool "R49XX" 1299 depends on SYS_HAS_CPU_TX49XX 1300 select CPU_HAS_PREFETCH 1301 select CPU_SUPPORTS_32BIT_KERNEL 1302 select CPU_SUPPORTS_64BIT_KERNEL 1303 select CPU_SUPPORTS_HUGEPAGES 1304 1305config CPU_R5000 1306 bool "R5000" 1307 depends on SYS_HAS_CPU_R5000 1308 select CPU_SUPPORTS_32BIT_KERNEL 1309 select CPU_SUPPORTS_64BIT_KERNEL 1310 select CPU_SUPPORTS_HUGEPAGES 1311 help 1312 MIPS Technologies R5000-series processors other than the Nevada. 1313 1314config CPU_R5432 1315 bool "R5432" 1316 depends on SYS_HAS_CPU_R5432 1317 select CPU_SUPPORTS_32BIT_KERNEL 1318 select CPU_SUPPORTS_64BIT_KERNEL 1319 select CPU_SUPPORTS_HUGEPAGES 1320 1321config CPU_R5500 1322 bool "R5500" 1323 depends on SYS_HAS_CPU_R5500 1324 select CPU_SUPPORTS_32BIT_KERNEL 1325 select CPU_SUPPORTS_64BIT_KERNEL 1326 select CPU_SUPPORTS_HUGEPAGES 1327 help 1328 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1329 instruction set. 1330 1331config CPU_R6000 1332 bool "R6000" 1333 depends on SYS_HAS_CPU_R6000 1334 select CPU_SUPPORTS_32BIT_KERNEL 1335 help 1336 MIPS Technologies R6000 and R6000A series processors. Note these 1337 processors are extremely rare and the support for them is incomplete. 1338 1339config CPU_NEVADA 1340 bool "RM52xx" 1341 depends on SYS_HAS_CPU_NEVADA 1342 select CPU_SUPPORTS_32BIT_KERNEL 1343 select CPU_SUPPORTS_64BIT_KERNEL 1344 select CPU_SUPPORTS_HUGEPAGES 1345 help 1346 QED / PMC-Sierra RM52xx-series ("Nevada") processors. 1347 1348config CPU_R8000 1349 bool "R8000" 1350 depends on SYS_HAS_CPU_R8000 1351 select CPU_HAS_PREFETCH 1352 select CPU_SUPPORTS_64BIT_KERNEL 1353 help 1354 MIPS Technologies R8000 processors. Note these processors are 1355 uncommon and the support for them is incomplete. 1356 1357config CPU_R10000 1358 bool "R10000" 1359 depends on SYS_HAS_CPU_R10000 1360 select CPU_HAS_PREFETCH 1361 select CPU_SUPPORTS_32BIT_KERNEL 1362 select CPU_SUPPORTS_64BIT_KERNEL 1363 select CPU_SUPPORTS_HIGHMEM 1364 select CPU_SUPPORTS_HUGEPAGES 1365 help 1366 MIPS Technologies R10000-series processors. 1367 1368config CPU_RM7000 1369 bool "RM7000" 1370 depends on SYS_HAS_CPU_RM7000 1371 select CPU_HAS_PREFETCH 1372 select CPU_SUPPORTS_32BIT_KERNEL 1373 select CPU_SUPPORTS_64BIT_KERNEL 1374 select CPU_SUPPORTS_HIGHMEM 1375 select CPU_SUPPORTS_HUGEPAGES 1376 1377config CPU_SB1 1378 bool "SB1" 1379 depends on SYS_HAS_CPU_SB1 1380 select CPU_SUPPORTS_32BIT_KERNEL 1381 select CPU_SUPPORTS_64BIT_KERNEL 1382 select CPU_SUPPORTS_HIGHMEM 1383 select CPU_SUPPORTS_HUGEPAGES 1384 select WEAK_ORDERING 1385 1386config CPU_CAVIUM_OCTEON 1387 bool "Cavium Octeon processor" 1388 depends on SYS_HAS_CPU_CAVIUM_OCTEON 1389 select ARCH_SPARSEMEM_ENABLE 1390 select CPU_HAS_PREFETCH 1391 select CPU_SUPPORTS_64BIT_KERNEL 1392 select SYS_SUPPORTS_SMP 1393 select NR_CPUS_DEFAULT_16 1394 select WEAK_ORDERING 1395 select CPU_SUPPORTS_HIGHMEM 1396 select CPU_SUPPORTS_HUGEPAGES 1397 select LIBFDT 1398 select USE_OF 1399 select USB_EHCI_BIG_ENDIAN_MMIO 1400 select SYS_HAS_DMA_OPS 1401 select MIPS_L1_CACHE_SHIFT_7 1402 help 1403 The Cavium Octeon processor is a highly integrated chip containing 1404 many ethernet hardware widgets for networking tasks. The processor 1405 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. 1406 Full details can be found at http://www.caviumnetworks.com. 1407 1408config CPU_BMIPS 1409 bool "Broadcom BMIPS" 1410 depends on SYS_HAS_CPU_BMIPS 1411 select CPU_MIPS32 1412 select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300 1413 select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350 1414 select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380 1415 select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000 1416 select CPU_SUPPORTS_32BIT_KERNEL 1417 select DMA_NONCOHERENT 1418 select IRQ_CPU 1419 select SWAP_IO_SPACE 1420 select WEAK_ORDERING 1421 select CPU_SUPPORTS_HIGHMEM 1422 select CPU_HAS_PREFETCH 1423 help 1424 Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors. 1425 1426config CPU_XLR 1427 bool "Netlogic XLR SoC" 1428 depends on SYS_HAS_CPU_XLR 1429 select CPU_SUPPORTS_32BIT_KERNEL 1430 select CPU_SUPPORTS_64BIT_KERNEL 1431 select CPU_SUPPORTS_HIGHMEM 1432 select CPU_SUPPORTS_HUGEPAGES 1433 select WEAK_ORDERING 1434 select WEAK_REORDERING_BEYOND_LLSC 1435 help 1436 Netlogic Microsystems XLR/XLS processors. 1437 1438config CPU_XLP 1439 bool "Netlogic XLP SoC" 1440 depends on SYS_HAS_CPU_XLP 1441 select CPU_SUPPORTS_32BIT_KERNEL 1442 select CPU_SUPPORTS_64BIT_KERNEL 1443 select CPU_SUPPORTS_HIGHMEM 1444 select WEAK_ORDERING 1445 select WEAK_REORDERING_BEYOND_LLSC 1446 select CPU_HAS_PREFETCH 1447 select CPU_MIPSR2 1448 help 1449 Netlogic Microsystems XLP processors. 1450endchoice 1451 1452if CPU_LOONGSON2F 1453config CPU_NOP_WORKAROUNDS 1454 bool 1455 1456config CPU_JUMP_WORKAROUNDS 1457 bool 1458 1459config CPU_LOONGSON2F_WORKAROUNDS 1460 bool "Loongson 2F Workarounds" 1461 default y 1462 select CPU_NOP_WORKAROUNDS 1463 select CPU_JUMP_WORKAROUNDS 1464 help 1465 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 1466 require workarounds. Without workarounds the system may hang 1467 unexpectedly. For more information please refer to the gas 1468 -mfix-loongson2f-nop and -mfix-loongson2f-jump options. 1469 1470 Loongson 2F03 and later have fixed these issues and no workarounds 1471 are needed. The workarounds have no significant side effect on them 1472 but may decrease the performance of the system so this option should 1473 be disabled unless the kernel is intended to be run on 2F01 or 2F02 1474 systems. 1475 1476 If unsure, please say Y. 1477endif # CPU_LOONGSON2F 1478 1479config SYS_SUPPORTS_ZBOOT 1480 bool 1481 select HAVE_KERNEL_GZIP 1482 select HAVE_KERNEL_BZIP2 1483 select HAVE_KERNEL_LZ4 1484 select HAVE_KERNEL_LZMA 1485 select HAVE_KERNEL_LZO 1486 select HAVE_KERNEL_XZ 1487 1488config SYS_SUPPORTS_ZBOOT_UART16550 1489 bool 1490 select SYS_SUPPORTS_ZBOOT 1491 1492config CPU_LOONGSON2 1493 bool 1494 select CPU_SUPPORTS_32BIT_KERNEL 1495 select CPU_SUPPORTS_64BIT_KERNEL 1496 select CPU_SUPPORTS_HIGHMEM 1497 select CPU_SUPPORTS_HUGEPAGES 1498 1499config CPU_LOONGSON1 1500 bool 1501 select CPU_MIPS32 1502 select CPU_MIPSR2 1503 select CPU_HAS_PREFETCH 1504 select CPU_SUPPORTS_32BIT_KERNEL 1505 select CPU_SUPPORTS_HIGHMEM 1506 1507config CPU_BMIPS32_3300 1508 select SMP_UP if SMP 1509 bool 1510 1511config CPU_BMIPS4350 1512 bool 1513 select SYS_SUPPORTS_SMP 1514 select SYS_SUPPORTS_HOTPLUG_CPU 1515 1516config CPU_BMIPS4380 1517 bool 1518 select SYS_SUPPORTS_SMP 1519 select SYS_SUPPORTS_HOTPLUG_CPU 1520 1521config CPU_BMIPS5000 1522 bool 1523 select MIPS_CPU_SCACHE 1524 select SYS_SUPPORTS_SMP 1525 select SYS_SUPPORTS_HOTPLUG_CPU 1526 1527config SYS_HAS_CPU_LOONGSON2E 1528 bool 1529 1530config SYS_HAS_CPU_LOONGSON2F 1531 bool 1532 select CPU_SUPPORTS_CPUFREQ 1533 select CPU_SUPPORTS_ADDRWINCFG if 64BIT 1534 select CPU_SUPPORTS_UNCACHED_ACCELERATED 1535 1536config SYS_HAS_CPU_LOONGSON1B 1537 bool 1538 1539config SYS_HAS_CPU_MIPS32_R1 1540 bool 1541 1542config SYS_HAS_CPU_MIPS32_R2 1543 bool 1544 1545config SYS_HAS_CPU_MIPS64_R1 1546 bool 1547 1548config SYS_HAS_CPU_MIPS64_R2 1549 bool 1550 1551config SYS_HAS_CPU_R3000 1552 bool 1553 1554config SYS_HAS_CPU_TX39XX 1555 bool 1556 1557config SYS_HAS_CPU_VR41XX 1558 bool 1559 1560config SYS_HAS_CPU_R4300 1561 bool 1562 1563config SYS_HAS_CPU_R4X00 1564 bool 1565 1566config SYS_HAS_CPU_TX49XX 1567 bool 1568 1569config SYS_HAS_CPU_R5000 1570 bool 1571 1572config SYS_HAS_CPU_R5432 1573 bool 1574 1575config SYS_HAS_CPU_R5500 1576 bool 1577 1578config SYS_HAS_CPU_R6000 1579 bool 1580 1581config SYS_HAS_CPU_NEVADA 1582 bool 1583 1584config SYS_HAS_CPU_R8000 1585 bool 1586 1587config SYS_HAS_CPU_R10000 1588 bool 1589 1590config SYS_HAS_CPU_RM7000 1591 bool 1592 1593config SYS_HAS_CPU_SB1 1594 bool 1595 1596config SYS_HAS_CPU_CAVIUM_OCTEON 1597 bool 1598 1599config SYS_HAS_CPU_BMIPS 1600 bool 1601 1602config SYS_HAS_CPU_BMIPS32_3300 1603 bool 1604 select SYS_HAS_CPU_BMIPS 1605 1606config SYS_HAS_CPU_BMIPS4350 1607 bool 1608 select SYS_HAS_CPU_BMIPS 1609 1610config SYS_HAS_CPU_BMIPS4380 1611 bool 1612 select SYS_HAS_CPU_BMIPS 1613 1614config SYS_HAS_CPU_BMIPS5000 1615 bool 1616 select SYS_HAS_CPU_BMIPS 1617 1618config SYS_HAS_CPU_XLR 1619 bool 1620 1621config SYS_HAS_CPU_XLP 1622 bool 1623 1624# 1625# CPU may reorder R->R, R->W, W->R, W->W 1626# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1627# 1628config WEAK_ORDERING 1629 bool 1630 1631# 1632# CPU may reorder reads and writes beyond LL/SC 1633# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 1634# 1635config WEAK_REORDERING_BEYOND_LLSC 1636 bool 1637endmenu 1638 1639# 1640# These two indicate any level of the MIPS32 and MIPS64 architecture 1641# 1642config CPU_MIPS32 1643 bool 1644 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 1645 1646config CPU_MIPS64 1647 bool 1648 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 1649 1650# 1651# These two indicate the revision of the architecture, either Release 1 or Release 2 1652# 1653config CPU_MIPSR1 1654 bool 1655 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 1656 1657config CPU_MIPSR2 1658 bool 1659 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 1660 1661config SYS_SUPPORTS_32BIT_KERNEL 1662 bool 1663config SYS_SUPPORTS_64BIT_KERNEL 1664 bool 1665config CPU_SUPPORTS_32BIT_KERNEL 1666 bool 1667config CPU_SUPPORTS_64BIT_KERNEL 1668 bool 1669config CPU_SUPPORTS_CPUFREQ 1670 bool 1671config CPU_SUPPORTS_ADDRWINCFG 1672 bool 1673config CPU_SUPPORTS_HUGEPAGES 1674 bool 1675config CPU_SUPPORTS_UNCACHED_ACCELERATED 1676 bool 1677config MIPS_PGD_C0_CONTEXT 1678 bool 1679 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP 1680 1681# 1682# Set to y for ptrace access to watch registers. 1683# 1684config HARDWARE_WATCHPOINTS 1685 bool 1686 default y if CPU_MIPSR1 || CPU_MIPSR2 1687 1688menu "Kernel type" 1689 1690choice 1691 prompt "Kernel code model" 1692 help 1693 You should only select this option if you have a workload that 1694 actually benefits from 64-bit processing or if your machine has 1695 large memory. You will only be presented a single option in this 1696 menu if your system does not support both 32-bit and 64-bit kernels. 1697 1698config 32BIT 1699 bool "32-bit kernel" 1700 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 1701 select TRAD_SIGNALS 1702 help 1703 Select this option if you want to build a 32-bit kernel. 1704config 64BIT 1705 bool "64-bit kernel" 1706 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 1707 help 1708 Select this option if you want to build a 64-bit kernel. 1709 1710endchoice 1711 1712config KVM_GUEST 1713 bool "KVM Guest Kernel" 1714 depends on BROKEN_ON_SMP 1715 help 1716 Select this option if building a guest kernel for KVM (Trap & Emulate) mode 1717 1718config KVM_HOST_FREQ 1719 int "KVM Host Processor Frequency (MHz)" 1720 depends on KVM_GUEST 1721 default 500 1722 help 1723 Select this option if building a guest kernel for KVM to skip 1724 RTC emulation when determining guest CPU Frequency. Instead, the guest 1725 processor frequency is automatically derived from the host frequency. 1726 1727choice 1728 prompt "Kernel page size" 1729 default PAGE_SIZE_4KB 1730 1731config PAGE_SIZE_4KB 1732 bool "4kB" 1733 depends on !CPU_LOONGSON2 1734 help 1735 This option select the standard 4kB Linux page size. On some 1736 R3000-family processors this is the only available page size. Using 1737 4kB page size will minimize memory consumption and is therefore 1738 recommended for low memory systems. 1739 1740config PAGE_SIZE_8KB 1741 bool "8kB" 1742 depends on CPU_R8000 || CPU_CAVIUM_OCTEON 1743 help 1744 Using 8kB page size will result in higher performance kernel at 1745 the price of higher memory consumption. This option is available 1746 only on R8000 and cnMIPS processors. Note that you will need a 1747 suitable Linux distribution to support this. 1748 1749config PAGE_SIZE_16KB 1750 bool "16kB" 1751 depends on !CPU_R3000 && !CPU_TX39XX 1752 help 1753 Using 16kB page size will result in higher performance kernel at 1754 the price of higher memory consumption. This option is available on 1755 all non-R3000 family processors. Note that you will need a suitable 1756 Linux distribution to support this. 1757 1758config PAGE_SIZE_32KB 1759 bool "32kB" 1760 depends on CPU_CAVIUM_OCTEON 1761 help 1762 Using 32kB page size will result in higher performance kernel at 1763 the price of higher memory consumption. This option is available 1764 only on cnMIPS cores. Note that you will need a suitable Linux 1765 distribution to support this. 1766 1767config PAGE_SIZE_64KB 1768 bool "64kB" 1769 depends on !CPU_R3000 && !CPU_TX39XX 1770 help 1771 Using 64kB page size will result in higher performance kernel at 1772 the price of higher memory consumption. This option is available on 1773 all non-R3000 family processor. Not that at the time of this 1774 writing this option is still high experimental. 1775 1776endchoice 1777 1778config FORCE_MAX_ZONEORDER 1779 int "Maximum zone order" 1780 range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB 1781 default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB 1782 range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB 1783 default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB 1784 range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB 1785 default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB 1786 range 11 64 1787 default "11" 1788 help 1789 The kernel memory allocator divides physically contiguous memory 1790 blocks into "zones", where each zone is a power of two number of 1791 pages. This option selects the largest power of two that the kernel 1792 keeps in the memory allocator. If you need to allocate very large 1793 blocks of physically contiguous memory, then you may need to 1794 increase this value. 1795 1796 This config option is actually maximum order plus one. For example, 1797 a value of 11 means that the largest free memory block is 2^10 pages. 1798 1799 The page size is not necessarily 4KB. Keep this in mind 1800 when choosing a value for this option. 1801 1802config CEVT_GIC 1803 bool "Use GIC global counter for clock events" 1804 depends on IRQ_GIC && !(MIPS_SEAD3 || MIPS_MT_SMTC) 1805 help 1806 Use the GIC global counter for the clock events. The R4K clock 1807 event driver is always present, so if the platform ends up not 1808 detecting a GIC, it will fall back to the R4K timer for the 1809 generation of clock events. 1810 1811config BOARD_SCACHE 1812 bool 1813 1814config IP22_CPU_SCACHE 1815 bool 1816 select BOARD_SCACHE 1817 1818# 1819# Support for a MIPS32 / MIPS64 style S-caches 1820# 1821config MIPS_CPU_SCACHE 1822 bool 1823 select BOARD_SCACHE 1824 select MIPS_L1_CACHE_SHIFT_6 1825 1826config R5000_CPU_SCACHE 1827 bool 1828 select BOARD_SCACHE 1829 1830config RM7000_CPU_SCACHE 1831 bool 1832 select BOARD_SCACHE 1833 1834config SIBYTE_DMA_PAGEOPS 1835 bool "Use DMA to clear/copy pages" 1836 depends on CPU_SB1 1837 help 1838 Instead of using the CPU to zero and copy pages, use a Data Mover 1839 channel. These DMA channels are otherwise unused by the standard 1840 SiByte Linux port. Seems to give a small performance benefit. 1841 1842config CPU_HAS_PREFETCH 1843 bool 1844 1845config CPU_GENERIC_DUMP_TLB 1846 bool 1847 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX) 1848 1849config CPU_R4K_FPU 1850 bool 1851 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 1852 1853config CPU_R4K_CACHE_TLB 1854 bool 1855 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 1856 1857choice 1858 prompt "MIPS MT options" 1859 1860config MIPS_MT_DISABLED 1861 bool "Disable multithreading support" 1862 help 1863 Use this option if your platform does not support the MT ASE 1864 which is hardware multithreading support. On systems without 1865 an MT-enabled processor, this will be the only option that is 1866 available in this menu. 1867 1868config MIPS_MT_SMP 1869 bool "Use 1 TC on each available VPE for SMP" 1870 depends on SYS_SUPPORTS_MULTITHREADING 1871 select CPU_MIPSR2_IRQ_VI 1872 select CPU_MIPSR2_IRQ_EI 1873 select SYNC_R4K 1874 select MIPS_MT 1875 select SMP 1876 select SMP_UP 1877 select SYS_SUPPORTS_SMP 1878 select SYS_SUPPORTS_SCHED_SMT 1879 select MIPS_PERF_SHARED_TC_COUNTERS 1880 help 1881 This is a kernel model which is known as SMVP. This is supported 1882 on cores with the MT ASE and uses the available VPEs to implement 1883 virtual processors which supports SMP. This is equivalent to the 1884 Intel Hyperthreading feature. For further information go to 1885 <http://www.imgtec.com/mips/mips-multithreading.asp>. 1886 1887config MIPS_MT_SMTC 1888 bool "Use all TCs on all VPEs for SMP (DEPRECATED)" 1889 depends on CPU_MIPS32_R2 1890 depends on SYS_SUPPORTS_MULTITHREADING 1891 select CPU_MIPSR2_IRQ_VI 1892 select CPU_MIPSR2_IRQ_EI 1893 select MIPS_MT 1894 select SMP 1895 select SMP_UP 1896 select SYS_SUPPORTS_SMP 1897 select NR_CPUS_DEFAULT_8 1898 help 1899 This is a kernel model which is known as SMTC. This is 1900 supported on cores with the MT ASE and presents all TCs 1901 available on all VPEs to support SMP. For further 1902 information see <http://www.linux-mips.org/wiki/34K#SMTC>. 1903 1904endchoice 1905 1906config MIPS_MT 1907 bool 1908 1909config SCHED_SMT 1910 bool "SMT (multithreading) scheduler support" 1911 depends on SYS_SUPPORTS_SCHED_SMT 1912 default n 1913 help 1914 SMT scheduler support improves the CPU scheduler's decision making 1915 when dealing with MIPS MT enabled cores at a cost of slightly 1916 increased overhead in some places. If unsure say N here. 1917 1918config SYS_SUPPORTS_SCHED_SMT 1919 bool 1920 1921config SYS_SUPPORTS_MULTITHREADING 1922 bool 1923 1924config MIPS_MT_FPAFF 1925 bool "Dynamic FPU affinity for FP-intensive threads" 1926 default y 1927 depends on MIPS_MT_SMP || MIPS_MT_SMTC 1928 1929config MIPS_VPE_LOADER 1930 bool "VPE loader support." 1931 depends on SYS_SUPPORTS_MULTITHREADING && MODULES 1932 select CPU_MIPSR2_IRQ_VI 1933 select CPU_MIPSR2_IRQ_EI 1934 select MIPS_MT 1935 help 1936 Includes a loader for loading an elf relocatable object 1937 onto another VPE and running it. 1938 1939config MIPS_VPE_LOADER_CMP 1940 bool 1941 default "y" 1942 depends on MIPS_VPE_LOADER && MIPS_CMP 1943 1944config MIPS_VPE_LOADER_MT 1945 bool 1946 default "y" 1947 depends on MIPS_VPE_LOADER && !MIPS_CMP 1948 1949config MIPS_MT_SMTC_IM_BACKSTOP 1950 bool "Use per-TC register bits as backstop for inhibited IM bits" 1951 depends on MIPS_MT_SMTC 1952 default n 1953 help 1954 To support multiple TC microthreads acting as "CPUs" within 1955 a VPE, VPE-wide interrupt mask bits must be specially manipulated 1956 during interrupt handling. To support legacy drivers and interrupt 1957 controller management code, SMTC has a "backstop" to track and 1958 if necessary restore the interrupt mask. This has some performance 1959 impact on interrupt service overhead. 1960 1961config MIPS_MT_SMTC_IRQAFF 1962 bool "Support IRQ affinity API" 1963 depends on MIPS_MT_SMTC 1964 default n 1965 help 1966 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.) 1967 for SMTC Linux kernel. Requires platform support, of which 1968 an example can be found in the MIPS kernel i8259 and Malta 1969 platform code. Adds some overhead to interrupt dispatch, and 1970 should be used only if you know what you are doing. 1971 1972config MIPS_VPE_LOADER_TOM 1973 bool "Load VPE program into memory hidden from linux" 1974 depends on MIPS_VPE_LOADER 1975 default y 1976 help 1977 The loader can use memory that is present but has been hidden from 1978 Linux using the kernel command line option "mem=xxMB". It's up to 1979 you to ensure the amount you put in the option and the space your 1980 program requires is less or equal to the amount physically present. 1981 1982config MIPS_VPE_APSP_API 1983 bool "Enable support for AP/SP API (RTLX)" 1984 depends on MIPS_VPE_LOADER 1985 help 1986 1987config MIPS_VPE_APSP_API_CMP 1988 bool 1989 default "y" 1990 depends on MIPS_VPE_APSP_API && MIPS_CMP 1991 1992config MIPS_VPE_APSP_API_MT 1993 bool 1994 default "y" 1995 depends on MIPS_VPE_APSP_API && !MIPS_CMP 1996 1997config MIPS_CMP 1998 bool "MIPS CMP support" 1999 depends on SYS_SUPPORTS_MIPS_CMP && MIPS_MT_SMP 2000 select SYNC_R4K 2001 select WEAK_ORDERING 2002 default n 2003 help 2004 Enable Coherency Manager processor (CMP) support. 2005 2006config SB1_PASS_1_WORKAROUNDS 2007 bool 2008 depends on CPU_SB1_PASS_1 2009 default y 2010 2011config SB1_PASS_2_WORKAROUNDS 2012 bool 2013 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 2014 default y 2015 2016config SB1_PASS_2_1_WORKAROUNDS 2017 bool 2018 depends on CPU_SB1 && CPU_SB1_PASS_2 2019 default y 2020 2021 2022config 64BIT_PHYS_ADDR 2023 bool 2024 2025config ARCH_PHYS_ADDR_T_64BIT 2026 def_bool 64BIT_PHYS_ADDR 2027 2028config CPU_HAS_SMARTMIPS 2029 depends on SYS_SUPPORTS_SMARTMIPS 2030 bool "Support for the SmartMIPS ASE" 2031 help 2032 SmartMIPS is a extension of the MIPS32 architecture aimed at 2033 increased security at both hardware and software level for 2034 smartcards. Enabling this option will allow proper use of the 2035 SmartMIPS instructions by Linux applications. However a kernel with 2036 this option will not work on a MIPS core without SmartMIPS core. If 2037 you don't know you probably don't have SmartMIPS and should say N 2038 here. 2039 2040config CPU_MICROMIPS 2041 depends on SYS_SUPPORTS_MICROMIPS 2042 bool "Build kernel using microMIPS ISA" 2043 help 2044 When this option is enabled the kernel will be built using the 2045 microMIPS ISA 2046 2047config CPU_HAS_WB 2048 bool 2049 2050config XKS01 2051 bool 2052 2053# 2054# Vectored interrupt mode is an R2 feature 2055# 2056config CPU_MIPSR2_IRQ_VI 2057 bool 2058 2059# 2060# Extended interrupt mode is an R2 feature 2061# 2062config CPU_MIPSR2_IRQ_EI 2063 bool 2064 2065config CPU_HAS_SYNC 2066 bool 2067 depends on !CPU_R3000 2068 default y 2069 2070# 2071# CPU non-features 2072# 2073config CPU_DADDI_WORKAROUNDS 2074 bool 2075 2076config CPU_R4000_WORKAROUNDS 2077 bool 2078 select CPU_R4400_WORKAROUNDS 2079 2080config CPU_R4400_WORKAROUNDS 2081 bool 2082 2083# 2084# - Highmem only makes sense for the 32-bit kernel. 2085# - The current highmem code will only work properly on physically indexed 2086# caches such as R3000, SB1, R7000 or those that look like they're virtually 2087# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 2088# moment we protect the user and offer the highmem option only on machines 2089# where it's known to be safe. This will not offer highmem on a few systems 2090# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 2091# indexed CPUs but we're playing safe. 2092# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 2093# know they might have memory configurations that could make use of highmem 2094# support. 2095# 2096config HIGHMEM 2097 bool "High Memory Support" 2098 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM 2099 2100config CPU_SUPPORTS_HIGHMEM 2101 bool 2102 2103config SYS_SUPPORTS_HIGHMEM 2104 bool 2105 2106config SYS_SUPPORTS_SMARTMIPS 2107 bool 2108 2109config SYS_SUPPORTS_MICROMIPS 2110 bool 2111 2112config ARCH_FLATMEM_ENABLE 2113 def_bool y 2114 depends on !NUMA && !CPU_LOONGSON2 2115 2116config ARCH_DISCONTIGMEM_ENABLE 2117 bool 2118 default y if SGI_IP27 2119 help 2120 Say Y to support efficient handling of discontiguous physical memory, 2121 for architectures which are either NUMA (Non-Uniform Memory Access) 2122 or have huge holes in the physical address space for other reasons. 2123 See <file:Documentation/vm/numa> for more. 2124 2125config ARCH_SPARSEMEM_ENABLE 2126 bool 2127 select SPARSEMEM_STATIC 2128 2129config NUMA 2130 bool "NUMA Support" 2131 depends on SYS_SUPPORTS_NUMA 2132 help 2133 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2134 Access). This option improves performance on systems with more 2135 than two nodes; on two node systems it is generally better to 2136 leave it disabled; on single node systems disable this option 2137 disabled. 2138 2139config SYS_SUPPORTS_NUMA 2140 bool 2141 2142config NODES_SHIFT 2143 int 2144 default "6" 2145 depends on NEED_MULTIPLE_NODES 2146 2147config HW_PERF_EVENTS 2148 bool "Enable hardware performance counter support for perf events" 2149 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP) 2150 default y 2151 help 2152 Enable hardware performance counter support for perf events. If 2153 disabled, perf events will use software events only. 2154 2155source "mm/Kconfig" 2156 2157config SMP 2158 bool "Multi-Processing support" 2159 depends on SYS_SUPPORTS_SMP 2160 help 2161 This enables support for systems with more than one CPU. If you have 2162 a system with only one CPU, say N. If you have a system with more 2163 than one CPU, say Y. 2164 2165 If you say N here, the kernel will run on uni- and multiprocessor 2166 machines, but will use only one CPU of a multiprocessor machine. If 2167 you say Y here, the kernel will run on many, but not all, 2168 uniprocessor machines. On a uniprocessor machine, the kernel 2169 will run faster if you say N here. 2170 2171 People using multiprocessor machines who say Y here should also say 2172 Y to "Enhanced Real Time Clock Support", below. 2173 2174 See also the SMP-HOWTO available at 2175 <http://www.tldp.org/docs.html#howto>. 2176 2177 If you don't know what to do here, say N. 2178 2179config SMP_UP 2180 bool 2181 2182config SYS_SUPPORTS_MIPS_CMP 2183 bool 2184 2185config SYS_SUPPORTS_SMP 2186 bool 2187 2188config NR_CPUS_DEFAULT_4 2189 bool 2190 2191config NR_CPUS_DEFAULT_8 2192 bool 2193 2194config NR_CPUS_DEFAULT_16 2195 bool 2196 2197config NR_CPUS_DEFAULT_32 2198 bool 2199 2200config NR_CPUS_DEFAULT_64 2201 bool 2202 2203config NR_CPUS 2204 int "Maximum number of CPUs (2-64)" 2205 range 2 64 2206 depends on SMP 2207 default "4" if NR_CPUS_DEFAULT_4 2208 default "8" if NR_CPUS_DEFAULT_8 2209 default "16" if NR_CPUS_DEFAULT_16 2210 default "32" if NR_CPUS_DEFAULT_32 2211 default "64" if NR_CPUS_DEFAULT_64 2212 help 2213 This allows you to specify the maximum number of CPUs which this 2214 kernel will support. The maximum supported value is 32 for 32-bit 2215 kernel and 64 for 64-bit kernels; the minimum value which makes 2216 sense is 1 for Qemu (useful only for kernel debugging purposes) 2217 and 2 for all others. 2218 2219 This is purely to save memory - each supported CPU adds 2220 approximately eight kilobytes to the kernel image. For best 2221 performance should round up your number of processors to the next 2222 power of two. 2223 2224config MIPS_PERF_SHARED_TC_COUNTERS 2225 bool 2226 2227# 2228# Timer Interrupt Frequency Configuration 2229# 2230 2231choice 2232 prompt "Timer frequency" 2233 default HZ_250 2234 help 2235 Allows the configuration of the timer frequency. 2236 2237 config HZ_48 2238 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 2239 2240 config HZ_100 2241 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 2242 2243 config HZ_128 2244 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 2245 2246 config HZ_250 2247 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 2248 2249 config HZ_256 2250 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 2251 2252 config HZ_1000 2253 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 2254 2255 config HZ_1024 2256 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 2257 2258endchoice 2259 2260config SYS_SUPPORTS_48HZ 2261 bool 2262 2263config SYS_SUPPORTS_100HZ 2264 bool 2265 2266config SYS_SUPPORTS_128HZ 2267 bool 2268 2269config SYS_SUPPORTS_250HZ 2270 bool 2271 2272config SYS_SUPPORTS_256HZ 2273 bool 2274 2275config SYS_SUPPORTS_1000HZ 2276 bool 2277 2278config SYS_SUPPORTS_1024HZ 2279 bool 2280 2281config SYS_SUPPORTS_ARBIT_HZ 2282 bool 2283 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ 2284 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ 2285 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ 2286 !SYS_SUPPORTS_1024HZ 2287 2288config HZ 2289 int 2290 default 48 if HZ_48 2291 default 100 if HZ_100 2292 default 128 if HZ_128 2293 default 250 if HZ_250 2294 default 256 if HZ_256 2295 default 1000 if HZ_1000 2296 default 1024 if HZ_1024 2297 2298source "kernel/Kconfig.preempt" 2299 2300config KEXEC 2301 bool "Kexec system call" 2302 help 2303 kexec is a system call that implements the ability to shutdown your 2304 current kernel, and to start another kernel. It is like a reboot 2305 but it is independent of the system firmware. And like a reboot 2306 you can start any kernel with it, not just Linux. 2307 2308 The name comes from the similarity to the exec system call. 2309 2310 It is an ongoing process to be certain the hardware in a machine 2311 is properly shutdown, so do not be surprised if this code does not 2312 initially work for you. As of this writing the exact hardware 2313 interface is strongly in flux, so no good recommendation can be 2314 made. 2315 2316config CRASH_DUMP 2317 bool "Kernel crash dumps" 2318 help 2319 Generate crash dump after being started by kexec. 2320 This should be normally only set in special crash dump kernels 2321 which are loaded in the main kernel with kexec-tools into 2322 a specially reserved region and then later executed after 2323 a crash by kdump/kexec. The crash dump kernel must be compiled 2324 to a memory address not used by the main kernel or firmware using 2325 PHYSICAL_START. 2326 2327config PHYSICAL_START 2328 hex "Physical address where the kernel is loaded" 2329 default "0xffffffff84000000" if 64BIT 2330 default "0x84000000" if 32BIT 2331 depends on CRASH_DUMP 2332 help 2333 This gives the CKSEG0 or KSEG0 address where the kernel is loaded. 2334 If you plan to use kernel for capturing the crash dump change 2335 this value to start of the reserved region (the "X" value as 2336 specified in the "crashkernel=YM@XM" command line boot parameter 2337 passed to the panic-ed kernel). 2338 2339config SECCOMP 2340 bool "Enable seccomp to safely compute untrusted bytecode" 2341 depends on PROC_FS 2342 default y 2343 help 2344 This kernel feature is useful for number crunching applications 2345 that may need to compute untrusted bytecode during their 2346 execution. By using pipes or other transports made available to 2347 the process as file descriptors supporting the read/write 2348 syscalls, it's possible to isolate those applications in 2349 their own address space using seccomp. Once seccomp is 2350 enabled via /proc/<pid>/seccomp, it cannot be disabled 2351 and the task is only allowed to execute a few safe syscalls 2352 defined by each seccomp mode. 2353 2354 If unsure, say Y. Only embedded should say N here. 2355 2356config MIPS_O32_FP64_SUPPORT 2357 bool "Support for O32 binaries using 64-bit FP (EXPERIMENTAL)" 2358 depends on 32BIT || MIPS32_O32 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 Although binutils currently supports use of this flag the details 2371 concerning its effect upon the O32 ABI in userland are still being 2372 worked on. In order to avoid userland becoming dependant upon current 2373 behaviour before the details have been finalised, this option should 2374 be considered experimental and only enabled by those working upon 2375 said details. 2376 2377 If unsure, say N. 2378 2379config USE_OF 2380 bool 2381 select OF 2382 select OF_EARLY_FLATTREE 2383 select IRQ_DOMAIN 2384 2385endmenu 2386 2387config LOCKDEP_SUPPORT 2388 bool 2389 default y 2390 2391config STACKTRACE_SUPPORT 2392 bool 2393 default y 2394 2395source "init/Kconfig" 2396 2397source "kernel/Kconfig.freezer" 2398 2399menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2400 2401config HW_HAS_EISA 2402 bool 2403config HW_HAS_PCI 2404 bool 2405 2406config PCI 2407 bool "Support for PCI controller" 2408 depends on HW_HAS_PCI 2409 select PCI_DOMAINS 2410 select NO_GENERIC_PCI_IOPORT_MAP 2411 help 2412 Find out whether you have a PCI motherboard. PCI is the name of a 2413 bus system, i.e. the way the CPU talks to the other stuff inside 2414 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2415 say Y, otherwise N. 2416 2417config PCI_DOMAINS 2418 bool 2419 2420source "drivers/pci/Kconfig" 2421 2422source "drivers/pci/pcie/Kconfig" 2423 2424# 2425# ISA support is now enabled via select. Too many systems still have the one 2426# or other ISA chip on the board that users don't know about so don't expect 2427# users to choose the right thing ... 2428# 2429config ISA 2430 bool 2431 2432config EISA 2433 bool "EISA support" 2434 depends on HW_HAS_EISA 2435 select ISA 2436 select GENERIC_ISA_DMA 2437 ---help--- 2438 The Extended Industry Standard Architecture (EISA) bus was 2439 developed as an open alternative to the IBM MicroChannel bus. 2440 2441 The EISA bus provided some of the features of the IBM MicroChannel 2442 bus while maintaining backward compatibility with cards made for 2443 the older ISA bus. The EISA bus saw limited use between 1988 and 2444 1995 when it was made obsolete by the PCI bus. 2445 2446 Say Y here if you are building a kernel for an EISA-based machine. 2447 2448 Otherwise, say N. 2449 2450source "drivers/eisa/Kconfig" 2451 2452config TC 2453 bool "TURBOchannel support" 2454 depends on MACH_DECSTATION 2455 help 2456 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 2457 processors. TURBOchannel programming specifications are available 2458 at: 2459 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 2460 and: 2461 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 2462 Linux driver support status is documented at: 2463 <http://www.linux-mips.org/wiki/DECstation> 2464 2465config MMU 2466 bool 2467 default y 2468 2469config I8253 2470 bool 2471 select CLKSRC_I8253 2472 select CLKEVT_I8253 2473 select MIPS_EXTERNAL_TIMER 2474 2475config ZONE_DMA 2476 bool 2477 2478config ZONE_DMA32 2479 bool 2480 2481source "drivers/pcmcia/Kconfig" 2482 2483source "drivers/pci/hotplug/Kconfig" 2484 2485config RAPIDIO 2486 tristate "RapidIO support" 2487 depends on PCI 2488 default n 2489 help 2490 If you say Y here, the kernel will include drivers and 2491 infrastructure code to support RapidIO interconnect devices. 2492 2493source "drivers/rapidio/Kconfig" 2494 2495endmenu 2496 2497menu "Executable file formats" 2498 2499source "fs/Kconfig.binfmt" 2500 2501config TRAD_SIGNALS 2502 bool 2503 2504config MIPS32_COMPAT 2505 bool "Kernel support for Linux/MIPS 32-bit binary compatibility" 2506 depends on 64BIT 2507 help 2508 Select this option if you want Linux/MIPS 32-bit binary 2509 compatibility. Since all software available for Linux/MIPS is 2510 currently 32-bit you should say Y here. 2511 2512config COMPAT 2513 bool 2514 depends on MIPS32_COMPAT 2515 select ARCH_WANT_OLD_COMPAT_IPC 2516 default y 2517 2518config SYSVIPC_COMPAT 2519 bool 2520 depends on COMPAT && SYSVIPC 2521 default y 2522 2523config MIPS32_O32 2524 bool "Kernel support for o32 binaries" 2525 depends on MIPS32_COMPAT 2526 help 2527 Select this option if you want to run o32 binaries. These are pure 2528 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2529 existing binaries are in this format. 2530 2531 If unsure, say Y. 2532 2533config MIPS32_N32 2534 bool "Kernel support for n32 binaries" 2535 depends on MIPS32_COMPAT 2536 help 2537 Select this option if you want to run n32 binaries. These are 2538 64-bit binaries using 32-bit quantities for addressing and certain 2539 data that would normally be 64-bit. They are used in special 2540 cases. 2541 2542 If unsure, say N. 2543 2544config BINFMT_ELF32 2545 bool 2546 default y if MIPS32_O32 || MIPS32_N32 2547 2548endmenu 2549 2550menu "Power management options" 2551 2552config ARCH_HIBERNATION_POSSIBLE 2553 def_bool y 2554 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2555 2556config ARCH_SUSPEND_POSSIBLE 2557 def_bool y 2558 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2559 2560source "kernel/power/Kconfig" 2561 2562endmenu 2563 2564config MIPS_EXTERNAL_TIMER 2565 bool 2566 2567if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER 2568menu "CPU Power Management" 2569source "drivers/cpufreq/Kconfig" 2570endmenu 2571endif 2572 2573source "net/Kconfig" 2574 2575source "drivers/Kconfig" 2576 2577source "drivers/firmware/Kconfig" 2578 2579source "fs/Kconfig" 2580 2581source "arch/mips/Kconfig.debug" 2582 2583source "security/Kconfig" 2584 2585source "crypto/Kconfig" 2586 2587source "lib/Kconfig" 2588 2589source "arch/mips/kvm/Kconfig" 2590