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