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