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