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