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 select BCM47XX_NVRAM 194 help 195 Support for BCM47XX based boards 196 197config BCM63XX 198 bool "Broadcom BCM63XX based boards" 199 select BOOT_RAW 200 select CEVT_R4K 201 select CSRC_R4K 202 select SYNC_R4K 203 select DMA_NONCOHERENT 204 select IRQ_MIPS_CPU 205 select SYS_SUPPORTS_32BIT_KERNEL 206 select SYS_SUPPORTS_BIG_ENDIAN 207 select SYS_HAS_EARLY_PRINTK 208 select SWAP_IO_SPACE 209 select ARCH_REQUIRE_GPIOLIB 210 select HAVE_CLK 211 select MIPS_L1_CACHE_SHIFT_4 212 help 213 Support for BCM63XX based boards 214 215config MIPS_COBALT 216 bool "Cobalt Server" 217 select CEVT_R4K 218 select CSRC_R4K 219 select CEVT_GT641XX 220 select DMA_NONCOHERENT 221 select HW_HAS_PCI 222 select I8253 223 select I8259 224 select IRQ_MIPS_CPU 225 select IRQ_GT641XX 226 select PCI_GT64XXX_PCI0 227 select PCI 228 select SYS_HAS_CPU_NEVADA 229 select SYS_HAS_EARLY_PRINTK 230 select SYS_SUPPORTS_32BIT_KERNEL 231 select SYS_SUPPORTS_64BIT_KERNEL 232 select SYS_SUPPORTS_LITTLE_ENDIAN 233 select USE_GENERIC_EARLY_PRINTK_8250 234 235config MACH_DECSTATION 236 bool "DECstations" 237 select BOOT_ELF32 238 select CEVT_DS1287 239 select CEVT_R4K if CPU_R4X00 240 select CSRC_IOASIC 241 select CSRC_R4K if CPU_R4X00 242 select CPU_DADDI_WORKAROUNDS if 64BIT 243 select CPU_R4000_WORKAROUNDS if 64BIT 244 select CPU_R4400_WORKAROUNDS if 64BIT 245 select DMA_NONCOHERENT 246 select NO_IOPORT_MAP 247 select IRQ_MIPS_CPU 248 select SYS_HAS_CPU_R3000 249 select SYS_HAS_CPU_R4X00 250 select SYS_SUPPORTS_32BIT_KERNEL 251 select SYS_SUPPORTS_64BIT_KERNEL 252 select SYS_SUPPORTS_LITTLE_ENDIAN 253 select SYS_SUPPORTS_128HZ 254 select SYS_SUPPORTS_256HZ 255 select SYS_SUPPORTS_1024HZ 256 select MIPS_L1_CACHE_SHIFT_4 257 help 258 This enables support for DEC's MIPS based workstations. For details 259 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the 260 DECstation porting pages on <http://decstation.unix-ag.org/>. 261 262 If you have one of the following DECstation Models you definitely 263 want to choose R4xx0 for the CPU Type: 264 265 DECstation 5000/50 266 DECstation 5000/150 267 DECstation 5000/260 268 DECsystem 5900/260 269 270 otherwise choose R3000. 271 272config MACH_JAZZ 273 bool "Jazz family of machines" 274 select FW_ARC 275 select FW_ARC32 276 select ARCH_MAY_HAVE_PC_FDC 277 select CEVT_R4K 278 select CSRC_R4K 279 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 280 select GENERIC_ISA_DMA 281 select HAVE_PCSPKR_PLATFORM 282 select IRQ_MIPS_CPU 283 select I8253 284 select I8259 285 select ISA 286 select SYS_HAS_CPU_R4X00 287 select SYS_SUPPORTS_32BIT_KERNEL 288 select SYS_SUPPORTS_64BIT_KERNEL 289 select SYS_SUPPORTS_100HZ 290 help 291 This a family of machines based on the MIPS R4030 chipset which was 292 used by several vendors to build RISC/os and Windows NT workstations. 293 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and 294 Olivetti M700-10 workstations. 295 296config MACH_INGENIC 297 bool "Ingenic SoC based machines" 298 select SYS_SUPPORTS_32BIT_KERNEL 299 select SYS_SUPPORTS_LITTLE_ENDIAN 300 select SYS_SUPPORTS_ZBOOT_UART16550 301 select DMA_NONCOHERENT 302 select IRQ_MIPS_CPU 303 select ARCH_REQUIRE_GPIOLIB 304 select COMMON_CLK 305 select GENERIC_IRQ_CHIP 306 select BUILTIN_DTB 307 select USE_OF 308 select LIBFDT 309 310config LANTIQ 311 bool "Lantiq based platforms" 312 select DMA_NONCOHERENT 313 select IRQ_MIPS_CPU 314 select CEVT_R4K 315 select CSRC_R4K 316 select SYS_HAS_CPU_MIPS32_R1 317 select SYS_HAS_CPU_MIPS32_R2 318 select SYS_SUPPORTS_BIG_ENDIAN 319 select SYS_SUPPORTS_32BIT_KERNEL 320 select SYS_SUPPORTS_MIPS16 321 select SYS_SUPPORTS_MULTITHREADING 322 select SYS_HAS_EARLY_PRINTK 323 select ARCH_REQUIRE_GPIOLIB 324 select SWAP_IO_SPACE 325 select BOOT_RAW 326 select HAVE_MACH_CLKDEV 327 select CLKDEV_LOOKUP 328 select USE_OF 329 select PINCTRL 330 select PINCTRL_LANTIQ 331 select ARCH_HAS_RESET_CONTROLLER 332 select RESET_CONTROLLER 333 334config LASAT 335 bool "LASAT Networks platforms" 336 select CEVT_R4K 337 select CRC32 338 select CSRC_R4K 339 select DMA_NONCOHERENT 340 select SYS_HAS_EARLY_PRINTK 341 select HW_HAS_PCI 342 select IRQ_MIPS_CPU 343 select PCI_GT64XXX_PCI0 344 select MIPS_NILE4 345 select R5000_CPU_SCACHE 346 select SYS_HAS_CPU_R5000 347 select SYS_SUPPORTS_32BIT_KERNEL 348 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN 349 select SYS_SUPPORTS_LITTLE_ENDIAN 350 351config MACH_LOONGSON32 352 bool "Loongson-1 family of machines" 353 select SYS_SUPPORTS_ZBOOT 354 help 355 This enables support for the Loongson-1 family of machines. 356 357 Loongson-1 is a family of 32-bit MIPS-compatible SoCs developed by 358 the Institute of Computing Technology (ICT), Chinese Academy of 359 Sciences (CAS). 360 361config MACH_LOONGSON64 362 bool "Loongson-2/3 family of machines" 363 select SYS_SUPPORTS_ZBOOT 364 help 365 This enables the support of Loongson-2/3 family of machines. 366 367 Loongson-2 is a family of single-core CPUs and Loongson-3 is a 368 family of multi-core CPUs. They are both 64-bit general-purpose 369 MIPS-compatible CPUs. Loongson-2/3 are developed by the Institute 370 of Computing Technology (ICT), Chinese Academy of Sciences (CAS) 371 in the People's Republic of China. The chief architect is Professor 372 Weiwu Hu. 373 374config MACH_PISTACHIO 375 bool "IMG Pistachio SoC based boards" 376 select ARCH_REQUIRE_GPIOLIB 377 select BOOT_ELF32 378 select BOOT_RAW 379 select CEVT_R4K 380 select CLKSRC_MIPS_GIC 381 select COMMON_CLK 382 select CSRC_R4K 383 select DMA_MAYBE_COHERENT 384 select IRQ_MIPS_CPU 385 select LIBFDT 386 select MFD_SYSCON 387 select MIPS_CPU_SCACHE 388 select MIPS_GIC 389 select PINCTRL 390 select REGULATOR 391 select SYS_HAS_CPU_MIPS32_R2 392 select SYS_SUPPORTS_32BIT_KERNEL 393 select SYS_SUPPORTS_LITTLE_ENDIAN 394 select SYS_SUPPORTS_MIPS_CPS 395 select SYS_SUPPORTS_MULTITHREADING 396 select SYS_SUPPORTS_ZBOOT 397 select SYS_HAS_EARLY_PRINTK 398 select USE_GENERIC_EARLY_PRINTK_8250 399 select USE_OF 400 help 401 This enables support for the IMG Pistachio SoC platform. 402 403config MIPS_MALTA 404 bool "MIPS Malta board" 405 select ARCH_MAY_HAVE_PC_FDC 406 select BOOT_ELF32 407 select BOOT_RAW 408 select BUILTIN_DTB 409 select CEVT_R4K 410 select CSRC_R4K 411 select CLKSRC_MIPS_GIC 412 select DMA_MAYBE_COHERENT 413 select GENERIC_ISA_DMA 414 select HAVE_PCSPKR_PLATFORM 415 select IRQ_MIPS_CPU 416 select MIPS_GIC 417 select HW_HAS_PCI 418 select I8253 419 select I8259 420 select MIPS_BONITO64 421 select MIPS_CPU_SCACHE 422 select MIPS_L1_CACHE_SHIFT_6 423 select PCI_GT64XXX_PCI0 424 select MIPS_MSC 425 select SWAP_IO_SPACE 426 select SYS_HAS_CPU_MIPS32_R1 427 select SYS_HAS_CPU_MIPS32_R2 428 select SYS_HAS_CPU_MIPS32_R3_5 429 select SYS_HAS_CPU_MIPS32_R5 430 select SYS_HAS_CPU_MIPS32_R6 431 select SYS_HAS_CPU_MIPS64_R1 432 select SYS_HAS_CPU_MIPS64_R2 433 select SYS_HAS_CPU_MIPS64_R6 434 select SYS_HAS_CPU_NEVADA 435 select SYS_HAS_CPU_RM7000 436 select SYS_SUPPORTS_32BIT_KERNEL 437 select SYS_SUPPORTS_64BIT_KERNEL 438 select SYS_SUPPORTS_BIG_ENDIAN 439 select SYS_SUPPORTS_HIGHMEM 440 select SYS_SUPPORTS_LITTLE_ENDIAN 441 select SYS_SUPPORTS_MICROMIPS 442 select SYS_SUPPORTS_MIPS_CMP 443 select SYS_SUPPORTS_MIPS_CPS 444 select SYS_SUPPORTS_MIPS16 445 select SYS_SUPPORTS_MULTITHREADING 446 select SYS_SUPPORTS_SMARTMIPS 447 select SYS_SUPPORTS_ZBOOT 448 select USE_OF 449 select ZONE_DMA32 if 64BIT 450 help 451 This enables support for the MIPS Technologies Malta evaluation 452 board. 453 454config MIPS_SEAD3 455 bool "MIPS SEAD3 board" 456 select BOOT_ELF32 457 select BOOT_RAW 458 select BUILTIN_DTB 459 select CEVT_R4K 460 select CSRC_R4K 461 select CLKSRC_MIPS_GIC 462 select CPU_MIPSR2_IRQ_VI 463 select CPU_MIPSR2_IRQ_EI 464 select DMA_NONCOHERENT 465 select IRQ_MIPS_CPU 466 select MIPS_GIC 467 select LIBFDT 468 select MIPS_MSC 469 select SYS_HAS_CPU_MIPS32_R1 470 select SYS_HAS_CPU_MIPS32_R2 471 select SYS_HAS_CPU_MIPS64_R1 472 select SYS_HAS_EARLY_PRINTK 473 select SYS_SUPPORTS_32BIT_KERNEL 474 select SYS_SUPPORTS_64BIT_KERNEL 475 select SYS_SUPPORTS_BIG_ENDIAN 476 select SYS_SUPPORTS_LITTLE_ENDIAN 477 select SYS_SUPPORTS_SMARTMIPS 478 select SYS_SUPPORTS_MICROMIPS 479 select SYS_SUPPORTS_MIPS16 480 select USB_EHCI_BIG_ENDIAN_DESC 481 select USB_EHCI_BIG_ENDIAN_MMIO 482 select USE_OF 483 help 484 This enables support for the MIPS Technologies SEAD3 evaluation 485 board. 486 487config NEC_MARKEINS 488 bool "NEC EMMA2RH Mark-eins board" 489 select SOC_EMMA2RH 490 select HW_HAS_PCI 491 help 492 This enables support for the NEC Electronics Mark-eins boards. 493 494config MACH_VR41XX 495 bool "NEC VR4100 series based machines" 496 select CEVT_R4K 497 select CSRC_R4K 498 select SYS_HAS_CPU_VR41XX 499 select SYS_SUPPORTS_MIPS16 500 select ARCH_REQUIRE_GPIOLIB 501 502config NXP_STB220 503 bool "NXP STB220 board" 504 select SOC_PNX833X 505 help 506 Support for NXP Semiconductors STB220 Development Board. 507 508config NXP_STB225 509 bool "NXP 225 board" 510 select SOC_PNX833X 511 select SOC_PNX8335 512 help 513 Support for NXP Semiconductors STB225 Development Board. 514 515config PMC_MSP 516 bool "PMC-Sierra MSP chipsets" 517 select CEVT_R4K 518 select CSRC_R4K 519 select DMA_NONCOHERENT 520 select SWAP_IO_SPACE 521 select NO_EXCEPT_FILL 522 select BOOT_RAW 523 select SYS_HAS_CPU_MIPS32_R1 524 select SYS_HAS_CPU_MIPS32_R2 525 select SYS_SUPPORTS_32BIT_KERNEL 526 select SYS_SUPPORTS_BIG_ENDIAN 527 select SYS_SUPPORTS_MIPS16 528 select IRQ_MIPS_CPU 529 select SERIAL_8250 530 select SERIAL_8250_CONSOLE 531 select USB_EHCI_BIG_ENDIAN_MMIO 532 select USB_EHCI_BIG_ENDIAN_DESC 533 help 534 This adds support for the PMC-Sierra family of Multi-Service 535 Processor System-On-A-Chips. These parts include a number 536 of integrated peripherals, interfaces and DSPs in addition to 537 a variety of MIPS cores. 538 539config RALINK 540 bool "Ralink based machines" 541 select CEVT_R4K 542 select CSRC_R4K 543 select BOOT_RAW 544 select DMA_NONCOHERENT 545 select IRQ_MIPS_CPU 546 select USE_OF 547 select SYS_HAS_CPU_MIPS32_R1 548 select SYS_HAS_CPU_MIPS32_R2 549 select SYS_SUPPORTS_32BIT_KERNEL 550 select SYS_SUPPORTS_LITTLE_ENDIAN 551 select SYS_SUPPORTS_MIPS16 552 select SYS_HAS_EARLY_PRINTK 553 select HAVE_MACH_CLKDEV 554 select CLKDEV_LOOKUP 555 select ARCH_HAS_RESET_CONTROLLER 556 select RESET_CONTROLLER 557 558config SGI_IP22 559 bool "SGI IP22 (Indy/Indigo2)" 560 select FW_ARC 561 select FW_ARC32 562 select BOOT_ELF32 563 select CEVT_R4K 564 select CSRC_R4K 565 select DEFAULT_SGI_PARTITION 566 select DMA_NONCOHERENT 567 select HW_HAS_EISA 568 select I8253 569 select I8259 570 select IP22_CPU_SCACHE 571 select IRQ_MIPS_CPU 572 select GENERIC_ISA_DMA_SUPPORT_BROKEN 573 select SGI_HAS_I8042 574 select SGI_HAS_INDYDOG 575 select SGI_HAS_HAL2 576 select SGI_HAS_SEEQ 577 select SGI_HAS_WD93 578 select SGI_HAS_ZILOG 579 select SWAP_IO_SPACE 580 select SYS_HAS_CPU_R4X00 581 select SYS_HAS_CPU_R5000 582 # 583 # Disable EARLY_PRINTK for now since it leads to overwritten prom 584 # memory during early boot on some machines. 585 # 586 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 587 # for a more details discussion 588 # 589 # select SYS_HAS_EARLY_PRINTK 590 select SYS_SUPPORTS_32BIT_KERNEL 591 select SYS_SUPPORTS_64BIT_KERNEL 592 select SYS_SUPPORTS_BIG_ENDIAN 593 select MIPS_L1_CACHE_SHIFT_7 594 help 595 This are the SGI Indy, Challenge S and Indigo2, as well as certain 596 OEM variants like the Tandem CMN B006S. To compile a Linux kernel 597 that runs on these, say Y here. 598 599config SGI_IP27 600 bool "SGI IP27 (Origin200/2000)" 601 select FW_ARC 602 select FW_ARC64 603 select BOOT_ELF64 604 select DEFAULT_SGI_PARTITION 605 select DMA_COHERENT 606 select SYS_HAS_EARLY_PRINTK 607 select HW_HAS_PCI 608 select NR_CPUS_DEFAULT_64 609 select SYS_HAS_CPU_R10000 610 select SYS_SUPPORTS_64BIT_KERNEL 611 select SYS_SUPPORTS_BIG_ENDIAN 612 select SYS_SUPPORTS_NUMA 613 select SYS_SUPPORTS_SMP 614 select MIPS_L1_CACHE_SHIFT_7 615 help 616 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics 617 workstations. To compile a Linux kernel that runs on these, say Y 618 here. 619 620config SGI_IP28 621 bool "SGI IP28 (Indigo2 R10k)" 622 select FW_ARC 623 select FW_ARC64 624 select BOOT_ELF64 625 select CEVT_R4K 626 select CSRC_R4K 627 select DEFAULT_SGI_PARTITION 628 select DMA_NONCOHERENT 629 select GENERIC_ISA_DMA_SUPPORT_BROKEN 630 select IRQ_MIPS_CPU 631 select HW_HAS_EISA 632 select I8253 633 select I8259 634 select SGI_HAS_I8042 635 select SGI_HAS_INDYDOG 636 select SGI_HAS_HAL2 637 select SGI_HAS_SEEQ 638 select SGI_HAS_WD93 639 select SGI_HAS_ZILOG 640 select SWAP_IO_SPACE 641 select SYS_HAS_CPU_R10000 642 # 643 # Disable EARLY_PRINTK for now since it leads to overwritten prom 644 # memory during early boot on some machines. 645 # 646 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 647 # for a more details discussion 648 # 649 # select SYS_HAS_EARLY_PRINTK 650 select SYS_SUPPORTS_64BIT_KERNEL 651 select SYS_SUPPORTS_BIG_ENDIAN 652 select MIPS_L1_CACHE_SHIFT_7 653 help 654 This is the SGI Indigo2 with R10000 processor. To compile a Linux 655 kernel that runs on these, say Y here. 656 657config SGI_IP32 658 bool "SGI IP32 (O2)" 659 select FW_ARC 660 select FW_ARC32 661 select BOOT_ELF32 662 select CEVT_R4K 663 select CSRC_R4K 664 select DMA_NONCOHERENT 665 select HW_HAS_PCI 666 select IRQ_MIPS_CPU 667 select R5000_CPU_SCACHE 668 select RM7000_CPU_SCACHE 669 select SYS_HAS_CPU_R5000 670 select SYS_HAS_CPU_R10000 if BROKEN 671 select SYS_HAS_CPU_RM7000 672 select SYS_HAS_CPU_NEVADA 673 select SYS_SUPPORTS_64BIT_KERNEL 674 select SYS_SUPPORTS_BIG_ENDIAN 675 help 676 If you want this kernel to run on SGI O2 workstation, say Y here. 677 678config SIBYTE_CRHINE 679 bool "Sibyte BCM91120C-CRhine" 680 select BOOT_ELF32 681 select DMA_COHERENT 682 select SIBYTE_BCM1120 683 select SWAP_IO_SPACE 684 select SYS_HAS_CPU_SB1 685 select SYS_SUPPORTS_BIG_ENDIAN 686 select SYS_SUPPORTS_LITTLE_ENDIAN 687 688config SIBYTE_CARMEL 689 bool "Sibyte BCM91120x-Carmel" 690 select BOOT_ELF32 691 select DMA_COHERENT 692 select SIBYTE_BCM1120 693 select SWAP_IO_SPACE 694 select SYS_HAS_CPU_SB1 695 select SYS_SUPPORTS_BIG_ENDIAN 696 select SYS_SUPPORTS_LITTLE_ENDIAN 697 698config SIBYTE_CRHONE 699 bool "Sibyte BCM91125C-CRhone" 700 select BOOT_ELF32 701 select DMA_COHERENT 702 select SIBYTE_BCM1125 703 select SWAP_IO_SPACE 704 select SYS_HAS_CPU_SB1 705 select SYS_SUPPORTS_BIG_ENDIAN 706 select SYS_SUPPORTS_HIGHMEM 707 select SYS_SUPPORTS_LITTLE_ENDIAN 708 709config SIBYTE_RHONE 710 bool "Sibyte BCM91125E-Rhone" 711 select BOOT_ELF32 712 select DMA_COHERENT 713 select SIBYTE_BCM1125H 714 select SWAP_IO_SPACE 715 select SYS_HAS_CPU_SB1 716 select SYS_SUPPORTS_BIG_ENDIAN 717 select SYS_SUPPORTS_LITTLE_ENDIAN 718 719config SIBYTE_SWARM 720 bool "Sibyte BCM91250A-SWARM" 721 select BOOT_ELF32 722 select DMA_COHERENT 723 select HAVE_PATA_PLATFORM 724 select SIBYTE_SB1250 725 select SWAP_IO_SPACE 726 select SYS_HAS_CPU_SB1 727 select SYS_SUPPORTS_BIG_ENDIAN 728 select SYS_SUPPORTS_HIGHMEM 729 select SYS_SUPPORTS_LITTLE_ENDIAN 730 select ZONE_DMA32 if 64BIT 731 732config SIBYTE_LITTLESUR 733 bool "Sibyte BCM91250C2-LittleSur" 734 select BOOT_ELF32 735 select DMA_COHERENT 736 select HAVE_PATA_PLATFORM 737 select SIBYTE_SB1250 738 select SWAP_IO_SPACE 739 select SYS_HAS_CPU_SB1 740 select SYS_SUPPORTS_BIG_ENDIAN 741 select SYS_SUPPORTS_HIGHMEM 742 select SYS_SUPPORTS_LITTLE_ENDIAN 743 744config SIBYTE_SENTOSA 745 bool "Sibyte BCM91250E-Sentosa" 746 select BOOT_ELF32 747 select DMA_COHERENT 748 select SIBYTE_SB1250 749 select SWAP_IO_SPACE 750 select SYS_HAS_CPU_SB1 751 select SYS_SUPPORTS_BIG_ENDIAN 752 select SYS_SUPPORTS_LITTLE_ENDIAN 753 754config SIBYTE_BIGSUR 755 bool "Sibyte BCM91480B-BigSur" 756 select BOOT_ELF32 757 select DMA_COHERENT 758 select NR_CPUS_DEFAULT_4 759 select SIBYTE_BCM1x80 760 select SWAP_IO_SPACE 761 select SYS_HAS_CPU_SB1 762 select SYS_SUPPORTS_BIG_ENDIAN 763 select SYS_SUPPORTS_HIGHMEM 764 select SYS_SUPPORTS_LITTLE_ENDIAN 765 select ZONE_DMA32 if 64BIT 766 767config SNI_RM 768 bool "SNI RM200/300/400" 769 select FW_ARC if CPU_LITTLE_ENDIAN 770 select FW_ARC32 if CPU_LITTLE_ENDIAN 771 select FW_SNIPROM if CPU_BIG_ENDIAN 772 select ARCH_MAY_HAVE_PC_FDC 773 select BOOT_ELF32 774 select CEVT_R4K 775 select CSRC_R4K 776 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 777 select DMA_NONCOHERENT 778 select GENERIC_ISA_DMA 779 select HAVE_PCSPKR_PLATFORM 780 select HW_HAS_EISA 781 select HW_HAS_PCI 782 select IRQ_MIPS_CPU 783 select I8253 784 select I8259 785 select ISA 786 select SWAP_IO_SPACE if CPU_BIG_ENDIAN 787 select SYS_HAS_CPU_R4X00 788 select SYS_HAS_CPU_R5000 789 select SYS_HAS_CPU_R10000 790 select R5000_CPU_SCACHE 791 select SYS_HAS_EARLY_PRINTK 792 select SYS_SUPPORTS_32BIT_KERNEL 793 select SYS_SUPPORTS_64BIT_KERNEL 794 select SYS_SUPPORTS_BIG_ENDIAN 795 select SYS_SUPPORTS_HIGHMEM 796 select SYS_SUPPORTS_LITTLE_ENDIAN 797 help 798 The SNI RM200/300/400 are MIPS-based machines manufactured by 799 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid 800 Technology and now in turn merged with Fujitsu. Say Y here to 801 support this machine type. 802 803config MACH_TX39XX 804 bool "Toshiba TX39 series based machines" 805 806config MACH_TX49XX 807 bool "Toshiba TX49 series based machines" 808 809config MIKROTIK_RB532 810 bool "Mikrotik RB532 boards" 811 select CEVT_R4K 812 select CSRC_R4K 813 select DMA_NONCOHERENT 814 select HW_HAS_PCI 815 select IRQ_MIPS_CPU 816 select SYS_HAS_CPU_MIPS32_R1 817 select SYS_SUPPORTS_32BIT_KERNEL 818 select SYS_SUPPORTS_LITTLE_ENDIAN 819 select SWAP_IO_SPACE 820 select BOOT_RAW 821 select ARCH_REQUIRE_GPIOLIB 822 select MIPS_L1_CACHE_SHIFT_4 823 help 824 Support the Mikrotik(tm) RouterBoard 532 series, 825 based on the IDT RC32434 SoC. 826 827config CAVIUM_OCTEON_SOC 828 bool "Cavium Networks Octeon SoC based boards" 829 select CEVT_R4K 830 select ARCH_PHYS_ADDR_T_64BIT 831 select DMA_COHERENT 832 select SYS_SUPPORTS_64BIT_KERNEL 833 select SYS_SUPPORTS_BIG_ENDIAN 834 select EDAC_SUPPORT 835 select EDAC_ATOMIC_SCRUB 836 select SYS_SUPPORTS_LITTLE_ENDIAN 837 select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN 838 select SYS_HAS_EARLY_PRINTK 839 select SYS_HAS_CPU_CAVIUM_OCTEON 840 select SWAP_IO_SPACE 841 select HW_HAS_PCI 842 select ZONE_DMA32 843 select HOLES_IN_ZONE 844 select ARCH_REQUIRE_GPIOLIB 845 select LIBFDT 846 select USE_OF 847 select ARCH_SPARSEMEM_ENABLE 848 select SYS_SUPPORTS_SMP 849 select NR_CPUS_DEFAULT_16 850 select BUILTIN_DTB 851 select MTD_COMPLEX_MAPPINGS 852 help 853 This option supports all of the Octeon reference boards from Cavium 854 Networks. It builds a kernel that dynamically determines the Octeon 855 CPU type and supports all known board reference implementations. 856 Some of the supported boards are: 857 EBT3000 858 EBH3000 859 EBH3100 860 Thunder 861 Kodama 862 Hikari 863 Say Y here for most Octeon reference boards. 864 865config NLM_XLR_BOARD 866 bool "Netlogic XLR/XLS based systems" 867 select BOOT_ELF32 868 select NLM_COMMON 869 select SYS_HAS_CPU_XLR 870 select SYS_SUPPORTS_SMP 871 select HW_HAS_PCI 872 select SWAP_IO_SPACE 873 select SYS_SUPPORTS_32BIT_KERNEL 874 select SYS_SUPPORTS_64BIT_KERNEL 875 select ARCH_PHYS_ADDR_T_64BIT 876 select SYS_SUPPORTS_BIG_ENDIAN 877 select SYS_SUPPORTS_HIGHMEM 878 select DMA_COHERENT 879 select NR_CPUS_DEFAULT_32 880 select CEVT_R4K 881 select CSRC_R4K 882 select IRQ_MIPS_CPU 883 select ZONE_DMA32 if 64BIT 884 select SYNC_R4K 885 select SYS_HAS_EARLY_PRINTK 886 select SYS_SUPPORTS_ZBOOT 887 select SYS_SUPPORTS_ZBOOT_UART16550 888 help 889 Support for systems based on Netlogic XLR and XLS processors. 890 Say Y here if you have a XLR or XLS based board. 891 892config NLM_XLP_BOARD 893 bool "Netlogic XLP based systems" 894 select BOOT_ELF32 895 select NLM_COMMON 896 select SYS_HAS_CPU_XLP 897 select SYS_SUPPORTS_SMP 898 select HW_HAS_PCI 899 select SYS_SUPPORTS_32BIT_KERNEL 900 select SYS_SUPPORTS_64BIT_KERNEL 901 select ARCH_PHYS_ADDR_T_64BIT 902 select SYS_SUPPORTS_BIG_ENDIAN 903 select SYS_SUPPORTS_LITTLE_ENDIAN 904 select SYS_SUPPORTS_HIGHMEM 905 select DMA_COHERENT 906 select NR_CPUS_DEFAULT_32 907 select CEVT_R4K 908 select CSRC_R4K 909 select IRQ_MIPS_CPU 910 select ZONE_DMA32 if 64BIT 911 select SYNC_R4K 912 select SYS_HAS_EARLY_PRINTK 913 select USE_OF 914 select SYS_SUPPORTS_ZBOOT 915 select SYS_SUPPORTS_ZBOOT_UART16550 916 help 917 This board is based on Netlogic XLP Processor. 918 Say Y here if you have a XLP based board. 919 920config MIPS_PARAVIRT 921 bool "Para-Virtualized guest system" 922 select CEVT_R4K 923 select CSRC_R4K 924 select DMA_COHERENT 925 select SYS_SUPPORTS_64BIT_KERNEL 926 select SYS_SUPPORTS_32BIT_KERNEL 927 select SYS_SUPPORTS_BIG_ENDIAN 928 select SYS_SUPPORTS_SMP 929 select NR_CPUS_DEFAULT_4 930 select SYS_HAS_EARLY_PRINTK 931 select SYS_HAS_CPU_MIPS32_R2 932 select SYS_HAS_CPU_MIPS64_R2 933 select SYS_HAS_CPU_CAVIUM_OCTEON 934 select HW_HAS_PCI 935 select SWAP_IO_SPACE 936 help 937 This option supports guest running under ???? 938 939endchoice 940 941source "arch/mips/alchemy/Kconfig" 942source "arch/mips/ath25/Kconfig" 943source "arch/mips/ath79/Kconfig" 944source "arch/mips/bcm47xx/Kconfig" 945source "arch/mips/bcm63xx/Kconfig" 946source "arch/mips/bmips/Kconfig" 947source "arch/mips/jazz/Kconfig" 948source "arch/mips/jz4740/Kconfig" 949source "arch/mips/lantiq/Kconfig" 950source "arch/mips/lasat/Kconfig" 951source "arch/mips/pmcs-msp71xx/Kconfig" 952source "arch/mips/ralink/Kconfig" 953source "arch/mips/sgi-ip27/Kconfig" 954source "arch/mips/sibyte/Kconfig" 955source "arch/mips/txx9/Kconfig" 956source "arch/mips/vr41xx/Kconfig" 957source "arch/mips/cavium-octeon/Kconfig" 958source "arch/mips/loongson32/Kconfig" 959source "arch/mips/loongson64/Kconfig" 960source "arch/mips/netlogic/Kconfig" 961source "arch/mips/paravirt/Kconfig" 962 963endmenu 964 965config RWSEM_GENERIC_SPINLOCK 966 bool 967 default y 968 969config RWSEM_XCHGADD_ALGORITHM 970 bool 971 972config ARCH_HAS_ILOG2_U32 973 bool 974 default n 975 976config ARCH_HAS_ILOG2_U64 977 bool 978 default n 979 980config GENERIC_HWEIGHT 981 bool 982 default y 983 984config GENERIC_CALIBRATE_DELAY 985 bool 986 default y 987 988config SCHED_OMIT_FRAME_POINTER 989 bool 990 default y 991 992# 993# Select some configuration options automatically based on user selections. 994# 995config FW_ARC 996 bool 997 998config ARCH_MAY_HAVE_PC_FDC 999 bool 1000 1001config BOOT_RAW 1002 bool 1003 1004config CEVT_BCM1480 1005 bool 1006 1007config CEVT_DS1287 1008 bool 1009 1010config CEVT_GT641XX 1011 bool 1012 1013config CEVT_R4K 1014 bool 1015 1016config CEVT_SB1250 1017 bool 1018 1019config CEVT_TXX9 1020 bool 1021 1022config CSRC_BCM1480 1023 bool 1024 1025config CSRC_IOASIC 1026 bool 1027 1028config CSRC_R4K 1029 bool 1030 1031config CSRC_SB1250 1032 bool 1033 1034config GPIO_TXX9 1035 select ARCH_REQUIRE_GPIOLIB 1036 bool 1037 1038config FW_CFE 1039 bool 1040 1041config ARCH_DMA_ADDR_T_64BIT 1042 def_bool (HIGHMEM && ARCH_PHYS_ADDR_T_64BIT) || 64BIT 1043 1044config DMA_MAYBE_COHERENT 1045 select DMA_NONCOHERENT 1046 bool 1047 1048config DMA_COHERENT 1049 bool 1050 1051config DMA_NONCOHERENT 1052 bool 1053 select NEED_DMA_MAP_STATE 1054 1055config NEED_DMA_MAP_STATE 1056 bool 1057 1058config SYS_HAS_EARLY_PRINTK 1059 bool 1060 1061config HOTPLUG_CPU 1062 bool "Support for hot-pluggable CPUs" 1063 depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU 1064 help 1065 Say Y here to allow turning CPUs off and on. CPUs can be 1066 controlled through /sys/devices/system/cpu. 1067 (Note: power management support will enable this option 1068 automatically on SMP systems. ) 1069 Say N if you want to disable CPU hotplug. 1070 1071config SYS_SUPPORTS_HOTPLUG_CPU 1072 bool 1073 1074config I8259 1075 bool 1076 select IRQ_DOMAIN 1077 1078config MIPS_BONITO64 1079 bool 1080 1081config MIPS_MSC 1082 bool 1083 1084config MIPS_NILE4 1085 bool 1086 1087config SYNC_R4K 1088 bool 1089 1090config MIPS_MACHINE 1091 def_bool n 1092 1093config NO_IOPORT_MAP 1094 def_bool n 1095 1096config GENERIC_CSUM 1097 bool 1098 1099config GENERIC_ISA_DMA 1100 bool 1101 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 1102 select ISA_DMA_API 1103 1104config GENERIC_ISA_DMA_SUPPORT_BROKEN 1105 bool 1106 select GENERIC_ISA_DMA 1107 1108config ISA_DMA_API 1109 bool 1110 1111config HOLES_IN_ZONE 1112 bool 1113 1114# 1115# Endianness selection. Sufficiently obscure so many users don't know what to 1116# answer,so we try hard to limit the available choices. Also the use of a 1117# choice statement should be more obvious to the user. 1118# 1119choice 1120 prompt "Endianness selection" 1121 help 1122 Some MIPS machines can be configured for either little or big endian 1123 byte order. These modes require different kernels and a different 1124 Linux distribution. In general there is one preferred byteorder for a 1125 particular system but some systems are just as commonly used in the 1126 one or the other endianness. 1127 1128config CPU_BIG_ENDIAN 1129 bool "Big endian" 1130 depends on SYS_SUPPORTS_BIG_ENDIAN 1131 1132config CPU_LITTLE_ENDIAN 1133 bool "Little endian" 1134 depends on SYS_SUPPORTS_LITTLE_ENDIAN 1135 1136endchoice 1137 1138config EXPORT_UASM 1139 bool 1140 1141config SYS_SUPPORTS_APM_EMULATION 1142 bool 1143 1144config SYS_SUPPORTS_BIG_ENDIAN 1145 bool 1146 1147config SYS_SUPPORTS_LITTLE_ENDIAN 1148 bool 1149 1150config SYS_SUPPORTS_HUGETLBFS 1151 bool 1152 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT 1153 default y 1154 1155config MIPS_HUGE_TLB_SUPPORT 1156 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE 1157 1158config IRQ_CPU_RM7K 1159 bool 1160 1161config IRQ_MSP_SLP 1162 bool 1163 1164config IRQ_MSP_CIC 1165 bool 1166 1167config IRQ_TXX9 1168 bool 1169 1170config IRQ_GT641XX 1171 bool 1172 1173config PCI_GT64XXX_PCI0 1174 bool 1175 1176config NO_EXCEPT_FILL 1177 bool 1178 1179config SOC_EMMA2RH 1180 bool 1181 select CEVT_R4K 1182 select CSRC_R4K 1183 select DMA_NONCOHERENT 1184 select IRQ_MIPS_CPU 1185 select SWAP_IO_SPACE 1186 select SYS_HAS_CPU_R5500 1187 select SYS_SUPPORTS_32BIT_KERNEL 1188 select SYS_SUPPORTS_64BIT_KERNEL 1189 select SYS_SUPPORTS_BIG_ENDIAN 1190 1191config SOC_PNX833X 1192 bool 1193 select CEVT_R4K 1194 select CSRC_R4K 1195 select IRQ_MIPS_CPU 1196 select DMA_NONCOHERENT 1197 select SYS_HAS_CPU_MIPS32_R2 1198 select SYS_SUPPORTS_32BIT_KERNEL 1199 select SYS_SUPPORTS_LITTLE_ENDIAN 1200 select SYS_SUPPORTS_BIG_ENDIAN 1201 select SYS_SUPPORTS_MIPS16 1202 select CPU_MIPSR2_IRQ_VI 1203 1204config SOC_PNX8335 1205 bool 1206 select SOC_PNX833X 1207 1208config MIPS_SPRAM 1209 bool 1210 1211config SWAP_IO_SPACE 1212 bool 1213 1214config SGI_HAS_INDYDOG 1215 bool 1216 1217config SGI_HAS_HAL2 1218 bool 1219 1220config SGI_HAS_SEEQ 1221 bool 1222 1223config SGI_HAS_WD93 1224 bool 1225 1226config SGI_HAS_ZILOG 1227 bool 1228 1229config SGI_HAS_I8042 1230 bool 1231 1232config DEFAULT_SGI_PARTITION 1233 bool 1234 1235config FW_ARC32 1236 bool 1237 1238config FW_SNIPROM 1239 bool 1240 1241config BOOT_ELF32 1242 bool 1243 1244config MIPS_L1_CACHE_SHIFT_4 1245 bool 1246 1247config MIPS_L1_CACHE_SHIFT_5 1248 bool 1249 1250config MIPS_L1_CACHE_SHIFT_6 1251 bool 1252 1253config MIPS_L1_CACHE_SHIFT_7 1254 bool 1255 1256config MIPS_L1_CACHE_SHIFT 1257 int 1258 default "7" if MIPS_L1_CACHE_SHIFT_7 1259 default "6" if MIPS_L1_CACHE_SHIFT_6 1260 default "5" if MIPS_L1_CACHE_SHIFT_5 1261 default "4" if MIPS_L1_CACHE_SHIFT_4 1262 default "5" 1263 1264config HAVE_STD_PC_SERIAL_PORT 1265 bool 1266 1267config ARC_CONSOLE 1268 bool "ARC console support" 1269 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 1270 1271config ARC_MEMORY 1272 bool 1273 depends on MACH_JAZZ || SNI_RM || SGI_IP32 1274 default y 1275 1276config ARC_PROMLIB 1277 bool 1278 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 1279 default y 1280 1281config FW_ARC64 1282 bool 1283 1284config BOOT_ELF64 1285 bool 1286 1287menu "CPU selection" 1288 1289choice 1290 prompt "CPU type" 1291 default CPU_R4X00 1292 1293config CPU_LOONGSON3 1294 bool "Loongson 3 CPU" 1295 depends on SYS_HAS_CPU_LOONGSON3 1296 select CPU_SUPPORTS_64BIT_KERNEL 1297 select CPU_SUPPORTS_HIGHMEM 1298 select CPU_SUPPORTS_HUGEPAGES 1299 select WEAK_ORDERING 1300 select WEAK_REORDERING_BEYOND_LLSC 1301 select ARCH_REQUIRE_GPIOLIB 1302 help 1303 The Loongson 3 processor implements the MIPS64R2 instruction 1304 set with many extensions. 1305 1306config CPU_LOONGSON2E 1307 bool "Loongson 2E" 1308 depends on SYS_HAS_CPU_LOONGSON2E 1309 select CPU_LOONGSON2 1310 help 1311 The Loongson 2E processor implements the MIPS III instruction set 1312 with many extensions. 1313 1314 It has an internal FPGA northbridge, which is compatible to 1315 bonito64. 1316 1317config CPU_LOONGSON2F 1318 bool "Loongson 2F" 1319 depends on SYS_HAS_CPU_LOONGSON2F 1320 select CPU_LOONGSON2 1321 select ARCH_REQUIRE_GPIOLIB 1322 help 1323 The Loongson 2F processor implements the MIPS III instruction set 1324 with many extensions. 1325 1326 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller 1327 have a similar programming interface with FPGA northbridge used in 1328 Loongson2E. 1329 1330config CPU_LOONGSON1B 1331 bool "Loongson 1B" 1332 depends on SYS_HAS_CPU_LOONGSON1B 1333 select CPU_LOONGSON1 1334 help 1335 The Loongson 1B is a 32-bit SoC, which implements the MIPS32 1336 release 2 instruction set. 1337 1338config CPU_MIPS32_R1 1339 bool "MIPS32 Release 1" 1340 depends on SYS_HAS_CPU_MIPS32_R1 1341 select CPU_HAS_PREFETCH 1342 select CPU_SUPPORTS_32BIT_KERNEL 1343 select CPU_SUPPORTS_HIGHMEM 1344 help 1345 Choose this option to build a kernel for release 1 or later of the 1346 MIPS32 architecture. Most modern embedded systems with a 32-bit 1347 MIPS processor are based on a MIPS32 processor. If you know the 1348 specific type of processor in your system, choose those that one 1349 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1350 Release 2 of the MIPS32 architecture is available since several 1351 years so chances are you even have a MIPS32 Release 2 processor 1352 in which case you should choose CPU_MIPS32_R2 instead for better 1353 performance. 1354 1355config CPU_MIPS32_R2 1356 bool "MIPS32 Release 2" 1357 depends on SYS_HAS_CPU_MIPS32_R2 1358 select CPU_HAS_PREFETCH 1359 select CPU_SUPPORTS_32BIT_KERNEL 1360 select CPU_SUPPORTS_HIGHMEM 1361 select CPU_SUPPORTS_MSA 1362 select HAVE_KVM 1363 help 1364 Choose this option to build a kernel for release 2 or later of the 1365 MIPS32 architecture. Most modern embedded systems with a 32-bit 1366 MIPS processor are based on a MIPS32 processor. If you know the 1367 specific type of processor in your system, choose those that one 1368 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1369 1370config CPU_MIPS32_R6 1371 bool "MIPS32 Release 6 (EXPERIMENTAL)" 1372 depends on SYS_HAS_CPU_MIPS32_R6 1373 select CPU_HAS_PREFETCH 1374 select CPU_SUPPORTS_32BIT_KERNEL 1375 select CPU_SUPPORTS_HIGHMEM 1376 select CPU_SUPPORTS_MSA 1377 select GENERIC_CSUM 1378 select HAVE_KVM 1379 select MIPS_O32_FP64_SUPPORT 1380 help 1381 Choose this option to build a kernel for release 6 or later of the 1382 MIPS32 architecture. New MIPS processors, starting with the Warrior 1383 family, are based on a MIPS32r6 processor. If you own an older 1384 processor, you probably need to select MIPS32r1 or MIPS32r2 instead. 1385 1386config CPU_MIPS64_R1 1387 bool "MIPS64 Release 1" 1388 depends on SYS_HAS_CPU_MIPS64_R1 1389 select CPU_HAS_PREFETCH 1390 select CPU_SUPPORTS_32BIT_KERNEL 1391 select CPU_SUPPORTS_64BIT_KERNEL 1392 select CPU_SUPPORTS_HIGHMEM 1393 select CPU_SUPPORTS_HUGEPAGES 1394 help 1395 Choose this option to build a kernel for release 1 or later of the 1396 MIPS64 architecture. Many modern embedded systems with a 64-bit 1397 MIPS processor are based on a MIPS64 processor. If you know the 1398 specific type of processor in your system, choose those that one 1399 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1400 Release 2 of the MIPS64 architecture is available since several 1401 years so chances are you even have a MIPS64 Release 2 processor 1402 in which case you should choose CPU_MIPS64_R2 instead for better 1403 performance. 1404 1405config CPU_MIPS64_R2 1406 bool "MIPS64 Release 2" 1407 depends on SYS_HAS_CPU_MIPS64_R2 1408 select CPU_HAS_PREFETCH 1409 select CPU_SUPPORTS_32BIT_KERNEL 1410 select CPU_SUPPORTS_64BIT_KERNEL 1411 select CPU_SUPPORTS_HIGHMEM 1412 select CPU_SUPPORTS_HUGEPAGES 1413 select CPU_SUPPORTS_MSA 1414 help 1415 Choose this option to build a kernel for release 2 or later of the 1416 MIPS64 architecture. Many modern embedded systems with a 64-bit 1417 MIPS processor are based on a MIPS64 processor. If you know the 1418 specific type of processor in your system, choose those that one 1419 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1420 1421config CPU_MIPS64_R6 1422 bool "MIPS64 Release 6 (EXPERIMENTAL)" 1423 depends on SYS_HAS_CPU_MIPS64_R6 1424 select CPU_HAS_PREFETCH 1425 select CPU_SUPPORTS_32BIT_KERNEL 1426 select CPU_SUPPORTS_64BIT_KERNEL 1427 select CPU_SUPPORTS_HIGHMEM 1428 select CPU_SUPPORTS_MSA 1429 select GENERIC_CSUM 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_1_WORKAROUNDS 2266 bool 2267 depends on CPU_SB1_PASS_1 2268 default y 2269 2270config SB1_PASS_2_WORKAROUNDS 2271 bool 2272 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 2273 default y 2274 2275config SB1_PASS_2_1_WORKAROUNDS 2276 bool 2277 depends on CPU_SB1 && CPU_SB1_PASS_2 2278 default y 2279 2280 2281config ARCH_PHYS_ADDR_T_64BIT 2282 bool 2283 2284choice 2285 prompt "SmartMIPS or microMIPS ASE support" 2286 2287config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS 2288 bool "None" 2289 help 2290 Select this if you want neither microMIPS nor SmartMIPS support 2291 2292config CPU_HAS_SMARTMIPS 2293 depends on SYS_SUPPORTS_SMARTMIPS 2294 bool "SmartMIPS" 2295 help 2296 SmartMIPS is a extension of the MIPS32 architecture aimed at 2297 increased security at both hardware and software level for 2298 smartcards. Enabling this option will allow proper use of the 2299 SmartMIPS instructions by Linux applications. However a kernel with 2300 this option will not work on a MIPS core without SmartMIPS core. If 2301 you don't know you probably don't have SmartMIPS and should say N 2302 here. 2303 2304config CPU_MICROMIPS 2305 depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6 2306 bool "microMIPS" 2307 help 2308 When this option is enabled the kernel will be built using the 2309 microMIPS ISA 2310 2311endchoice 2312 2313config CPU_HAS_MSA 2314 bool "Support for the MIPS SIMD Architecture (EXPERIMENTAL)" 2315 depends on CPU_SUPPORTS_MSA 2316 depends on 64BIT || MIPS_O32_FP64_SUPPORT 2317 help 2318 MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers 2319 and a set of SIMD instructions to operate on them. When this option 2320 is enabled the kernel will support allocating & switching MSA 2321 vector register contexts. If you know that your kernel will only be 2322 running on CPUs which do not support MSA or that your userland will 2323 not be making use of it then you may wish to say N here to reduce 2324 the size & complexity of your kernel. 2325 2326 If unsure, say Y. 2327 2328config CPU_HAS_WB 2329 bool 2330 2331config XKS01 2332 bool 2333 2334# 2335# Vectored interrupt mode is an R2 feature 2336# 2337config CPU_MIPSR2_IRQ_VI 2338 bool 2339 2340# 2341# Extended interrupt mode is an R2 feature 2342# 2343config CPU_MIPSR2_IRQ_EI 2344 bool 2345 2346config CPU_HAS_SYNC 2347 bool 2348 depends on !CPU_R3000 2349 default y 2350 2351# 2352# CPU non-features 2353# 2354config CPU_DADDI_WORKAROUNDS 2355 bool 2356 2357config CPU_R4000_WORKAROUNDS 2358 bool 2359 select CPU_R4400_WORKAROUNDS 2360 2361config CPU_R4400_WORKAROUNDS 2362 bool 2363 2364# 2365# - Highmem only makes sense for the 32-bit kernel. 2366# - The current highmem code will only work properly on physically indexed 2367# caches such as R3000, SB1, R7000 or those that look like they're virtually 2368# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 2369# moment we protect the user and offer the highmem option only on machines 2370# where it's known to be safe. This will not offer highmem on a few systems 2371# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 2372# indexed CPUs but we're playing safe. 2373# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 2374# know they might have memory configurations that could make use of highmem 2375# support. 2376# 2377config HIGHMEM 2378 bool "High Memory Support" 2379 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA 2380 2381config CPU_SUPPORTS_HIGHMEM 2382 bool 2383 2384config SYS_SUPPORTS_HIGHMEM 2385 bool 2386 2387config SYS_SUPPORTS_SMARTMIPS 2388 bool 2389 2390config SYS_SUPPORTS_MICROMIPS 2391 bool 2392 2393config SYS_SUPPORTS_MIPS16 2394 bool 2395 help 2396 This option must be set if a kernel might be executed on a MIPS16- 2397 enabled CPU even if MIPS16 is not actually being used. In other 2398 words, it makes the kernel MIPS16-tolerant. 2399 2400config CPU_SUPPORTS_MSA 2401 bool 2402 2403config ARCH_FLATMEM_ENABLE 2404 def_bool y 2405 depends on !NUMA && !CPU_LOONGSON2 2406 2407config ARCH_DISCONTIGMEM_ENABLE 2408 bool 2409 default y if SGI_IP27 2410 help 2411 Say Y to support efficient handling of discontiguous physical memory, 2412 for architectures which are either NUMA (Non-Uniform Memory Access) 2413 or have huge holes in the physical address space for other reasons. 2414 See <file:Documentation/vm/numa> for more. 2415 2416config ARCH_SPARSEMEM_ENABLE 2417 bool 2418 select SPARSEMEM_STATIC 2419 2420config NUMA 2421 bool "NUMA Support" 2422 depends on SYS_SUPPORTS_NUMA 2423 help 2424 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2425 Access). This option improves performance on systems with more 2426 than two nodes; on two node systems it is generally better to 2427 leave it disabled; on single node systems disable this option 2428 disabled. 2429 2430config SYS_SUPPORTS_NUMA 2431 bool 2432 2433config NODES_SHIFT 2434 int 2435 default "6" 2436 depends on NEED_MULTIPLE_NODES 2437 2438config HW_PERF_EVENTS 2439 bool "Enable hardware performance counter support for perf events" 2440 depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3) 2441 default y 2442 help 2443 Enable hardware performance counter support for perf events. If 2444 disabled, perf events will use software events only. 2445 2446source "mm/Kconfig" 2447 2448config SMP 2449 bool "Multi-Processing support" 2450 depends on SYS_SUPPORTS_SMP 2451 help 2452 This enables support for systems with more than one CPU. If you have 2453 a system with only one CPU, say N. If you have a system with more 2454 than one CPU, say Y. 2455 2456 If you say N here, the kernel will run on uni- and multiprocessor 2457 machines, but will use only one CPU of a multiprocessor machine. If 2458 you say Y here, the kernel will run on many, but not all, 2459 uniprocessor machines. On a uniprocessor machine, the kernel 2460 will run faster if you say N here. 2461 2462 People using multiprocessor machines who say Y here should also say 2463 Y to "Enhanced Real Time Clock Support", below. 2464 2465 See also the SMP-HOWTO available at 2466 <http://www.tldp.org/docs.html#howto>. 2467 2468 If you don't know what to do here, say N. 2469 2470config SMP_UP 2471 bool 2472 2473config SYS_SUPPORTS_MIPS_CMP 2474 bool 2475 2476config SYS_SUPPORTS_MIPS_CPS 2477 bool 2478 2479config SYS_SUPPORTS_SMP 2480 bool 2481 2482config NR_CPUS_DEFAULT_4 2483 bool 2484 2485config NR_CPUS_DEFAULT_8 2486 bool 2487 2488config NR_CPUS_DEFAULT_16 2489 bool 2490 2491config NR_CPUS_DEFAULT_32 2492 bool 2493 2494config NR_CPUS_DEFAULT_64 2495 bool 2496 2497config NR_CPUS 2498 int "Maximum number of CPUs (2-256)" 2499 range 2 256 2500 depends on SMP 2501 default "4" if NR_CPUS_DEFAULT_4 2502 default "8" if NR_CPUS_DEFAULT_8 2503 default "16" if NR_CPUS_DEFAULT_16 2504 default "32" if NR_CPUS_DEFAULT_32 2505 default "64" if NR_CPUS_DEFAULT_64 2506 help 2507 This allows you to specify the maximum number of CPUs which this 2508 kernel will support. The maximum supported value is 32 for 32-bit 2509 kernel and 64 for 64-bit kernels; the minimum value which makes 2510 sense is 1 for Qemu (useful only for kernel debugging purposes) 2511 and 2 for all others. 2512 2513 This is purely to save memory - each supported CPU adds 2514 approximately eight kilobytes to the kernel image. For best 2515 performance should round up your number of processors to the next 2516 power of two. 2517 2518config MIPS_PERF_SHARED_TC_COUNTERS 2519 bool 2520 2521# 2522# Timer Interrupt Frequency Configuration 2523# 2524 2525choice 2526 prompt "Timer frequency" 2527 default HZ_250 2528 help 2529 Allows the configuration of the timer frequency. 2530 2531 config HZ_48 2532 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 2533 2534 config HZ_100 2535 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 2536 2537 config HZ_128 2538 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 2539 2540 config HZ_250 2541 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 2542 2543 config HZ_256 2544 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 2545 2546 config HZ_1000 2547 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 2548 2549 config HZ_1024 2550 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 2551 2552endchoice 2553 2554config SYS_SUPPORTS_48HZ 2555 bool 2556 2557config SYS_SUPPORTS_100HZ 2558 bool 2559 2560config SYS_SUPPORTS_128HZ 2561 bool 2562 2563config SYS_SUPPORTS_250HZ 2564 bool 2565 2566config SYS_SUPPORTS_256HZ 2567 bool 2568 2569config SYS_SUPPORTS_1000HZ 2570 bool 2571 2572config SYS_SUPPORTS_1024HZ 2573 bool 2574 2575config SYS_SUPPORTS_ARBIT_HZ 2576 bool 2577 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ 2578 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ 2579 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ 2580 !SYS_SUPPORTS_1024HZ 2581 2582config HZ 2583 int 2584 default 48 if HZ_48 2585 default 100 if HZ_100 2586 default 128 if HZ_128 2587 default 250 if HZ_250 2588 default 256 if HZ_256 2589 default 1000 if HZ_1000 2590 default 1024 if HZ_1024 2591 2592config SCHED_HRTICK 2593 def_bool HIGH_RES_TIMERS 2594 2595source "kernel/Kconfig.preempt" 2596 2597config KEXEC 2598 bool "Kexec system call" 2599 help 2600 kexec is a system call that implements the ability to shutdown your 2601 current kernel, and to start another kernel. It is like a reboot 2602 but it is independent of the system firmware. And like a reboot 2603 you can start any kernel with it, not just Linux. 2604 2605 The name comes from the similarity to the exec system call. 2606 2607 It is an ongoing process to be certain the hardware in a machine 2608 is properly shutdown, so do not be surprised if this code does not 2609 initially work for you. As of this writing the exact hardware 2610 interface is strongly in flux, so no good recommendation can be 2611 made. 2612 2613config CRASH_DUMP 2614 bool "Kernel crash dumps" 2615 help 2616 Generate crash dump after being started by kexec. 2617 This should be normally only set in special crash dump kernels 2618 which are loaded in the main kernel with kexec-tools into 2619 a specially reserved region and then later executed after 2620 a crash by kdump/kexec. The crash dump kernel must be compiled 2621 to a memory address not used by the main kernel or firmware using 2622 PHYSICAL_START. 2623 2624config PHYSICAL_START 2625 hex "Physical address where the kernel is loaded" 2626 default "0xffffffff84000000" if 64BIT 2627 default "0x84000000" if 32BIT 2628 depends on CRASH_DUMP 2629 help 2630 This gives the CKSEG0 or KSEG0 address where the kernel is loaded. 2631 If you plan to use kernel for capturing the crash dump change 2632 this value to start of the reserved region (the "X" value as 2633 specified in the "crashkernel=YM@XM" command line boot parameter 2634 passed to the panic-ed kernel). 2635 2636config SECCOMP 2637 bool "Enable seccomp to safely compute untrusted bytecode" 2638 depends on PROC_FS 2639 default y 2640 help 2641 This kernel feature is useful for number crunching applications 2642 that may need to compute untrusted bytecode during their 2643 execution. By using pipes or other transports made available to 2644 the process as file descriptors supporting the read/write 2645 syscalls, it's possible to isolate those applications in 2646 their own address space using seccomp. Once seccomp is 2647 enabled via /proc/<pid>/seccomp, it cannot be disabled 2648 and the task is only allowed to execute a few safe syscalls 2649 defined by each seccomp mode. 2650 2651 If unsure, say Y. Only embedded should say N here. 2652 2653config MIPS_O32_FP64_SUPPORT 2654 bool "Support for O32 binaries using 64-bit FP (EXPERIMENTAL)" 2655 depends on 32BIT || MIPS32_O32 2656 help 2657 When this is enabled, the kernel will support use of 64-bit floating 2658 point registers with binaries using the O32 ABI along with the 2659 EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On 2660 32-bit MIPS systems this support is at the cost of increasing the 2661 size and complexity of the compiled FPU emulator. Thus if you are 2662 running a MIPS32 system and know that none of your userland binaries 2663 will require 64-bit floating point, you may wish to reduce the size 2664 of your kernel & potentially improve FP emulation performance by 2665 saying N here. 2666 2667 Although binutils currently supports use of this flag the details 2668 concerning its effect upon the O32 ABI in userland are still being 2669 worked on. In order to avoid userland becoming dependant upon current 2670 behaviour before the details have been finalised, this option should 2671 be considered experimental and only enabled by those working upon 2672 said details. 2673 2674 If unsure, say N. 2675 2676config USE_OF 2677 bool 2678 select OF 2679 select OF_EARLY_FLATTREE 2680 select IRQ_DOMAIN 2681 2682config BUILTIN_DTB 2683 bool 2684 2685choice 2686 prompt "Kernel appended dtb support" if OF 2687 default MIPS_NO_APPENDED_DTB 2688 2689 config MIPS_NO_APPENDED_DTB 2690 bool "None" 2691 help 2692 Do not enable appended dtb support. 2693 2694 config MIPS_RAW_APPENDED_DTB 2695 bool "vmlinux.bin" 2696 help 2697 With this option, the boot code will look for a device tree binary 2698 DTB) appended to raw vmlinux.bin (without decompressor). 2699 (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb). 2700 2701 This is meant as a backward compatibility convenience for those 2702 systems with a bootloader that can't be upgraded to accommodate 2703 the documented boot protocol using a device tree. 2704 2705 Beware that there is very little in terms of protection against 2706 this option being confused by leftover garbage in memory that might 2707 look like a DTB header after a reboot if no actual DTB is appended 2708 to vmlinux.bin. Do not leave this option active in a production kernel 2709 if you don't intend to always append a DTB. 2710 2711 config MIPS_ZBOOT_APPENDED_DTB 2712 bool "vmlinuz.bin" 2713 depends on SYS_SUPPORTS_ZBOOT 2714 help 2715 With this option, the boot code will look for a device tree binary 2716 DTB) appended to raw vmlinuz.bin (with decompressor). 2717 (e.g. cat vmlinuz.bin <filename>.dtb > vmlinuz_w_dtb). 2718 2719 This is meant as a backward compatibility convenience for those 2720 systems with a bootloader that can't be upgraded to accommodate 2721 the documented boot protocol using a device tree. 2722 2723 Beware that there is very little in terms of protection against 2724 this option being confused by leftover garbage in memory that might 2725 look like a DTB header after a reboot if no actual DTB is appended 2726 to vmlinuz.bin. Do not leave this option active in a production kernel 2727 if you don't intend to always append a DTB. 2728endchoice 2729 2730endmenu 2731 2732config LOCKDEP_SUPPORT 2733 bool 2734 default y 2735 2736config STACKTRACE_SUPPORT 2737 bool 2738 default y 2739 2740config PGTABLE_LEVELS 2741 int 2742 default 3 if 64BIT && !PAGE_SIZE_64KB 2743 default 2 2744 2745source "init/Kconfig" 2746 2747source "kernel/Kconfig.freezer" 2748 2749menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2750 2751config HW_HAS_EISA 2752 bool 2753config HW_HAS_PCI 2754 bool 2755 2756config PCI 2757 bool "Support for PCI controller" 2758 depends on HW_HAS_PCI 2759 select PCI_DOMAINS 2760 select NO_GENERIC_PCI_IOPORT_MAP 2761 help 2762 Find out whether you have a PCI motherboard. PCI is the name of a 2763 bus system, i.e. the way the CPU talks to the other stuff inside 2764 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2765 say Y, otherwise N. 2766 2767config HT_PCI 2768 bool "Support for HT-linked PCI" 2769 default y 2770 depends on CPU_LOONGSON3 2771 select PCI 2772 select PCI_DOMAINS 2773 help 2774 Loongson family machines use Hyper-Transport bus for inter-core 2775 connection and device connection. The PCI bus is a subordinate 2776 linked at HT. Choose Y for Loongson-3 based machines. 2777 2778config PCI_DOMAINS 2779 bool 2780 2781source "drivers/pci/Kconfig" 2782 2783source "drivers/pci/pcie/Kconfig" 2784 2785# 2786# ISA support is now enabled via select. Too many systems still have the one 2787# or other ISA chip on the board that users don't know about so don't expect 2788# users to choose the right thing ... 2789# 2790config ISA 2791 bool 2792 2793config EISA 2794 bool "EISA support" 2795 depends on HW_HAS_EISA 2796 select ISA 2797 select GENERIC_ISA_DMA 2798 ---help--- 2799 The Extended Industry Standard Architecture (EISA) bus was 2800 developed as an open alternative to the IBM MicroChannel bus. 2801 2802 The EISA bus provided some of the features of the IBM MicroChannel 2803 bus while maintaining backward compatibility with cards made for 2804 the older ISA bus. The EISA bus saw limited use between 1988 and 2805 1995 when it was made obsolete by the PCI bus. 2806 2807 Say Y here if you are building a kernel for an EISA-based machine. 2808 2809 Otherwise, say N. 2810 2811source "drivers/eisa/Kconfig" 2812 2813config TC 2814 bool "TURBOchannel support" 2815 depends on MACH_DECSTATION 2816 help 2817 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 2818 processors. TURBOchannel programming specifications are available 2819 at: 2820 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 2821 and: 2822 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 2823 Linux driver support status is documented at: 2824 <http://www.linux-mips.org/wiki/DECstation> 2825 2826config MMU 2827 bool 2828 default y 2829 2830config I8253 2831 bool 2832 select CLKSRC_I8253 2833 select CLKEVT_I8253 2834 select MIPS_EXTERNAL_TIMER 2835 2836config ZONE_DMA 2837 bool 2838 2839config ZONE_DMA32 2840 bool 2841 2842source "drivers/pcmcia/Kconfig" 2843 2844source "drivers/pci/hotplug/Kconfig" 2845 2846config RAPIDIO 2847 tristate "RapidIO support" 2848 depends on PCI 2849 default n 2850 help 2851 If you say Y here, the kernel will include drivers and 2852 infrastructure code to support RapidIO interconnect devices. 2853 2854source "drivers/rapidio/Kconfig" 2855 2856endmenu 2857 2858menu "Executable file formats" 2859 2860source "fs/Kconfig.binfmt" 2861 2862config TRAD_SIGNALS 2863 bool 2864 2865config MIPS32_COMPAT 2866 bool 2867 2868config COMPAT 2869 bool 2870 2871config SYSVIPC_COMPAT 2872 bool 2873 2874config MIPS32_O32 2875 bool "Kernel support for o32 binaries" 2876 depends on 64BIT 2877 select ARCH_WANT_OLD_COMPAT_IPC 2878 select COMPAT 2879 select MIPS32_COMPAT 2880 select SYSVIPC_COMPAT if SYSVIPC 2881 help 2882 Select this option if you want to run o32 binaries. These are pure 2883 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2884 existing binaries are in this format. 2885 2886 If unsure, say Y. 2887 2888config MIPS32_N32 2889 bool "Kernel support for n32 binaries" 2890 depends on 64BIT 2891 select COMPAT 2892 select MIPS32_COMPAT 2893 select SYSVIPC_COMPAT if SYSVIPC 2894 help 2895 Select this option if you want to run n32 binaries. These are 2896 64-bit binaries using 32-bit quantities for addressing and certain 2897 data that would normally be 64-bit. They are used in special 2898 cases. 2899 2900 If unsure, say N. 2901 2902config BINFMT_ELF32 2903 bool 2904 default y if MIPS32_O32 || MIPS32_N32 2905 2906endmenu 2907 2908menu "Power management options" 2909 2910config ARCH_HIBERNATION_POSSIBLE 2911 def_bool y 2912 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2913 2914config ARCH_SUSPEND_POSSIBLE 2915 def_bool y 2916 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2917 2918source "kernel/power/Kconfig" 2919 2920endmenu 2921 2922config MIPS_EXTERNAL_TIMER 2923 bool 2924 2925menu "CPU Power Management" 2926 2927if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER 2928source "drivers/cpufreq/Kconfig" 2929endif 2930 2931source "drivers/cpuidle/Kconfig" 2932 2933endmenu 2934 2935source "net/Kconfig" 2936 2937source "drivers/Kconfig" 2938 2939source "drivers/firmware/Kconfig" 2940 2941source "fs/Kconfig" 2942 2943source "arch/mips/Kconfig.debug" 2944 2945source "security/Kconfig" 2946 2947source "crypto/Kconfig" 2948 2949source "lib/Kconfig" 2950 2951source "arch/mips/kvm/Kconfig" 2952