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