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 select ARCH_HAS_RESET_CONTROLLER 450 select RESET_CONTROLLER 451 452config SGI_IP22 453 bool "SGI IP22 (Indy/Indigo2)" 454 select FW_ARC 455 select FW_ARC32 456 select BOOT_ELF32 457 select CEVT_R4K 458 select CSRC_R4K 459 select DEFAULT_SGI_PARTITION 460 select DMA_NONCOHERENT 461 select HW_HAS_EISA 462 select I8253 463 select I8259 464 select IP22_CPU_SCACHE 465 select IRQ_CPU 466 select GENERIC_ISA_DMA_SUPPORT_BROKEN 467 select SGI_HAS_I8042 468 select SGI_HAS_INDYDOG 469 select SGI_HAS_HAL2 470 select SGI_HAS_SEEQ 471 select SGI_HAS_WD93 472 select SGI_HAS_ZILOG 473 select SWAP_IO_SPACE 474 select SYS_HAS_CPU_R4X00 475 select SYS_HAS_CPU_R5000 476 # 477 # Disable EARLY_PRINTK for now since it leads to overwritten prom 478 # memory during early boot on some machines. 479 # 480 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 481 # for a more details discussion 482 # 483 # select SYS_HAS_EARLY_PRINTK 484 select SYS_SUPPORTS_32BIT_KERNEL 485 select SYS_SUPPORTS_64BIT_KERNEL 486 select SYS_SUPPORTS_BIG_ENDIAN 487 help 488 This are the SGI Indy, Challenge S and Indigo2, as well as certain 489 OEM variants like the Tandem CMN B006S. To compile a Linux kernel 490 that runs on these, say Y here. 491 492config SGI_IP27 493 bool "SGI IP27 (Origin200/2000)" 494 select FW_ARC 495 select FW_ARC64 496 select BOOT_ELF64 497 select DEFAULT_SGI_PARTITION 498 select DMA_COHERENT 499 select SYS_HAS_EARLY_PRINTK 500 select HW_HAS_PCI 501 select NR_CPUS_DEFAULT_64 502 select SYS_HAS_CPU_R10000 503 select SYS_SUPPORTS_64BIT_KERNEL 504 select SYS_SUPPORTS_BIG_ENDIAN 505 select SYS_SUPPORTS_NUMA 506 select SYS_SUPPORTS_SMP 507 help 508 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics 509 workstations. To compile a Linux kernel that runs on these, say Y 510 here. 511 512config SGI_IP28 513 bool "SGI IP28 (Indigo2 R10k)" 514 select FW_ARC 515 select FW_ARC64 516 select BOOT_ELF64 517 select CEVT_R4K 518 select CSRC_R4K 519 select DEFAULT_SGI_PARTITION 520 select DMA_NONCOHERENT 521 select GENERIC_ISA_DMA_SUPPORT_BROKEN 522 select IRQ_CPU 523 select HW_HAS_EISA 524 select I8253 525 select I8259 526 select SGI_HAS_I8042 527 select SGI_HAS_INDYDOG 528 select SGI_HAS_HAL2 529 select SGI_HAS_SEEQ 530 select SGI_HAS_WD93 531 select SGI_HAS_ZILOG 532 select SWAP_IO_SPACE 533 select SYS_HAS_CPU_R10000 534 # 535 # Disable EARLY_PRINTK for now since it leads to overwritten prom 536 # memory during early boot on some machines. 537 # 538 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 539 # for a more details discussion 540 # 541 # select SYS_HAS_EARLY_PRINTK 542 select SYS_SUPPORTS_64BIT_KERNEL 543 select SYS_SUPPORTS_BIG_ENDIAN 544 help 545 This is the SGI Indigo2 with R10000 processor. To compile a Linux 546 kernel that runs on these, say Y here. 547 548config SGI_IP32 549 bool "SGI IP32 (O2)" 550 select FW_ARC 551 select FW_ARC32 552 select BOOT_ELF32 553 select CEVT_R4K 554 select CSRC_R4K 555 select DMA_NONCOHERENT 556 select HW_HAS_PCI 557 select IRQ_CPU 558 select R5000_CPU_SCACHE 559 select RM7000_CPU_SCACHE 560 select SYS_HAS_CPU_R5000 561 select SYS_HAS_CPU_R10000 if BROKEN 562 select SYS_HAS_CPU_RM7000 563 select SYS_HAS_CPU_NEVADA 564 select SYS_SUPPORTS_64BIT_KERNEL 565 select SYS_SUPPORTS_BIG_ENDIAN 566 help 567 If you want this kernel to run on SGI O2 workstation, say Y here. 568 569config SIBYTE_CRHINE 570 bool "Sibyte BCM91120C-CRhine" 571 select BOOT_ELF32 572 select DMA_COHERENT 573 select SIBYTE_BCM1120 574 select SWAP_IO_SPACE 575 select SYS_HAS_CPU_SB1 576 select SYS_SUPPORTS_BIG_ENDIAN 577 select SYS_SUPPORTS_LITTLE_ENDIAN 578 579config SIBYTE_CARMEL 580 bool "Sibyte BCM91120x-Carmel" 581 select BOOT_ELF32 582 select DMA_COHERENT 583 select SIBYTE_BCM1120 584 select SWAP_IO_SPACE 585 select SYS_HAS_CPU_SB1 586 select SYS_SUPPORTS_BIG_ENDIAN 587 select SYS_SUPPORTS_LITTLE_ENDIAN 588 589config SIBYTE_CRHONE 590 bool "Sibyte BCM91125C-CRhone" 591 select BOOT_ELF32 592 select DMA_COHERENT 593 select SIBYTE_BCM1125 594 select SWAP_IO_SPACE 595 select SYS_HAS_CPU_SB1 596 select SYS_SUPPORTS_BIG_ENDIAN 597 select SYS_SUPPORTS_HIGHMEM 598 select SYS_SUPPORTS_LITTLE_ENDIAN 599 600config SIBYTE_RHONE 601 bool "Sibyte BCM91125E-Rhone" 602 select BOOT_ELF32 603 select DMA_COHERENT 604 select SIBYTE_BCM1125H 605 select SWAP_IO_SPACE 606 select SYS_HAS_CPU_SB1 607 select SYS_SUPPORTS_BIG_ENDIAN 608 select SYS_SUPPORTS_LITTLE_ENDIAN 609 610config SIBYTE_SWARM 611 bool "Sibyte BCM91250A-SWARM" 612 select BOOT_ELF32 613 select DMA_COHERENT 614 select HAVE_PATA_PLATFORM 615 select NR_CPUS_DEFAULT_2 616 select SIBYTE_SB1250 617 select SWAP_IO_SPACE 618 select SYS_HAS_CPU_SB1 619 select SYS_SUPPORTS_BIG_ENDIAN 620 select SYS_SUPPORTS_HIGHMEM 621 select SYS_SUPPORTS_LITTLE_ENDIAN 622 select ZONE_DMA32 if 64BIT 623 624config SIBYTE_LITTLESUR 625 bool "Sibyte BCM91250C2-LittleSur" 626 select BOOT_ELF32 627 select DMA_COHERENT 628 select HAVE_PATA_PLATFORM 629 select NR_CPUS_DEFAULT_2 630 select SIBYTE_SB1250 631 select SWAP_IO_SPACE 632 select SYS_HAS_CPU_SB1 633 select SYS_SUPPORTS_BIG_ENDIAN 634 select SYS_SUPPORTS_HIGHMEM 635 select SYS_SUPPORTS_LITTLE_ENDIAN 636 637config SIBYTE_SENTOSA 638 bool "Sibyte BCM91250E-Sentosa" 639 select BOOT_ELF32 640 select DMA_COHERENT 641 select NR_CPUS_DEFAULT_2 642 select SIBYTE_SB1250 643 select SWAP_IO_SPACE 644 select SYS_HAS_CPU_SB1 645 select SYS_SUPPORTS_BIG_ENDIAN 646 select SYS_SUPPORTS_LITTLE_ENDIAN 647 648config SIBYTE_BIGSUR 649 bool "Sibyte BCM91480B-BigSur" 650 select BOOT_ELF32 651 select DMA_COHERENT 652 select NR_CPUS_DEFAULT_4 653 select SIBYTE_BCM1x80 654 select SWAP_IO_SPACE 655 select SYS_HAS_CPU_SB1 656 select SYS_SUPPORTS_BIG_ENDIAN 657 select SYS_SUPPORTS_HIGHMEM 658 select SYS_SUPPORTS_LITTLE_ENDIAN 659 select ZONE_DMA32 if 64BIT 660 661config SNI_RM 662 bool "SNI RM200/300/400" 663 select FW_ARC if CPU_LITTLE_ENDIAN 664 select FW_ARC32 if CPU_LITTLE_ENDIAN 665 select FW_SNIPROM if CPU_BIG_ENDIAN 666 select ARCH_MAY_HAVE_PC_FDC 667 select BOOT_ELF32 668 select CEVT_R4K 669 select CSRC_R4K 670 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 671 select DMA_NONCOHERENT 672 select GENERIC_ISA_DMA 673 select HAVE_PCSPKR_PLATFORM 674 select HW_HAS_EISA 675 select HW_HAS_PCI 676 select IRQ_CPU 677 select I8253 678 select I8259 679 select ISA 680 select SWAP_IO_SPACE if CPU_BIG_ENDIAN 681 select SYS_HAS_CPU_R4X00 682 select SYS_HAS_CPU_R5000 683 select SYS_HAS_CPU_R10000 684 select R5000_CPU_SCACHE 685 select SYS_HAS_EARLY_PRINTK 686 select SYS_SUPPORTS_32BIT_KERNEL 687 select SYS_SUPPORTS_64BIT_KERNEL 688 select SYS_SUPPORTS_BIG_ENDIAN 689 select SYS_SUPPORTS_HIGHMEM 690 select SYS_SUPPORTS_LITTLE_ENDIAN 691 help 692 The SNI RM200/300/400 are MIPS-based machines manufactured by 693 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid 694 Technology and now in turn merged with Fujitsu. Say Y here to 695 support this machine type. 696 697config MACH_TX39XX 698 bool "Toshiba TX39 series based machines" 699 700config MACH_TX49XX 701 bool "Toshiba TX49 series based machines" 702 703config MIKROTIK_RB532 704 bool "Mikrotik RB532 boards" 705 select CEVT_R4K 706 select CSRC_R4K 707 select DMA_NONCOHERENT 708 select HW_HAS_PCI 709 select IRQ_CPU 710 select SYS_HAS_CPU_MIPS32_R1 711 select SYS_SUPPORTS_32BIT_KERNEL 712 select SYS_SUPPORTS_LITTLE_ENDIAN 713 select SWAP_IO_SPACE 714 select BOOT_RAW 715 select ARCH_REQUIRE_GPIOLIB 716 help 717 Support the Mikrotik(tm) RouterBoard 532 series, 718 based on the IDT RC32434 SoC. 719 720config CAVIUM_OCTEON_SOC 721 bool "Cavium Networks Octeon SoC based boards" 722 select CEVT_R4K 723 select 64BIT_PHYS_ADDR 724 select DMA_COHERENT 725 select SYS_SUPPORTS_64BIT_KERNEL 726 select SYS_SUPPORTS_BIG_ENDIAN 727 select EDAC_SUPPORT 728 select SYS_SUPPORTS_HOTPLUG_CPU 729 select SYS_HAS_EARLY_PRINTK 730 select SYS_HAS_CPU_CAVIUM_OCTEON 731 select SWAP_IO_SPACE 732 select HW_HAS_PCI 733 select ARCH_SUPPORTS_MSI 734 select ZONE_DMA32 735 select USB_ARCH_HAS_OHCI 736 select USB_ARCH_HAS_EHCI 737 select HOLES_IN_ZONE 738 select ARCH_REQUIRE_GPIOLIB 739 help 740 This option supports all of the Octeon reference boards from Cavium 741 Networks. It builds a kernel that dynamically determines the Octeon 742 CPU type and supports all known board reference implementations. 743 Some of the supported boards are: 744 EBT3000 745 EBH3000 746 EBH3100 747 Thunder 748 Kodama 749 Hikari 750 Say Y here for most Octeon reference boards. 751 752config NLM_XLR_BOARD 753 bool "Netlogic XLR/XLS based systems" 754 select BOOT_ELF32 755 select NLM_COMMON 756 select SYS_HAS_CPU_XLR 757 select SYS_SUPPORTS_SMP 758 select HW_HAS_PCI 759 select SWAP_IO_SPACE 760 select SYS_SUPPORTS_32BIT_KERNEL 761 select SYS_SUPPORTS_64BIT_KERNEL 762 select 64BIT_PHYS_ADDR 763 select SYS_SUPPORTS_BIG_ENDIAN 764 select SYS_SUPPORTS_HIGHMEM 765 select DMA_COHERENT 766 select NR_CPUS_DEFAULT_32 767 select CEVT_R4K 768 select CSRC_R4K 769 select IRQ_CPU 770 select ARCH_SUPPORTS_MSI 771 select ZONE_DMA32 if 64BIT 772 select SYNC_R4K 773 select SYS_HAS_EARLY_PRINTK 774 select USB_ARCH_HAS_OHCI if USB_SUPPORT 775 select USB_ARCH_HAS_EHCI if USB_SUPPORT 776 select SYS_SUPPORTS_ZBOOT 777 select SYS_SUPPORTS_ZBOOT_UART16550 778 help 779 Support for systems based on Netlogic XLR and XLS processors. 780 Say Y here if you have a XLR or XLS based board. 781 782config NLM_XLP_BOARD 783 bool "Netlogic XLP based systems" 784 select BOOT_ELF32 785 select NLM_COMMON 786 select SYS_HAS_CPU_XLP 787 select SYS_SUPPORTS_SMP 788 select HW_HAS_PCI 789 select SYS_SUPPORTS_32BIT_KERNEL 790 select SYS_SUPPORTS_64BIT_KERNEL 791 select 64BIT_PHYS_ADDR 792 select SYS_SUPPORTS_BIG_ENDIAN 793 select SYS_SUPPORTS_LITTLE_ENDIAN 794 select SYS_SUPPORTS_HIGHMEM 795 select DMA_COHERENT 796 select NR_CPUS_DEFAULT_32 797 select CEVT_R4K 798 select CSRC_R4K 799 select IRQ_CPU 800 select ZONE_DMA32 if 64BIT 801 select SYNC_R4K 802 select SYS_HAS_EARLY_PRINTK 803 select USE_OF 804 select SYS_SUPPORTS_ZBOOT 805 select SYS_SUPPORTS_ZBOOT_UART16550 806 help 807 This board is based on Netlogic XLP Processor. 808 Say Y here if you have a XLP based board. 809 810endchoice 811 812source "arch/mips/alchemy/Kconfig" 813source "arch/mips/ath79/Kconfig" 814source "arch/mips/bcm47xx/Kconfig" 815source "arch/mips/bcm63xx/Kconfig" 816source "arch/mips/jazz/Kconfig" 817source "arch/mips/jz4740/Kconfig" 818source "arch/mips/lantiq/Kconfig" 819source "arch/mips/lasat/Kconfig" 820source "arch/mips/pmcs-msp71xx/Kconfig" 821source "arch/mips/powertv/Kconfig" 822source "arch/mips/ralink/Kconfig" 823source "arch/mips/sgi-ip27/Kconfig" 824source "arch/mips/sibyte/Kconfig" 825source "arch/mips/txx9/Kconfig" 826source "arch/mips/vr41xx/Kconfig" 827source "arch/mips/cavium-octeon/Kconfig" 828source "arch/mips/loongson/Kconfig" 829source "arch/mips/loongson1/Kconfig" 830source "arch/mips/netlogic/Kconfig" 831 832endmenu 833 834config RWSEM_GENERIC_SPINLOCK 835 bool 836 default y 837 838config RWSEM_XCHGADD_ALGORITHM 839 bool 840 841config ARCH_HAS_ILOG2_U32 842 bool 843 default n 844 845config ARCH_HAS_ILOG2_U64 846 bool 847 default n 848 849config GENERIC_HWEIGHT 850 bool 851 default y 852 853config GENERIC_CALIBRATE_DELAY 854 bool 855 default y 856 857config SCHED_OMIT_FRAME_POINTER 858 bool 859 default y 860 861# 862# Select some configuration options automatically based on user selections. 863# 864config FW_ARC 865 bool 866 867config ARCH_MAY_HAVE_PC_FDC 868 bool 869 870config BOOT_RAW 871 bool 872 873config CEVT_BCM1480 874 bool 875 876config CEVT_DS1287 877 bool 878 879config CEVT_GT641XX 880 bool 881 882config CEVT_R4K 883 bool 884 885config CEVT_GIC 886 bool 887 888config CEVT_SB1250 889 bool 890 891config CEVT_TXX9 892 bool 893 894config CSRC_BCM1480 895 bool 896 897config CSRC_IOASIC 898 bool 899 900config CSRC_POWERTV 901 bool 902 903config CSRC_R4K 904 bool 905 906config CSRC_GIC 907 bool 908 909config CSRC_SB1250 910 bool 911 912config GPIO_TXX9 913 select ARCH_REQUIRE_GPIOLIB 914 bool 915 916config FW_CFE 917 bool 918 919config ARCH_DMA_ADDR_T_64BIT 920 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT 921 922config DMA_COHERENT 923 bool 924 925config DMA_NONCOHERENT 926 bool 927 select NEED_DMA_MAP_STATE 928 929config NEED_DMA_MAP_STATE 930 bool 931 932config SYS_HAS_EARLY_PRINTK 933 bool 934 935config HOTPLUG_CPU 936 bool "Support for hot-pluggable CPUs" 937 depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU 938 help 939 Say Y here to allow turning CPUs off and on. CPUs can be 940 controlled through /sys/devices/system/cpu. 941 (Note: power management support will enable this option 942 automatically on SMP systems. ) 943 Say N if you want to disable CPU hotplug. 944 945config SYS_SUPPORTS_HOTPLUG_CPU 946 bool 947 948config I8259 949 bool 950 951config MIPS_BONITO64 952 bool 953 954config MIPS_MSC 955 bool 956 957config MIPS_NILE4 958 bool 959 960config SYNC_R4K 961 bool 962 963config MIPS_MACHINE 964 def_bool n 965 966config NO_IOPORT 967 def_bool n 968 969config GENERIC_ISA_DMA 970 bool 971 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 972 select ISA_DMA_API 973 974config GENERIC_ISA_DMA_SUPPORT_BROKEN 975 bool 976 select GENERIC_ISA_DMA 977 978config ISA_DMA_API 979 bool 980 981config HOLES_IN_ZONE 982 bool 983 984# 985# Endianness selection. Sufficiently obscure so many users don't know what to 986# answer,so we try hard to limit the available choices. Also the use of a 987# choice statement should be more obvious to the user. 988# 989choice 990 prompt "Endianness selection" 991 help 992 Some MIPS machines can be configured for either little or big endian 993 byte order. These modes require different kernels and a different 994 Linux distribution. In general there is one preferred byteorder for a 995 particular system but some systems are just as commonly used in the 996 one or the other endianness. 997 998config CPU_BIG_ENDIAN 999 bool "Big endian" 1000 depends on SYS_SUPPORTS_BIG_ENDIAN 1001 1002config CPU_LITTLE_ENDIAN 1003 bool "Little endian" 1004 depends on SYS_SUPPORTS_LITTLE_ENDIAN 1005 1006endchoice 1007 1008config EXPORT_UASM 1009 bool 1010 1011config SYS_SUPPORTS_APM_EMULATION 1012 bool 1013 1014config SYS_SUPPORTS_BIG_ENDIAN 1015 bool 1016 1017config SYS_SUPPORTS_LITTLE_ENDIAN 1018 bool 1019 1020config SYS_SUPPORTS_HUGETLBFS 1021 bool 1022 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT 1023 default y 1024 1025config MIPS_HUGE_TLB_SUPPORT 1026 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE 1027 1028config IRQ_CPU 1029 bool 1030 1031config IRQ_CPU_RM7K 1032 bool 1033 1034config IRQ_MSP_SLP 1035 bool 1036 1037config IRQ_MSP_CIC 1038 bool 1039 1040config IRQ_TXX9 1041 bool 1042 1043config IRQ_GT641XX 1044 bool 1045 1046config IRQ_GIC 1047 bool 1048 1049config PCI_GT64XXX_PCI0 1050 bool 1051 1052config NO_EXCEPT_FILL 1053 bool 1054 1055config SOC_EMMA2RH 1056 bool 1057 select CEVT_R4K 1058 select CSRC_R4K 1059 select DMA_NONCOHERENT 1060 select IRQ_CPU 1061 select SWAP_IO_SPACE 1062 select SYS_HAS_CPU_R5500 1063 select SYS_SUPPORTS_32BIT_KERNEL 1064 select SYS_SUPPORTS_64BIT_KERNEL 1065 select SYS_SUPPORTS_BIG_ENDIAN 1066 1067config SOC_PNX833X 1068 bool 1069 select CEVT_R4K 1070 select CSRC_R4K 1071 select IRQ_CPU 1072 select DMA_NONCOHERENT 1073 select SYS_HAS_CPU_MIPS32_R2 1074 select SYS_SUPPORTS_32BIT_KERNEL 1075 select SYS_SUPPORTS_LITTLE_ENDIAN 1076 select SYS_SUPPORTS_BIG_ENDIAN 1077 select CPU_MIPSR2_IRQ_VI 1078 1079config SOC_PNX8335 1080 bool 1081 select SOC_PNX833X 1082 1083config SWAP_IO_SPACE 1084 bool 1085 1086config SGI_HAS_INDYDOG 1087 bool 1088 1089config SGI_HAS_HAL2 1090 bool 1091 1092config SGI_HAS_SEEQ 1093 bool 1094 1095config SGI_HAS_WD93 1096 bool 1097 1098config SGI_HAS_ZILOG 1099 bool 1100 1101config SGI_HAS_I8042 1102 bool 1103 1104config DEFAULT_SGI_PARTITION 1105 bool 1106 1107config FW_ARC32 1108 bool 1109 1110config FW_SNIPROM 1111 bool 1112 1113config BOOT_ELF32 1114 bool 1115 1116config MIPS_L1_CACHE_SHIFT 1117 int 1118 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL || SOC_RT288X 1119 default "6" if MIPS_CPU_SCACHE 1120 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON 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 help 1401 The Cavium Octeon processor is a highly integrated chip containing 1402 many ethernet hardware widgets for networking tasks. The processor 1403 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. 1404 Full details can be found at http://www.caviumnetworks.com. 1405 1406config CPU_BMIPS3300 1407 bool "BMIPS3300" 1408 depends on SYS_HAS_CPU_BMIPS3300 1409 select CPU_BMIPS 1410 help 1411 Broadcom BMIPS3300 processors. 1412 1413config CPU_BMIPS4350 1414 bool "BMIPS4350" 1415 depends on SYS_HAS_CPU_BMIPS4350 1416 select CPU_BMIPS 1417 select SYS_SUPPORTS_SMP 1418 select SYS_SUPPORTS_HOTPLUG_CPU 1419 help 1420 Broadcom BMIPS4350 ("VIPER") processors. 1421 1422config CPU_BMIPS4380 1423 bool "BMIPS4380" 1424 depends on SYS_HAS_CPU_BMIPS4380 1425 select CPU_BMIPS 1426 select SYS_SUPPORTS_SMP 1427 select SYS_SUPPORTS_HOTPLUG_CPU 1428 help 1429 Broadcom BMIPS4380 processors. 1430 1431config CPU_BMIPS5000 1432 bool "BMIPS5000" 1433 depends on SYS_HAS_CPU_BMIPS5000 1434 select CPU_BMIPS 1435 select CPU_SUPPORTS_HIGHMEM 1436 select MIPS_CPU_SCACHE 1437 select SYS_SUPPORTS_SMP 1438 select SYS_SUPPORTS_HOTPLUG_CPU 1439 help 1440 Broadcom BMIPS5000 processors. 1441 1442config CPU_XLR 1443 bool "Netlogic XLR SoC" 1444 depends on SYS_HAS_CPU_XLR 1445 select CPU_SUPPORTS_32BIT_KERNEL 1446 select CPU_SUPPORTS_64BIT_KERNEL 1447 select CPU_SUPPORTS_HIGHMEM 1448 select CPU_SUPPORTS_HUGEPAGES 1449 select WEAK_ORDERING 1450 select WEAK_REORDERING_BEYOND_LLSC 1451 help 1452 Netlogic Microsystems XLR/XLS processors. 1453 1454config CPU_XLP 1455 bool "Netlogic XLP SoC" 1456 depends on SYS_HAS_CPU_XLP 1457 select CPU_SUPPORTS_32BIT_KERNEL 1458 select CPU_SUPPORTS_64BIT_KERNEL 1459 select CPU_SUPPORTS_HIGHMEM 1460 select WEAK_ORDERING 1461 select WEAK_REORDERING_BEYOND_LLSC 1462 select CPU_HAS_PREFETCH 1463 select CPU_MIPSR2 1464 help 1465 Netlogic Microsystems XLP processors. 1466endchoice 1467 1468if CPU_LOONGSON2F 1469config CPU_NOP_WORKAROUNDS 1470 bool 1471 1472config CPU_JUMP_WORKAROUNDS 1473 bool 1474 1475config CPU_LOONGSON2F_WORKAROUNDS 1476 bool "Loongson 2F Workarounds" 1477 default y 1478 select CPU_NOP_WORKAROUNDS 1479 select CPU_JUMP_WORKAROUNDS 1480 help 1481 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 1482 require workarounds. Without workarounds the system may hang 1483 unexpectedly. For more information please refer to the gas 1484 -mfix-loongson2f-nop and -mfix-loongson2f-jump options. 1485 1486 Loongson 2F03 and later have fixed these issues and no workarounds 1487 are needed. The workarounds have no significant side effect on them 1488 but may decrease the performance of the system so this option should 1489 be disabled unless the kernel is intended to be run on 2F01 or 2F02 1490 systems. 1491 1492 If unsure, please say Y. 1493endif # CPU_LOONGSON2F 1494 1495config SYS_SUPPORTS_ZBOOT 1496 bool 1497 select HAVE_KERNEL_GZIP 1498 select HAVE_KERNEL_BZIP2 1499 select HAVE_KERNEL_LZMA 1500 select HAVE_KERNEL_LZO 1501 1502config SYS_SUPPORTS_ZBOOT_UART16550 1503 bool 1504 select SYS_SUPPORTS_ZBOOT 1505 1506config CPU_LOONGSON2 1507 bool 1508 select CPU_SUPPORTS_32BIT_KERNEL 1509 select CPU_SUPPORTS_64BIT_KERNEL 1510 select CPU_SUPPORTS_HIGHMEM 1511 select CPU_SUPPORTS_HUGEPAGES 1512 1513config CPU_LOONGSON1 1514 bool 1515 select CPU_MIPS32 1516 select CPU_MIPSR2 1517 select CPU_HAS_PREFETCH 1518 select CPU_SUPPORTS_32BIT_KERNEL 1519 select CPU_SUPPORTS_HIGHMEM 1520 1521config CPU_BMIPS 1522 bool 1523 select CPU_MIPS32 1524 select CPU_SUPPORTS_32BIT_KERNEL 1525 select DMA_NONCOHERENT 1526 select IRQ_CPU 1527 select SWAP_IO_SPACE 1528 select WEAK_ORDERING 1529 1530config SYS_HAS_CPU_LOONGSON2E 1531 bool 1532 1533config SYS_HAS_CPU_LOONGSON2F 1534 bool 1535 select CPU_SUPPORTS_CPUFREQ 1536 select CPU_SUPPORTS_ADDRWINCFG if 64BIT 1537 select CPU_SUPPORTS_UNCACHED_ACCELERATED 1538 1539config SYS_HAS_CPU_LOONGSON1B 1540 bool 1541 1542config SYS_HAS_CPU_MIPS32_R1 1543 bool 1544 1545config SYS_HAS_CPU_MIPS32_R2 1546 bool 1547 1548config SYS_HAS_CPU_MIPS64_R1 1549 bool 1550 1551config SYS_HAS_CPU_MIPS64_R2 1552 bool 1553 1554config SYS_HAS_CPU_R3000 1555 bool 1556 1557config SYS_HAS_CPU_TX39XX 1558 bool 1559 1560config SYS_HAS_CPU_VR41XX 1561 bool 1562 1563config SYS_HAS_CPU_R4300 1564 bool 1565 1566config SYS_HAS_CPU_R4X00 1567 bool 1568 1569config SYS_HAS_CPU_TX49XX 1570 bool 1571 1572config SYS_HAS_CPU_R5000 1573 bool 1574 1575config SYS_HAS_CPU_R5432 1576 bool 1577 1578config SYS_HAS_CPU_R5500 1579 bool 1580 1581config SYS_HAS_CPU_R6000 1582 bool 1583 1584config SYS_HAS_CPU_NEVADA 1585 bool 1586 1587config SYS_HAS_CPU_R8000 1588 bool 1589 1590config SYS_HAS_CPU_R10000 1591 bool 1592 1593config SYS_HAS_CPU_RM7000 1594 bool 1595 1596config SYS_HAS_CPU_SB1 1597 bool 1598 1599config SYS_HAS_CPU_CAVIUM_OCTEON 1600 bool 1601 1602config SYS_HAS_CPU_BMIPS3300 1603 bool 1604 1605config SYS_HAS_CPU_BMIPS4350 1606 bool 1607 1608config SYS_HAS_CPU_BMIPS4380 1609 bool 1610 1611config SYS_HAS_CPU_BMIPS5000 1612 bool 1613 1614config SYS_HAS_CPU_XLR 1615 bool 1616 1617config SYS_HAS_CPU_XLP 1618 bool 1619 1620# 1621# CPU may reorder R->R, R->W, W->R, W->W 1622# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1623# 1624config WEAK_ORDERING 1625 bool 1626 1627# 1628# CPU may reorder reads and writes beyond LL/SC 1629# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 1630# 1631config WEAK_REORDERING_BEYOND_LLSC 1632 bool 1633endmenu 1634 1635# 1636# These two indicate any level of the MIPS32 and MIPS64 architecture 1637# 1638config CPU_MIPS32 1639 bool 1640 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 1641 1642config CPU_MIPS64 1643 bool 1644 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 1645 1646# 1647# These two indicate the revision of the architecture, either Release 1 or Release 2 1648# 1649config CPU_MIPSR1 1650 bool 1651 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 1652 1653config CPU_MIPSR2 1654 bool 1655 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 1656 1657config SYS_SUPPORTS_32BIT_KERNEL 1658 bool 1659config SYS_SUPPORTS_64BIT_KERNEL 1660 bool 1661config CPU_SUPPORTS_32BIT_KERNEL 1662 bool 1663config CPU_SUPPORTS_64BIT_KERNEL 1664 bool 1665config CPU_SUPPORTS_CPUFREQ 1666 bool 1667config CPU_SUPPORTS_ADDRWINCFG 1668 bool 1669config CPU_SUPPORTS_HUGEPAGES 1670 bool 1671config CPU_SUPPORTS_UNCACHED_ACCELERATED 1672 bool 1673config MIPS_PGD_C0_CONTEXT 1674 bool 1675 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP 1676 1677# 1678# Set to y for ptrace access to watch registers. 1679# 1680config HARDWARE_WATCHPOINTS 1681 bool 1682 default y if CPU_MIPSR1 || CPU_MIPSR2 1683 1684menu "Kernel type" 1685 1686choice 1687 prompt "Kernel code model" 1688 help 1689 You should only select this option if you have a workload that 1690 actually benefits from 64-bit processing or if your machine has 1691 large memory. You will only be presented a single option in this 1692 menu if your system does not support both 32-bit and 64-bit kernels. 1693 1694config 32BIT 1695 bool "32-bit kernel" 1696 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 1697 select TRAD_SIGNALS 1698 help 1699 Select this option if you want to build a 32-bit kernel. 1700config 64BIT 1701 bool "64-bit kernel" 1702 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 1703 help 1704 Select this option if you want to build a 64-bit kernel. 1705 1706endchoice 1707 1708config KVM_GUEST 1709 bool "KVM Guest Kernel" 1710 depends on BROKEN_ON_SMP 1711 help 1712 Select this option if building a guest kernel for KVM (Trap & Emulate) mode 1713 1714config KVM_HOST_FREQ 1715 int "KVM Host Processor Frequency (MHz)" 1716 depends on KVM_GUEST 1717 default 500 1718 help 1719 Select this option if building a guest kernel for KVM to skip 1720 RTC emulation when determining guest CPU Frequency. Instead, the guest 1721 processor frequency is automatically derived from the host frequency. 1722 1723choice 1724 prompt "Kernel page size" 1725 default PAGE_SIZE_4KB 1726 1727config PAGE_SIZE_4KB 1728 bool "4kB" 1729 depends on !CPU_LOONGSON2 1730 help 1731 This option select the standard 4kB Linux page size. On some 1732 R3000-family processors this is the only available page size. Using 1733 4kB page size will minimize memory consumption and is therefore 1734 recommended for low memory systems. 1735 1736config PAGE_SIZE_8KB 1737 bool "8kB" 1738 depends on CPU_R8000 || CPU_CAVIUM_OCTEON 1739 help 1740 Using 8kB page size will result in higher performance kernel at 1741 the price of higher memory consumption. This option is available 1742 only on R8000 and cnMIPS processors. Note that you will need a 1743 suitable Linux distribution to support this. 1744 1745config PAGE_SIZE_16KB 1746 bool "16kB" 1747 depends on !CPU_R3000 && !CPU_TX39XX 1748 help 1749 Using 16kB page size will result in higher performance kernel at 1750 the price of higher memory consumption. This option is available on 1751 all non-R3000 family processors. Note that you will need a suitable 1752 Linux distribution to support this. 1753 1754config PAGE_SIZE_32KB 1755 bool "32kB" 1756 depends on CPU_CAVIUM_OCTEON 1757 help 1758 Using 32kB page size will result in higher performance kernel at 1759 the price of higher memory consumption. This option is available 1760 only on cnMIPS cores. Note that you will need a suitable Linux 1761 distribution to support this. 1762 1763config PAGE_SIZE_64KB 1764 bool "64kB" 1765 depends on !CPU_R3000 && !CPU_TX39XX 1766 help 1767 Using 64kB page size will result in higher performance kernel at 1768 the price of higher memory consumption. This option is available on 1769 all non-R3000 family processor. Not that at the time of this 1770 writing this option is still high experimental. 1771 1772endchoice 1773 1774config FORCE_MAX_ZONEORDER 1775 int "Maximum zone order" 1776 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB 1777 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB 1778 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB 1779 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB 1780 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB 1781 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB 1782 range 11 64 1783 default "11" 1784 help 1785 The kernel memory allocator divides physically contiguous memory 1786 blocks into "zones", where each zone is a power of two number of 1787 pages. This option selects the largest power of two that the kernel 1788 keeps in the memory allocator. If you need to allocate very large 1789 blocks of physically contiguous memory, then you may need to 1790 increase this value. 1791 1792 This config option is actually maximum order plus one. For example, 1793 a value of 11 means that the largest free memory block is 2^10 pages. 1794 1795 The page size is not necessarily 4KB. Keep this in mind 1796 when choosing a value for this option. 1797 1798config CEVT_GIC 1799 bool "Use GIC global counter for clock events" 1800 depends on IRQ_GIC && !(MIPS_SEAD3 || MIPS_MT_SMTC) 1801 help 1802 Use the GIC global counter for the clock events. The R4K clock 1803 event driver is always present, so if the platform ends up not 1804 detecting a GIC, it will fall back to the R4K timer for the 1805 generation of clock events. 1806 1807config BOARD_SCACHE 1808 bool 1809 1810config IP22_CPU_SCACHE 1811 bool 1812 select BOARD_SCACHE 1813 1814# 1815# Support for a MIPS32 / MIPS64 style S-caches 1816# 1817config MIPS_CPU_SCACHE 1818 bool 1819 select BOARD_SCACHE 1820 1821config R5000_CPU_SCACHE 1822 bool 1823 select BOARD_SCACHE 1824 1825config RM7000_CPU_SCACHE 1826 bool 1827 select BOARD_SCACHE 1828 1829config SIBYTE_DMA_PAGEOPS 1830 bool "Use DMA to clear/copy pages" 1831 depends on CPU_SB1 1832 help 1833 Instead of using the CPU to zero and copy pages, use a Data Mover 1834 channel. These DMA channels are otherwise unused by the standard 1835 SiByte Linux port. Seems to give a small performance benefit. 1836 1837config CPU_HAS_PREFETCH 1838 bool 1839 1840config CPU_GENERIC_DUMP_TLB 1841 bool 1842 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX) 1843 1844config CPU_R4K_FPU 1845 bool 1846 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 1847 1848config CPU_R4K_CACHE_TLB 1849 bool 1850 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 1851 1852choice 1853 prompt "MIPS MT options" 1854 1855config MIPS_MT_DISABLED 1856 bool "Disable multithreading support." 1857 help 1858 Use this option if your workload can't take advantage of 1859 MIPS hardware multithreading support. On systems that don't have 1860 the option of an MT-enabled processor this option will be the only 1861 option in this menu. 1862 1863config MIPS_MT_SMP 1864 bool "Use 1 TC on each available VPE for SMP" 1865 depends on SYS_SUPPORTS_MULTITHREADING 1866 select CPU_MIPSR2_IRQ_VI 1867 select CPU_MIPSR2_IRQ_EI 1868 select MIPS_MT 1869 select NR_CPUS_DEFAULT_2 1870 select SMP 1871 select SYS_SUPPORTS_SCHED_SMT if SMP 1872 select SYS_SUPPORTS_SMP 1873 select SMP_UP 1874 select MIPS_PERF_SHARED_TC_COUNTERS 1875 help 1876 This is a kernel model which is known a VSMP but lately has been 1877 marketesed into SMVP. 1878 Virtual SMP uses the processor's VPEs to implement virtual 1879 processors. In currently available configuration of the 34K processor 1880 this allows for a dual processor. Both processors will share the same 1881 primary caches; each will obtain the half of the TLB for it's own 1882 exclusive use. For a layman this model can be described as similar to 1883 what Intel calls Hyperthreading. 1884 1885 For further information see http://www.linux-mips.org/wiki/34K#VSMP 1886 1887config MIPS_MT_SMTC 1888 bool "SMTC: Use all TCs on all VPEs for SMP" 1889 depends on CPU_MIPS32_R2 1890 #depends on CPU_MIPS64_R2 # once there is hardware ... 1891 depends on SYS_SUPPORTS_MULTITHREADING 1892 select CPU_MIPSR2_IRQ_VI 1893 select CPU_MIPSR2_IRQ_EI 1894 select MIPS_MT 1895 select NR_CPUS_DEFAULT_8 1896 select SMP 1897 select SYS_SUPPORTS_SMP 1898 select SMP_UP 1899 help 1900 This is a kernel model which is known a SMTC or lately has been 1901 marketesed into SMVP. 1902 is presenting the available TC's of the core as processors to Linux. 1903 On currently available 34K processors this means a Linux system will 1904 see up to 5 processors. The implementation of the SMTC kernel differs 1905 significantly from VSMP and cannot efficiently coexist in the same 1906 kernel binary so the choice between VSMP and SMTC is a compile time 1907 decision. 1908 1909 For further information see http://www.linux-mips.org/wiki/34K#SMTC 1910 1911endchoice 1912 1913config MIPS_MT 1914 bool 1915 1916config SCHED_SMT 1917 bool "SMT (multithreading) scheduler support" 1918 depends on SYS_SUPPORTS_SCHED_SMT 1919 default n 1920 help 1921 SMT scheduler support improves the CPU scheduler's decision making 1922 when dealing with MIPS MT enabled cores at a cost of slightly 1923 increased overhead in some places. If unsure say N here. 1924 1925config SYS_SUPPORTS_SCHED_SMT 1926 bool 1927 1928config SYS_SUPPORTS_MULTITHREADING 1929 bool 1930 1931config MIPS_MT_FPAFF 1932 bool "Dynamic FPU affinity for FP-intensive threads" 1933 default y 1934 depends on MIPS_MT_SMP || MIPS_MT_SMTC 1935 1936config MIPS_VPE_LOADER 1937 bool "VPE loader support." 1938 depends on SYS_SUPPORTS_MULTITHREADING && MODULES 1939 select CPU_MIPSR2_IRQ_VI 1940 select CPU_MIPSR2_IRQ_EI 1941 select MIPS_MT 1942 help 1943 Includes a loader for loading an elf relocatable object 1944 onto another VPE and running it. 1945 1946config MIPS_MT_SMTC_IM_BACKSTOP 1947 bool "Use per-TC register bits as backstop for inhibited IM bits" 1948 depends on MIPS_MT_SMTC 1949 default n 1950 help 1951 To support multiple TC microthreads acting as "CPUs" within 1952 a VPE, VPE-wide interrupt mask bits must be specially manipulated 1953 during interrupt handling. To support legacy drivers and interrupt 1954 controller management code, SMTC has a "backstop" to track and 1955 if necessary restore the interrupt mask. This has some performance 1956 impact on interrupt service overhead. 1957 1958config MIPS_MT_SMTC_IRQAFF 1959 bool "Support IRQ affinity API" 1960 depends on MIPS_MT_SMTC 1961 default n 1962 help 1963 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.) 1964 for SMTC Linux kernel. Requires platform support, of which 1965 an example can be found in the MIPS kernel i8259 and Malta 1966 platform code. Adds some overhead to interrupt dispatch, and 1967 should be used only if you know what you are doing. 1968 1969config MIPS_VPE_LOADER_TOM 1970 bool "Load VPE program into memory hidden from linux" 1971 depends on MIPS_VPE_LOADER 1972 default y 1973 help 1974 The loader can use memory that is present but has been hidden from 1975 Linux using the kernel command line option "mem=xxMB". It's up to 1976 you to ensure the amount you put in the option and the space your 1977 program requires is less or equal to the amount physically present. 1978 1979# this should possibly be in drivers/char, but it is rather cpu related. Hmmm 1980config MIPS_VPE_APSP_API 1981 bool "Enable support for AP/SP API (RTLX)" 1982 depends on MIPS_VPE_LOADER 1983 help 1984 1985config MIPS_CMP 1986 bool "MIPS CMP framework support" 1987 depends on SYS_SUPPORTS_MIPS_CMP 1988 select SYNC_R4K 1989 select SYS_SUPPORTS_SMP 1990 select SYS_SUPPORTS_SCHED_SMT if SMP 1991 select WEAK_ORDERING 1992 default n 1993 help 1994 This is a placeholder option for the GCMP work. It will need to 1995 be handled differently... 1996 1997config SB1_PASS_1_WORKAROUNDS 1998 bool 1999 depends on CPU_SB1_PASS_1 2000 default y 2001 2002config SB1_PASS_2_WORKAROUNDS 2003 bool 2004 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 2005 default y 2006 2007config SB1_PASS_2_1_WORKAROUNDS 2008 bool 2009 depends on CPU_SB1 && CPU_SB1_PASS_2 2010 default y 2011 2012 2013config 64BIT_PHYS_ADDR 2014 bool 2015 2016config ARCH_PHYS_ADDR_T_64BIT 2017 def_bool 64BIT_PHYS_ADDR 2018 2019config CPU_HAS_SMARTMIPS 2020 depends on SYS_SUPPORTS_SMARTMIPS 2021 bool "Support for the SmartMIPS ASE" 2022 help 2023 SmartMIPS is a extension of the MIPS32 architecture aimed at 2024 increased security at both hardware and software level for 2025 smartcards. Enabling this option will allow proper use of the 2026 SmartMIPS instructions by Linux applications. However a kernel with 2027 this option will not work on a MIPS core without SmartMIPS core. If 2028 you don't know you probably don't have SmartMIPS and should say N 2029 here. 2030 2031config CPU_MICROMIPS 2032 depends on SYS_SUPPORTS_MICROMIPS 2033 bool "Build kernel using microMIPS ISA" 2034 help 2035 When this option is enabled the kernel will be built using the 2036 microMIPS ISA 2037 2038config CPU_HAS_WB 2039 bool 2040 2041config XKS01 2042 bool 2043 2044# 2045# Vectored interrupt mode is an R2 feature 2046# 2047config CPU_MIPSR2_IRQ_VI 2048 bool 2049 2050# 2051# Extended interrupt mode is an R2 feature 2052# 2053config CPU_MIPSR2_IRQ_EI 2054 bool 2055 2056config CPU_HAS_SYNC 2057 bool 2058 depends on !CPU_R3000 2059 default y 2060 2061# 2062# CPU non-features 2063# 2064config CPU_DADDI_WORKAROUNDS 2065 bool 2066 2067config CPU_R4000_WORKAROUNDS 2068 bool 2069 select CPU_R4400_WORKAROUNDS 2070 2071config CPU_R4400_WORKAROUNDS 2072 bool 2073 2074# 2075# - Highmem only makes sense for the 32-bit kernel. 2076# - The current highmem code will only work properly on physically indexed 2077# caches such as R3000, SB1, R7000 or those that look like they're virtually 2078# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 2079# moment we protect the user and offer the highmem option only on machines 2080# where it's known to be safe. This will not offer highmem on a few systems 2081# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 2082# indexed CPUs but we're playing safe. 2083# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 2084# know they might have memory configurations that could make use of highmem 2085# support. 2086# 2087config HIGHMEM 2088 bool "High Memory Support" 2089 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM 2090 2091config CPU_SUPPORTS_HIGHMEM 2092 bool 2093 2094config SYS_SUPPORTS_HIGHMEM 2095 bool 2096 2097config SYS_SUPPORTS_SMARTMIPS 2098 bool 2099 2100config SYS_SUPPORTS_MICROMIPS 2101 bool 2102 2103config ARCH_FLATMEM_ENABLE 2104 def_bool y 2105 depends on !NUMA && !CPU_LOONGSON2 2106 2107config ARCH_DISCONTIGMEM_ENABLE 2108 bool 2109 default y if SGI_IP27 2110 help 2111 Say Y to support efficient handling of discontiguous physical memory, 2112 for architectures which are either NUMA (Non-Uniform Memory Access) 2113 or have huge holes in the physical address space for other reasons. 2114 See <file:Documentation/vm/numa> for more. 2115 2116config ARCH_SPARSEMEM_ENABLE 2117 bool 2118 select SPARSEMEM_STATIC 2119 2120config NUMA 2121 bool "NUMA Support" 2122 depends on SYS_SUPPORTS_NUMA 2123 help 2124 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2125 Access). This option improves performance on systems with more 2126 than two nodes; on two node systems it is generally better to 2127 leave it disabled; on single node systems disable this option 2128 disabled. 2129 2130config SYS_SUPPORTS_NUMA 2131 bool 2132 2133config NODES_SHIFT 2134 int 2135 default "6" 2136 depends on NEED_MULTIPLE_NODES 2137 2138config HW_PERF_EVENTS 2139 bool "Enable hardware performance counter support for perf events" 2140 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP) 2141 default y 2142 help 2143 Enable hardware performance counter support for perf events. If 2144 disabled, perf events will use software events only. 2145 2146source "mm/Kconfig" 2147 2148config SMP 2149 bool "Multi-Processing support" 2150 depends on SYS_SUPPORTS_SMP 2151 select USE_GENERIC_SMP_HELPERS 2152 help 2153 This enables support for systems with more than one CPU. If you have 2154 a system with only one CPU, like most personal computers, say N. If 2155 you have a system with more than one CPU, say Y. 2156 2157 If you say N here, the kernel will run on single and multiprocessor 2158 machines, but will use only one CPU of a multiprocessor machine. If 2159 you say Y here, the kernel will run on many, but not all, 2160 singleprocessor machines. On a singleprocessor machine, the kernel 2161 will run faster if you say N here. 2162 2163 People using multiprocessor machines who say Y here should also say 2164 Y to "Enhanced Real Time Clock Support", below. 2165 2166 See also the SMP-HOWTO available at 2167 <http://www.tldp.org/docs.html#howto>. 2168 2169 If you don't know what to do here, say N. 2170 2171config SMP_UP 2172 bool 2173 2174config SYS_SUPPORTS_MIPS_CMP 2175 bool 2176 2177config SYS_SUPPORTS_SMP 2178 bool 2179 2180config NR_CPUS_DEFAULT_1 2181 bool 2182 2183config NR_CPUS_DEFAULT_2 2184 bool 2185 2186config NR_CPUS_DEFAULT_4 2187 bool 2188 2189config NR_CPUS_DEFAULT_8 2190 bool 2191 2192config NR_CPUS_DEFAULT_16 2193 bool 2194 2195config NR_CPUS_DEFAULT_32 2196 bool 2197 2198config NR_CPUS_DEFAULT_64 2199 bool 2200 2201config NR_CPUS 2202 int "Maximum number of CPUs (2-64)" 2203 range 1 64 if NR_CPUS_DEFAULT_1 2204 depends on SMP 2205 default "1" if NR_CPUS_DEFAULT_1 2206 default "2" if NR_CPUS_DEFAULT_2 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. It may help to enable device hotplugging 2313 support. As of this writing the exact hardware interface is 2314 strongly in flux, so no good recommendation can be 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 CC_STACKPROTECTOR 2357 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" 2358 help 2359 This option turns on the -fstack-protector GCC feature. This 2360 feature puts, at the beginning of functions, a canary value on 2361 the stack just before the return address, and validates 2362 the value just before actually returning. Stack based buffer 2363 overflows (that need to overwrite this return address) now also 2364 overwrite the canary, which gets detected and the attack is then 2365 neutralized via a kernel panic. 2366 2367 This feature requires gcc version 4.2 or above. 2368 2369config USE_OF 2370 bool 2371 select OF 2372 select OF_EARLY_FLATTREE 2373 select IRQ_DOMAIN 2374 2375endmenu 2376 2377config LOCKDEP_SUPPORT 2378 bool 2379 default y 2380 2381config STACKTRACE_SUPPORT 2382 bool 2383 default y 2384 2385source "init/Kconfig" 2386 2387source "kernel/Kconfig.freezer" 2388 2389menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2390 2391config HW_HAS_EISA 2392 bool 2393config HW_HAS_PCI 2394 bool 2395 2396config PCI 2397 bool "Support for PCI controller" 2398 depends on HW_HAS_PCI 2399 select PCI_DOMAINS 2400 select NO_GENERIC_PCI_IOPORT_MAP 2401 help 2402 Find out whether you have a PCI motherboard. PCI is the name of a 2403 bus system, i.e. the way the CPU talks to the other stuff inside 2404 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2405 say Y, otherwise N. 2406 2407config PCI_DOMAINS 2408 bool 2409 2410source "drivers/pci/Kconfig" 2411 2412source "drivers/pci/pcie/Kconfig" 2413 2414# 2415# ISA support is now enabled via select. Too many systems still have the one 2416# or other ISA chip on the board that users don't know about so don't expect 2417# users to choose the right thing ... 2418# 2419config ISA 2420 bool 2421 2422config EISA 2423 bool "EISA support" 2424 depends on HW_HAS_EISA 2425 select ISA 2426 select GENERIC_ISA_DMA 2427 ---help--- 2428 The Extended Industry Standard Architecture (EISA) bus was 2429 developed as an open alternative to the IBM MicroChannel bus. 2430 2431 The EISA bus provided some of the features of the IBM MicroChannel 2432 bus while maintaining backward compatibility with cards made for 2433 the older ISA bus. The EISA bus saw limited use between 1988 and 2434 1995 when it was made obsolete by the PCI bus. 2435 2436 Say Y here if you are building a kernel for an EISA-based machine. 2437 2438 Otherwise, say N. 2439 2440source "drivers/eisa/Kconfig" 2441 2442config TC 2443 bool "TURBOchannel support" 2444 depends on MACH_DECSTATION 2445 help 2446 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 2447 processors. TURBOchannel programming specifications are available 2448 at: 2449 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 2450 and: 2451 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 2452 Linux driver support status is documented at: 2453 <http://www.linux-mips.org/wiki/DECstation> 2454 2455config MMU 2456 bool 2457 default y 2458 2459config I8253 2460 bool 2461 select CLKSRC_I8253 2462 select CLKEVT_I8253 2463 select MIPS_EXTERNAL_TIMER 2464 2465config ZONE_DMA 2466 bool 2467 2468config ZONE_DMA32 2469 bool 2470 2471source "drivers/pcmcia/Kconfig" 2472 2473source "drivers/pci/hotplug/Kconfig" 2474 2475config RAPIDIO 2476 bool "RapidIO support" 2477 depends on PCI 2478 default n 2479 help 2480 If you say Y here, the kernel will include drivers and 2481 infrastructure code to support RapidIO interconnect devices. 2482 2483source "drivers/rapidio/Kconfig" 2484 2485endmenu 2486 2487menu "Executable file formats" 2488 2489source "fs/Kconfig.binfmt" 2490 2491config TRAD_SIGNALS 2492 bool 2493 2494config MIPS32_COMPAT 2495 bool "Kernel support for Linux/MIPS 32-bit binary compatibility" 2496 depends on 64BIT 2497 help 2498 Select this option if you want Linux/MIPS 32-bit binary 2499 compatibility. Since all software available for Linux/MIPS is 2500 currently 32-bit you should say Y here. 2501 2502config COMPAT 2503 bool 2504 depends on MIPS32_COMPAT 2505 select ARCH_WANT_OLD_COMPAT_IPC 2506 default y 2507 2508config SYSVIPC_COMPAT 2509 bool 2510 depends on COMPAT && SYSVIPC 2511 default y 2512 2513config MIPS32_O32 2514 bool "Kernel support for o32 binaries" 2515 depends on MIPS32_COMPAT 2516 help 2517 Select this option if you want to run o32 binaries. These are pure 2518 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2519 existing binaries are in this format. 2520 2521 If unsure, say Y. 2522 2523config MIPS32_N32 2524 bool "Kernel support for n32 binaries" 2525 depends on MIPS32_COMPAT 2526 help 2527 Select this option if you want to run n32 binaries. These are 2528 64-bit binaries using 32-bit quantities for addressing and certain 2529 data that would normally be 64-bit. They are used in special 2530 cases. 2531 2532 If unsure, say N. 2533 2534config BINFMT_ELF32 2535 bool 2536 default y if MIPS32_O32 || MIPS32_N32 2537 2538endmenu 2539 2540menu "Power management options" 2541 2542config ARCH_HIBERNATION_POSSIBLE 2543 def_bool y 2544 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2545 2546config ARCH_SUSPEND_POSSIBLE 2547 def_bool y 2548 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2549 2550source "kernel/power/Kconfig" 2551 2552endmenu 2553 2554config MIPS_EXTERNAL_TIMER 2555 bool 2556 2557if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER 2558menu "CPU Power Management" 2559source "drivers/cpufreq/Kconfig" 2560endmenu 2561endif 2562 2563source "net/Kconfig" 2564 2565source "drivers/Kconfig" 2566 2567source "drivers/firmware/Kconfig" 2568 2569source "fs/Kconfig" 2570 2571source "arch/mips/Kconfig.debug" 2572 2573source "security/Kconfig" 2574 2575source "crypto/Kconfig" 2576 2577source "lib/Kconfig" 2578 2579source "arch/mips/kvm/Kconfig" 2580