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 select MIPS_O32_FP64_SUPPORT if MIPS32_O32 1431 help 1432 Choose this option to build a kernel for release 6 or later of the 1433 MIPS64 architecture. New MIPS processors, starting with the Warrior 1434 family, are based on a MIPS64r6 processor. If you own an older 1435 processor, you probably need to select MIPS64r1 or MIPS64r2 instead. 1436 1437config CPU_R3000 1438 bool "R3000" 1439 depends on SYS_HAS_CPU_R3000 1440 select CPU_HAS_WB 1441 select CPU_SUPPORTS_32BIT_KERNEL 1442 select CPU_SUPPORTS_HIGHMEM 1443 help 1444 Please make sure to pick the right CPU type. Linux/MIPS is not 1445 designed to be generic, i.e. Kernels compiled for R3000 CPUs will 1446 *not* work on R4000 machines and vice versa. However, since most 1447 of the supported machines have an R4000 (or similar) CPU, R4x00 1448 might be a safe bet. If the resulting kernel does not work, 1449 try to recompile with R3000. 1450 1451config CPU_TX39XX 1452 bool "R39XX" 1453 depends on SYS_HAS_CPU_TX39XX 1454 select CPU_SUPPORTS_32BIT_KERNEL 1455 1456config CPU_VR41XX 1457 bool "R41xx" 1458 depends on SYS_HAS_CPU_VR41XX 1459 select CPU_SUPPORTS_32BIT_KERNEL 1460 select CPU_SUPPORTS_64BIT_KERNEL 1461 help 1462 The options selects support for the NEC VR4100 series of processors. 1463 Only choose this option if you have one of these processors as a 1464 kernel built with this option will not run on any other type of 1465 processor or vice versa. 1466 1467config CPU_R4300 1468 bool "R4300" 1469 depends on SYS_HAS_CPU_R4300 1470 select CPU_SUPPORTS_32BIT_KERNEL 1471 select CPU_SUPPORTS_64BIT_KERNEL 1472 help 1473 MIPS Technologies R4300-series processors. 1474 1475config CPU_R4X00 1476 bool "R4x00" 1477 depends on SYS_HAS_CPU_R4X00 1478 select CPU_SUPPORTS_32BIT_KERNEL 1479 select CPU_SUPPORTS_64BIT_KERNEL 1480 select CPU_SUPPORTS_HUGEPAGES 1481 help 1482 MIPS Technologies R4000-series processors other than 4300, including 1483 the R4000, R4400, R4600, and 4700. 1484 1485config CPU_TX49XX 1486 bool "R49XX" 1487 depends on SYS_HAS_CPU_TX49XX 1488 select CPU_HAS_PREFETCH 1489 select CPU_SUPPORTS_32BIT_KERNEL 1490 select CPU_SUPPORTS_64BIT_KERNEL 1491 select CPU_SUPPORTS_HUGEPAGES 1492 1493config CPU_R5000 1494 bool "R5000" 1495 depends on SYS_HAS_CPU_R5000 1496 select CPU_SUPPORTS_32BIT_KERNEL 1497 select CPU_SUPPORTS_64BIT_KERNEL 1498 select CPU_SUPPORTS_HUGEPAGES 1499 help 1500 MIPS Technologies R5000-series processors other than the Nevada. 1501 1502config CPU_R5432 1503 bool "R5432" 1504 depends on SYS_HAS_CPU_R5432 1505 select CPU_SUPPORTS_32BIT_KERNEL 1506 select CPU_SUPPORTS_64BIT_KERNEL 1507 select CPU_SUPPORTS_HUGEPAGES 1508 1509config CPU_R5500 1510 bool "R5500" 1511 depends on SYS_HAS_CPU_R5500 1512 select CPU_SUPPORTS_32BIT_KERNEL 1513 select CPU_SUPPORTS_64BIT_KERNEL 1514 select CPU_SUPPORTS_HUGEPAGES 1515 help 1516 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1517 instruction set. 1518 1519config CPU_R6000 1520 bool "R6000" 1521 depends on SYS_HAS_CPU_R6000 1522 select CPU_SUPPORTS_32BIT_KERNEL 1523 help 1524 MIPS Technologies R6000 and R6000A series processors. Note these 1525 processors are extremely rare and the support for them is incomplete. 1526 1527config CPU_NEVADA 1528 bool "RM52xx" 1529 depends on SYS_HAS_CPU_NEVADA 1530 select CPU_SUPPORTS_32BIT_KERNEL 1531 select CPU_SUPPORTS_64BIT_KERNEL 1532 select CPU_SUPPORTS_HUGEPAGES 1533 help 1534 QED / PMC-Sierra RM52xx-series ("Nevada") processors. 1535 1536config CPU_R8000 1537 bool "R8000" 1538 depends on SYS_HAS_CPU_R8000 1539 select CPU_HAS_PREFETCH 1540 select CPU_SUPPORTS_64BIT_KERNEL 1541 help 1542 MIPS Technologies R8000 processors. Note these processors are 1543 uncommon and the support for them is incomplete. 1544 1545config CPU_R10000 1546 bool "R10000" 1547 depends on SYS_HAS_CPU_R10000 1548 select CPU_HAS_PREFETCH 1549 select CPU_SUPPORTS_32BIT_KERNEL 1550 select CPU_SUPPORTS_64BIT_KERNEL 1551 select CPU_SUPPORTS_HIGHMEM 1552 select CPU_SUPPORTS_HUGEPAGES 1553 help 1554 MIPS Technologies R10000-series processors. 1555 1556config CPU_RM7000 1557 bool "RM7000" 1558 depends on SYS_HAS_CPU_RM7000 1559 select CPU_HAS_PREFETCH 1560 select CPU_SUPPORTS_32BIT_KERNEL 1561 select CPU_SUPPORTS_64BIT_KERNEL 1562 select CPU_SUPPORTS_HIGHMEM 1563 select CPU_SUPPORTS_HUGEPAGES 1564 1565config CPU_SB1 1566 bool "SB1" 1567 depends on SYS_HAS_CPU_SB1 1568 select CPU_SUPPORTS_32BIT_KERNEL 1569 select CPU_SUPPORTS_64BIT_KERNEL 1570 select CPU_SUPPORTS_HIGHMEM 1571 select CPU_SUPPORTS_HUGEPAGES 1572 select WEAK_ORDERING 1573 1574config CPU_CAVIUM_OCTEON 1575 bool "Cavium Octeon processor" 1576 depends on SYS_HAS_CPU_CAVIUM_OCTEON 1577 select CPU_HAS_PREFETCH 1578 select CPU_SUPPORTS_64BIT_KERNEL 1579 select WEAK_ORDERING 1580 select CPU_SUPPORTS_HIGHMEM 1581 select CPU_SUPPORTS_HUGEPAGES 1582 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 1583 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 1584 select MIPS_L1_CACHE_SHIFT_7 1585 help 1586 The Cavium Octeon processor is a highly integrated chip containing 1587 many ethernet hardware widgets for networking tasks. The processor 1588 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. 1589 Full details can be found at http://www.caviumnetworks.com. 1590 1591config CPU_BMIPS 1592 bool "Broadcom BMIPS" 1593 depends on SYS_HAS_CPU_BMIPS 1594 select CPU_MIPS32 1595 select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300 1596 select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350 1597 select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380 1598 select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000 1599 select CPU_SUPPORTS_32BIT_KERNEL 1600 select DMA_NONCOHERENT 1601 select IRQ_MIPS_CPU 1602 select SWAP_IO_SPACE 1603 select WEAK_ORDERING 1604 select CPU_SUPPORTS_HIGHMEM 1605 select CPU_HAS_PREFETCH 1606 help 1607 Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors. 1608 1609config CPU_XLR 1610 bool "Netlogic XLR SoC" 1611 depends on SYS_HAS_CPU_XLR 1612 select CPU_SUPPORTS_32BIT_KERNEL 1613 select CPU_SUPPORTS_64BIT_KERNEL 1614 select CPU_SUPPORTS_HIGHMEM 1615 select CPU_SUPPORTS_HUGEPAGES 1616 select WEAK_ORDERING 1617 select WEAK_REORDERING_BEYOND_LLSC 1618 help 1619 Netlogic Microsystems XLR/XLS processors. 1620 1621config CPU_XLP 1622 bool "Netlogic XLP SoC" 1623 depends on SYS_HAS_CPU_XLP 1624 select CPU_SUPPORTS_32BIT_KERNEL 1625 select CPU_SUPPORTS_64BIT_KERNEL 1626 select CPU_SUPPORTS_HIGHMEM 1627 select WEAK_ORDERING 1628 select WEAK_REORDERING_BEYOND_LLSC 1629 select CPU_HAS_PREFETCH 1630 select CPU_MIPSR2 1631 select CPU_SUPPORTS_HUGEPAGES 1632 help 1633 Netlogic Microsystems XLP processors. 1634endchoice 1635 1636config CPU_MIPS32_3_5_FEATURES 1637 bool "MIPS32 Release 3.5 Features" 1638 depends on SYS_HAS_CPU_MIPS32_R3_5 1639 depends on CPU_MIPS32_R2 || CPU_MIPS32_R6 1640 help 1641 Choose this option to build a kernel for release 2 or later of the 1642 MIPS32 architecture including features from the 3.5 release such as 1643 support for Enhanced Virtual Addressing (EVA). 1644 1645config CPU_MIPS32_3_5_EVA 1646 bool "Enhanced Virtual Addressing (EVA)" 1647 depends on CPU_MIPS32_3_5_FEATURES 1648 select EVA 1649 default y 1650 help 1651 Choose this option if you want to enable the Enhanced Virtual 1652 Addressing (EVA) on your MIPS32 core (such as proAptiv). 1653 One of its primary benefits is an increase in the maximum size 1654 of lowmem (up to 3GB). If unsure, say 'N' here. 1655 1656config CPU_MIPS32_R5_FEATURES 1657 bool "MIPS32 Release 5 Features" 1658 depends on SYS_HAS_CPU_MIPS32_R5 1659 depends on CPU_MIPS32_R2 1660 help 1661 Choose this option to build a kernel for release 2 or later of the 1662 MIPS32 architecture including features from release 5 such as 1663 support for Extended Physical Addressing (XPA). 1664 1665config CPU_MIPS32_R5_XPA 1666 bool "Extended Physical Addressing (XPA)" 1667 depends on CPU_MIPS32_R5_FEATURES 1668 depends on !EVA 1669 depends on !PAGE_SIZE_4KB 1670 depends on SYS_SUPPORTS_HIGHMEM 1671 select XPA 1672 select HIGHMEM 1673 select ARCH_PHYS_ADDR_T_64BIT 1674 default n 1675 help 1676 Choose this option if you want to enable the Extended Physical 1677 Addressing (XPA) on your MIPS32 core (such as P5600 series). The 1678 benefit is to increase physical addressing equal to or greater 1679 than 40 bits. Note that this has the side effect of turning on 1680 64-bit addressing which in turn makes the PTEs 64-bit in size. 1681 If unsure, say 'N' here. 1682 1683if CPU_LOONGSON2F 1684config CPU_NOP_WORKAROUNDS 1685 bool 1686 1687config CPU_JUMP_WORKAROUNDS 1688 bool 1689 1690config CPU_LOONGSON2F_WORKAROUNDS 1691 bool "Loongson 2F Workarounds" 1692 default y 1693 select CPU_NOP_WORKAROUNDS 1694 select CPU_JUMP_WORKAROUNDS 1695 help 1696 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 1697 require workarounds. Without workarounds the system may hang 1698 unexpectedly. For more information please refer to the gas 1699 -mfix-loongson2f-nop and -mfix-loongson2f-jump options. 1700 1701 Loongson 2F03 and later have fixed these issues and no workarounds 1702 are needed. The workarounds have no significant side effect on them 1703 but may decrease the performance of the system so this option should 1704 be disabled unless the kernel is intended to be run on 2F01 or 2F02 1705 systems. 1706 1707 If unsure, please say Y. 1708endif # CPU_LOONGSON2F 1709 1710config SYS_SUPPORTS_ZBOOT 1711 bool 1712 select HAVE_KERNEL_GZIP 1713 select HAVE_KERNEL_BZIP2 1714 select HAVE_KERNEL_LZ4 1715 select HAVE_KERNEL_LZMA 1716 select HAVE_KERNEL_LZO 1717 select HAVE_KERNEL_XZ 1718 1719config SYS_SUPPORTS_ZBOOT_UART16550 1720 bool 1721 select SYS_SUPPORTS_ZBOOT 1722 1723config CPU_LOONGSON2 1724 bool 1725 select CPU_SUPPORTS_32BIT_KERNEL 1726 select CPU_SUPPORTS_64BIT_KERNEL 1727 select CPU_SUPPORTS_HIGHMEM 1728 select CPU_SUPPORTS_HUGEPAGES 1729 1730config CPU_LOONGSON1 1731 bool 1732 select CPU_MIPS32 1733 select CPU_MIPSR2 1734 select CPU_HAS_PREFETCH 1735 select CPU_SUPPORTS_32BIT_KERNEL 1736 select CPU_SUPPORTS_HIGHMEM 1737 select CPU_SUPPORTS_CPUFREQ 1738 1739config CPU_BMIPS32_3300 1740 select SMP_UP if SMP 1741 bool 1742 1743config CPU_BMIPS4350 1744 bool 1745 select SYS_SUPPORTS_SMP 1746 select SYS_SUPPORTS_HOTPLUG_CPU 1747 1748config CPU_BMIPS4380 1749 bool 1750 select MIPS_L1_CACHE_SHIFT_6 1751 select SYS_SUPPORTS_SMP 1752 select SYS_SUPPORTS_HOTPLUG_CPU 1753 1754config CPU_BMIPS5000 1755 bool 1756 select MIPS_CPU_SCACHE 1757 select MIPS_L1_CACHE_SHIFT_7 1758 select SYS_SUPPORTS_SMP 1759 select SYS_SUPPORTS_HOTPLUG_CPU 1760 1761config SYS_HAS_CPU_LOONGSON3 1762 bool 1763 select CPU_SUPPORTS_CPUFREQ 1764 1765config SYS_HAS_CPU_LOONGSON2E 1766 bool 1767 1768config SYS_HAS_CPU_LOONGSON2F 1769 bool 1770 select CPU_SUPPORTS_CPUFREQ 1771 select CPU_SUPPORTS_ADDRWINCFG if 64BIT 1772 select CPU_SUPPORTS_UNCACHED_ACCELERATED 1773 1774config SYS_HAS_CPU_LOONGSON1B 1775 bool 1776 1777config SYS_HAS_CPU_MIPS32_R1 1778 bool 1779 1780config SYS_HAS_CPU_MIPS32_R2 1781 bool 1782 1783config SYS_HAS_CPU_MIPS32_R3_5 1784 bool 1785 1786config SYS_HAS_CPU_MIPS32_R5 1787 bool 1788 1789config SYS_HAS_CPU_MIPS32_R6 1790 bool 1791 1792config SYS_HAS_CPU_MIPS64_R1 1793 bool 1794 1795config SYS_HAS_CPU_MIPS64_R2 1796 bool 1797 1798config SYS_HAS_CPU_MIPS64_R6 1799 bool 1800 1801config SYS_HAS_CPU_R3000 1802 bool 1803 1804config SYS_HAS_CPU_TX39XX 1805 bool 1806 1807config SYS_HAS_CPU_VR41XX 1808 bool 1809 1810config SYS_HAS_CPU_R4300 1811 bool 1812 1813config SYS_HAS_CPU_R4X00 1814 bool 1815 1816config SYS_HAS_CPU_TX49XX 1817 bool 1818 1819config SYS_HAS_CPU_R5000 1820 bool 1821 1822config SYS_HAS_CPU_R5432 1823 bool 1824 1825config SYS_HAS_CPU_R5500 1826 bool 1827 1828config SYS_HAS_CPU_R6000 1829 bool 1830 1831config SYS_HAS_CPU_NEVADA 1832 bool 1833 1834config SYS_HAS_CPU_R8000 1835 bool 1836 1837config SYS_HAS_CPU_R10000 1838 bool 1839 1840config SYS_HAS_CPU_RM7000 1841 bool 1842 1843config SYS_HAS_CPU_SB1 1844 bool 1845 1846config SYS_HAS_CPU_CAVIUM_OCTEON 1847 bool 1848 1849config SYS_HAS_CPU_BMIPS 1850 bool 1851 1852config SYS_HAS_CPU_BMIPS32_3300 1853 bool 1854 select SYS_HAS_CPU_BMIPS 1855 1856config SYS_HAS_CPU_BMIPS4350 1857 bool 1858 select SYS_HAS_CPU_BMIPS 1859 1860config SYS_HAS_CPU_BMIPS4380 1861 bool 1862 select SYS_HAS_CPU_BMIPS 1863 1864config SYS_HAS_CPU_BMIPS5000 1865 bool 1866 select SYS_HAS_CPU_BMIPS 1867 1868config SYS_HAS_CPU_XLR 1869 bool 1870 1871config SYS_HAS_CPU_XLP 1872 bool 1873 1874config MIPS_MALTA_PM 1875 depends on MIPS_MALTA 1876 depends on PCI 1877 bool 1878 default y 1879 1880# 1881# CPU may reorder R->R, R->W, W->R, W->W 1882# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1883# 1884config WEAK_ORDERING 1885 bool 1886 1887# 1888# CPU may reorder reads and writes beyond LL/SC 1889# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 1890# 1891config WEAK_REORDERING_BEYOND_LLSC 1892 bool 1893endmenu 1894 1895# 1896# These two indicate any level of the MIPS32 and MIPS64 architecture 1897# 1898config CPU_MIPS32 1899 bool 1900 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6 1901 1902config CPU_MIPS64 1903 bool 1904 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6 1905 1906# 1907# These two indicate the revision of the architecture, either Release 1 or Release 2 1908# 1909config CPU_MIPSR1 1910 bool 1911 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 1912 1913config CPU_MIPSR2 1914 bool 1915 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 1916 select MIPS_SPRAM 1917 1918config CPU_MIPSR6 1919 bool 1920 default y if CPU_MIPS32_R6 || CPU_MIPS64_R6 1921 select MIPS_SPRAM 1922 1923config EVA 1924 bool 1925 1926config XPA 1927 bool 1928 1929config SYS_SUPPORTS_32BIT_KERNEL 1930 bool 1931config SYS_SUPPORTS_64BIT_KERNEL 1932 bool 1933config CPU_SUPPORTS_32BIT_KERNEL 1934 bool 1935config CPU_SUPPORTS_64BIT_KERNEL 1936 bool 1937config CPU_SUPPORTS_CPUFREQ 1938 bool 1939config CPU_SUPPORTS_ADDRWINCFG 1940 bool 1941config CPU_SUPPORTS_HUGEPAGES 1942 bool 1943config CPU_SUPPORTS_UNCACHED_ACCELERATED 1944 bool 1945config MIPS_PGD_C0_CONTEXT 1946 bool 1947 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP 1948 1949# 1950# Set to y for ptrace access to watch registers. 1951# 1952config HARDWARE_WATCHPOINTS 1953 bool 1954 default y if CPU_MIPSR1 || CPU_MIPSR2 1955 1956menu "Kernel type" 1957 1958choice 1959 prompt "Kernel code model" 1960 help 1961 You should only select this option if you have a workload that 1962 actually benefits from 64-bit processing or if your machine has 1963 large memory. You will only be presented a single option in this 1964 menu if your system does not support both 32-bit and 64-bit kernels. 1965 1966config 32BIT 1967 bool "32-bit kernel" 1968 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 1969 select TRAD_SIGNALS 1970 help 1971 Select this option if you want to build a 32-bit kernel. 1972config 64BIT 1973 bool "64-bit kernel" 1974 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 1975 help 1976 Select this option if you want to build a 64-bit kernel. 1977 1978endchoice 1979 1980config KVM_GUEST 1981 bool "KVM Guest Kernel" 1982 depends on BROKEN_ON_SMP 1983 help 1984 Select this option if building a guest kernel for KVM (Trap & Emulate) mode 1985 1986config KVM_GUEST_TIMER_FREQ 1987 int "Count/Compare Timer Frequency (MHz)" 1988 depends on KVM_GUEST 1989 default 100 1990 help 1991 Set this to non-zero if building a guest kernel for KVM to skip RTC 1992 emulation when determining guest CPU Frequency. Instead, the guest's 1993 timer frequency is specified directly. 1994 1995choice 1996 prompt "Kernel page size" 1997 default PAGE_SIZE_4KB 1998 1999config PAGE_SIZE_4KB 2000 bool "4kB" 2001 depends on !CPU_LOONGSON2 && !CPU_LOONGSON3 2002 help 2003 This option select the standard 4kB Linux page size. On some 2004 R3000-family processors this is the only available page size. Using 2005 4kB page size will minimize memory consumption and is therefore 2006 recommended for low memory systems. 2007 2008config PAGE_SIZE_8KB 2009 bool "8kB" 2010 depends on CPU_R8000 || CPU_CAVIUM_OCTEON 2011 help 2012 Using 8kB page size will result in higher performance kernel at 2013 the price of higher memory consumption. This option is available 2014 only on R8000 and cnMIPS processors. Note that you will need a 2015 suitable Linux distribution to support this. 2016 2017config PAGE_SIZE_16KB 2018 bool "16kB" 2019 depends on !CPU_R3000 && !CPU_TX39XX 2020 help 2021 Using 16kB page size will result in higher performance kernel at 2022 the price of higher memory consumption. This option is available on 2023 all non-R3000 family processors. Note that you will need a suitable 2024 Linux distribution to support this. 2025 2026config PAGE_SIZE_32KB 2027 bool "32kB" 2028 depends on CPU_CAVIUM_OCTEON 2029 help 2030 Using 32kB page size will result in higher performance kernel at 2031 the price of higher memory consumption. This option is available 2032 only on cnMIPS cores. Note that you will need a suitable Linux 2033 distribution to support this. 2034 2035config PAGE_SIZE_64KB 2036 bool "64kB" 2037 depends on !CPU_R3000 && !CPU_TX39XX 2038 help 2039 Using 64kB page size will result in higher performance kernel at 2040 the price of higher memory consumption. This option is available on 2041 all non-R3000 family processor. Not that at the time of this 2042 writing this option is still high experimental. 2043 2044endchoice 2045 2046config FORCE_MAX_ZONEORDER 2047 int "Maximum zone order" 2048 range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB 2049 default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB 2050 range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB 2051 default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB 2052 range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB 2053 default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB 2054 range 11 64 2055 default "11" 2056 help 2057 The kernel memory allocator divides physically contiguous memory 2058 blocks into "zones", where each zone is a power of two number of 2059 pages. This option selects the largest power of two that the kernel 2060 keeps in the memory allocator. If you need to allocate very large 2061 blocks of physically contiguous memory, then you may need to 2062 increase this value. 2063 2064 This config option is actually maximum order plus one. For example, 2065 a value of 11 means that the largest free memory block is 2^10 pages. 2066 2067 The page size is not necessarily 4KB. Keep this in mind 2068 when choosing a value for this option. 2069 2070config BOARD_SCACHE 2071 bool 2072 2073config IP22_CPU_SCACHE 2074 bool 2075 select BOARD_SCACHE 2076 2077# 2078# Support for a MIPS32 / MIPS64 style S-caches 2079# 2080config MIPS_CPU_SCACHE 2081 bool 2082 select BOARD_SCACHE 2083 2084config R5000_CPU_SCACHE 2085 bool 2086 select BOARD_SCACHE 2087 2088config RM7000_CPU_SCACHE 2089 bool 2090 select BOARD_SCACHE 2091 2092config SIBYTE_DMA_PAGEOPS 2093 bool "Use DMA to clear/copy pages" 2094 depends on CPU_SB1 2095 help 2096 Instead of using the CPU to zero and copy pages, use a Data Mover 2097 channel. These DMA channels are otherwise unused by the standard 2098 SiByte Linux port. Seems to give a small performance benefit. 2099 2100config CPU_HAS_PREFETCH 2101 bool 2102 2103config CPU_GENERIC_DUMP_TLB 2104 bool 2105 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX) 2106 2107config CPU_R4K_FPU 2108 bool 2109 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 2110 2111config CPU_R4K_CACHE_TLB 2112 bool 2113 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 2114 2115config MIPS_MT_SMP 2116 bool "MIPS MT SMP support (1 TC on each available VPE)" 2117 depends on SYS_SUPPORTS_MULTITHREADING 2118 select CPU_MIPSR2_IRQ_VI 2119 select CPU_MIPSR2_IRQ_EI 2120 select SYNC_R4K 2121 select MIPS_GIC_IPI 2122 select MIPS_MT 2123 select SMP 2124 select SMP_UP 2125 select SYS_SUPPORTS_SMP 2126 select SYS_SUPPORTS_SCHED_SMT 2127 select MIPS_PERF_SHARED_TC_COUNTERS 2128 help 2129 This is a kernel model which is known as SMVP. This is supported 2130 on cores with the MT ASE and uses the available VPEs to implement 2131 virtual processors which supports SMP. This is equivalent to the 2132 Intel Hyperthreading feature. For further information go to 2133 <http://www.imgtec.com/mips/mips-multithreading.asp>. 2134 2135config MIPS_MT 2136 bool 2137 2138config SCHED_SMT 2139 bool "SMT (multithreading) scheduler support" 2140 depends on SYS_SUPPORTS_SCHED_SMT 2141 default n 2142 help 2143 SMT scheduler support improves the CPU scheduler's decision making 2144 when dealing with MIPS MT enabled cores at a cost of slightly 2145 increased overhead in some places. If unsure say N here. 2146 2147config SYS_SUPPORTS_SCHED_SMT 2148 bool 2149 2150config SYS_SUPPORTS_MULTITHREADING 2151 bool 2152 2153config MIPS_MT_FPAFF 2154 bool "Dynamic FPU affinity for FP-intensive threads" 2155 default y 2156 depends on MIPS_MT_SMP 2157 2158config MIPSR2_TO_R6_EMULATOR 2159 bool "MIPS R2-to-R6 emulator" 2160 depends on CPU_MIPSR6 && !SMP 2161 default y 2162 help 2163 Choose this option if you want to run non-R6 MIPS userland code. 2164 Even if you say 'Y' here, the emulator will still be disabled by 2165 default. You can enable it using the 'mipsr2emu' kernel option. 2166 The only reason this is a build-time option is to save ~14K from the 2167 final kernel image. 2168comment "MIPS R2-to-R6 emulator is only available for UP kernels" 2169 depends on SMP && CPU_MIPSR6 2170 2171config MIPS_VPE_LOADER 2172 bool "VPE loader support." 2173 depends on SYS_SUPPORTS_MULTITHREADING && MODULES 2174 select CPU_MIPSR2_IRQ_VI 2175 select CPU_MIPSR2_IRQ_EI 2176 select MIPS_MT 2177 help 2178 Includes a loader for loading an elf relocatable object 2179 onto another VPE and running it. 2180 2181config MIPS_VPE_LOADER_CMP 2182 bool 2183 default "y" 2184 depends on MIPS_VPE_LOADER && MIPS_CMP 2185 2186config MIPS_VPE_LOADER_MT 2187 bool 2188 default "y" 2189 depends on MIPS_VPE_LOADER && !MIPS_CMP 2190 2191config MIPS_VPE_LOADER_TOM 2192 bool "Load VPE program into memory hidden from linux" 2193 depends on MIPS_VPE_LOADER 2194 default y 2195 help 2196 The loader can use memory that is present but has been hidden from 2197 Linux using the kernel command line option "mem=xxMB". It's up to 2198 you to ensure the amount you put in the option and the space your 2199 program requires is less or equal to the amount physically present. 2200 2201config MIPS_VPE_APSP_API 2202 bool "Enable support for AP/SP API (RTLX)" 2203 depends on MIPS_VPE_LOADER 2204 help 2205 2206config MIPS_VPE_APSP_API_CMP 2207 bool 2208 default "y" 2209 depends on MIPS_VPE_APSP_API && MIPS_CMP 2210 2211config MIPS_VPE_APSP_API_MT 2212 bool 2213 default "y" 2214 depends on MIPS_VPE_APSP_API && !MIPS_CMP 2215 2216config MIPS_CMP 2217 bool "MIPS CMP framework support (DEPRECATED)" 2218 depends on SYS_SUPPORTS_MIPS_CMP 2219 select MIPS_GIC_IPI 2220 select SMP 2221 select SYNC_R4K 2222 select SYS_SUPPORTS_SMP 2223 select WEAK_ORDERING 2224 default n 2225 help 2226 Select this if you are using a bootloader which implements the "CMP 2227 framework" protocol (ie. YAMON) and want your kernel to make use of 2228 its ability to start secondary CPUs. 2229 2230 Unless you have a specific need, you should use CONFIG_MIPS_CPS 2231 instead of this. 2232 2233config MIPS_CPS 2234 bool "MIPS Coherent Processing System support" 2235 depends on SYS_SUPPORTS_MIPS_CPS 2236 select MIPS_CM 2237 select MIPS_CPC 2238 select MIPS_CPS_PM if HOTPLUG_CPU 2239 select MIPS_GIC_IPI 2240 select SMP 2241 select SYNC_R4K if (CEVT_R4K || CSRC_R4K) 2242 select SYS_SUPPORTS_HOTPLUG_CPU 2243 select SYS_SUPPORTS_SMP 2244 select WEAK_ORDERING 2245 help 2246 Select this if you wish to run an SMP kernel across multiple cores 2247 within a MIPS Coherent Processing System. When this option is 2248 enabled the kernel will probe for other cores and boot them with 2249 no external assistance. It is safe to enable this when hardware 2250 support is unavailable. 2251 2252config MIPS_CPS_PM 2253 depends on MIPS_CPS 2254 select MIPS_CPC 2255 bool 2256 2257config MIPS_GIC_IPI 2258 bool 2259 2260config MIPS_CM 2261 bool 2262 2263config MIPS_CPC 2264 bool 2265 2266config SB1_PASS_2_WORKAROUNDS 2267 bool 2268 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 2269 default y 2270 2271config SB1_PASS_2_1_WORKAROUNDS 2272 bool 2273 depends on CPU_SB1 && CPU_SB1_PASS_2 2274 default y 2275 2276 2277config ARCH_PHYS_ADDR_T_64BIT 2278 bool 2279 2280choice 2281 prompt "SmartMIPS or microMIPS ASE support" 2282 2283config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS 2284 bool "None" 2285 help 2286 Select this if you want neither microMIPS nor SmartMIPS support 2287 2288config CPU_HAS_SMARTMIPS 2289 depends on SYS_SUPPORTS_SMARTMIPS 2290 bool "SmartMIPS" 2291 help 2292 SmartMIPS is a extension of the MIPS32 architecture aimed at 2293 increased security at both hardware and software level for 2294 smartcards. Enabling this option will allow proper use of the 2295 SmartMIPS instructions by Linux applications. However a kernel with 2296 this option will not work on a MIPS core without SmartMIPS core. If 2297 you don't know you probably don't have SmartMIPS and should say N 2298 here. 2299 2300config CPU_MICROMIPS 2301 depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6 2302 bool "microMIPS" 2303 help 2304 When this option is enabled the kernel will be built using the 2305 microMIPS ISA 2306 2307endchoice 2308 2309config CPU_HAS_MSA 2310 bool "Support for the MIPS SIMD Architecture (EXPERIMENTAL)" 2311 depends on CPU_SUPPORTS_MSA 2312 depends on 64BIT || MIPS_O32_FP64_SUPPORT 2313 help 2314 MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers 2315 and a set of SIMD instructions to operate on them. When this option 2316 is enabled the kernel will support allocating & switching MSA 2317 vector register contexts. If you know that your kernel will only be 2318 running on CPUs which do not support MSA or that your userland will 2319 not be making use of it then you may wish to say N here to reduce 2320 the size & complexity of your kernel. 2321 2322 If unsure, say Y. 2323 2324config CPU_HAS_WB 2325 bool 2326 2327config XKS01 2328 bool 2329 2330# 2331# Vectored interrupt mode is an R2 feature 2332# 2333config CPU_MIPSR2_IRQ_VI 2334 bool 2335 2336# 2337# Extended interrupt mode is an R2 feature 2338# 2339config CPU_MIPSR2_IRQ_EI 2340 bool 2341 2342config CPU_HAS_SYNC 2343 bool 2344 depends on !CPU_R3000 2345 default y 2346 2347# 2348# CPU non-features 2349# 2350config CPU_DADDI_WORKAROUNDS 2351 bool 2352 2353config CPU_R4000_WORKAROUNDS 2354 bool 2355 select CPU_R4400_WORKAROUNDS 2356 2357config CPU_R4400_WORKAROUNDS 2358 bool 2359 2360# 2361# - Highmem only makes sense for the 32-bit kernel. 2362# - The current highmem code will only work properly on physically indexed 2363# caches such as R3000, SB1, R7000 or those that look like they're virtually 2364# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 2365# moment we protect the user and offer the highmem option only on machines 2366# where it's known to be safe. This will not offer highmem on a few systems 2367# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 2368# indexed CPUs but we're playing safe. 2369# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 2370# know they might have memory configurations that could make use of highmem 2371# support. 2372# 2373config HIGHMEM 2374 bool "High Memory Support" 2375 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA 2376 2377config CPU_SUPPORTS_HIGHMEM 2378 bool 2379 2380config SYS_SUPPORTS_HIGHMEM 2381 bool 2382 2383config SYS_SUPPORTS_SMARTMIPS 2384 bool 2385 2386config SYS_SUPPORTS_MICROMIPS 2387 bool 2388 2389config SYS_SUPPORTS_MIPS16 2390 bool 2391 help 2392 This option must be set if a kernel might be executed on a MIPS16- 2393 enabled CPU even if MIPS16 is not actually being used. In other 2394 words, it makes the kernel MIPS16-tolerant. 2395 2396config CPU_SUPPORTS_MSA 2397 bool 2398 2399config ARCH_FLATMEM_ENABLE 2400 def_bool y 2401 depends on !NUMA && !CPU_LOONGSON2 2402 2403config ARCH_DISCONTIGMEM_ENABLE 2404 bool 2405 default y if SGI_IP27 2406 help 2407 Say Y to support efficient handling of discontiguous physical memory, 2408 for architectures which are either NUMA (Non-Uniform Memory Access) 2409 or have huge holes in the physical address space for other reasons. 2410 See <file:Documentation/vm/numa> for more. 2411 2412config ARCH_SPARSEMEM_ENABLE 2413 bool 2414 select SPARSEMEM_STATIC 2415 2416config NUMA 2417 bool "NUMA Support" 2418 depends on SYS_SUPPORTS_NUMA 2419 help 2420 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2421 Access). This option improves performance on systems with more 2422 than two nodes; on two node systems it is generally better to 2423 leave it disabled; on single node systems disable this option 2424 disabled. 2425 2426config SYS_SUPPORTS_NUMA 2427 bool 2428 2429config NODES_SHIFT 2430 int 2431 default "6" 2432 depends on NEED_MULTIPLE_NODES 2433 2434config HW_PERF_EVENTS 2435 bool "Enable hardware performance counter support for perf events" 2436 depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3) 2437 default y 2438 help 2439 Enable hardware performance counter support for perf events. If 2440 disabled, perf events will use software events only. 2441 2442source "mm/Kconfig" 2443 2444config SMP 2445 bool "Multi-Processing support" 2446 depends on SYS_SUPPORTS_SMP 2447 help 2448 This enables support for systems with more than one CPU. If you have 2449 a system with only one CPU, say N. If you have a system with more 2450 than one CPU, say Y. 2451 2452 If you say N here, the kernel will run on uni- and multiprocessor 2453 machines, but will use only one CPU of a multiprocessor machine. If 2454 you say Y here, the kernel will run on many, but not all, 2455 uniprocessor machines. On a uniprocessor machine, the kernel 2456 will run faster if you say N here. 2457 2458 People using multiprocessor machines who say Y here should also say 2459 Y to "Enhanced Real Time Clock Support", below. 2460 2461 See also the SMP-HOWTO available at 2462 <http://www.tldp.org/docs.html#howto>. 2463 2464 If you don't know what to do here, say N. 2465 2466config SMP_UP 2467 bool 2468 2469config SYS_SUPPORTS_MIPS_CMP 2470 bool 2471 2472config SYS_SUPPORTS_MIPS_CPS 2473 bool 2474 2475config SYS_SUPPORTS_SMP 2476 bool 2477 2478config NR_CPUS_DEFAULT_4 2479 bool 2480 2481config NR_CPUS_DEFAULT_8 2482 bool 2483 2484config NR_CPUS_DEFAULT_16 2485 bool 2486 2487config NR_CPUS_DEFAULT_32 2488 bool 2489 2490config NR_CPUS_DEFAULT_64 2491 bool 2492 2493config NR_CPUS 2494 int "Maximum number of CPUs (2-256)" 2495 range 2 256 2496 depends on SMP 2497 default "4" if NR_CPUS_DEFAULT_4 2498 default "8" if NR_CPUS_DEFAULT_8 2499 default "16" if NR_CPUS_DEFAULT_16 2500 default "32" if NR_CPUS_DEFAULT_32 2501 default "64" if NR_CPUS_DEFAULT_64 2502 help 2503 This allows you to specify the maximum number of CPUs which this 2504 kernel will support. The maximum supported value is 32 for 32-bit 2505 kernel and 64 for 64-bit kernels; the minimum value which makes 2506 sense is 1 for Qemu (useful only for kernel debugging purposes) 2507 and 2 for all others. 2508 2509 This is purely to save memory - each supported CPU adds 2510 approximately eight kilobytes to the kernel image. For best 2511 performance should round up your number of processors to the next 2512 power of two. 2513 2514config MIPS_PERF_SHARED_TC_COUNTERS 2515 bool 2516 2517# 2518# Timer Interrupt Frequency Configuration 2519# 2520 2521choice 2522 prompt "Timer frequency" 2523 default HZ_250 2524 help 2525 Allows the configuration of the timer frequency. 2526 2527 config HZ_48 2528 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 2529 2530 config HZ_100 2531 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 2532 2533 config HZ_128 2534 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 2535 2536 config HZ_250 2537 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 2538 2539 config HZ_256 2540 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 2541 2542 config HZ_1000 2543 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 2544 2545 config HZ_1024 2546 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 2547 2548endchoice 2549 2550config SYS_SUPPORTS_48HZ 2551 bool 2552 2553config SYS_SUPPORTS_100HZ 2554 bool 2555 2556config SYS_SUPPORTS_128HZ 2557 bool 2558 2559config SYS_SUPPORTS_250HZ 2560 bool 2561 2562config SYS_SUPPORTS_256HZ 2563 bool 2564 2565config SYS_SUPPORTS_1000HZ 2566 bool 2567 2568config SYS_SUPPORTS_1024HZ 2569 bool 2570 2571config SYS_SUPPORTS_ARBIT_HZ 2572 bool 2573 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ 2574 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ 2575 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ 2576 !SYS_SUPPORTS_1024HZ 2577 2578config HZ 2579 int 2580 default 48 if HZ_48 2581 default 100 if HZ_100 2582 default 128 if HZ_128 2583 default 250 if HZ_250 2584 default 256 if HZ_256 2585 default 1000 if HZ_1000 2586 default 1024 if HZ_1024 2587 2588config SCHED_HRTICK 2589 def_bool HIGH_RES_TIMERS 2590 2591source "kernel/Kconfig.preempt" 2592 2593config KEXEC 2594 bool "Kexec system call" 2595 help 2596 kexec is a system call that implements the ability to shutdown your 2597 current kernel, and to start another kernel. It is like a reboot 2598 but it is independent of the system firmware. And like a reboot 2599 you can start any kernel with it, not just Linux. 2600 2601 The name comes from the similarity to the exec system call. 2602 2603 It is an ongoing process to be certain the hardware in a machine 2604 is properly shutdown, so do not be surprised if this code does not 2605 initially work for you. As of this writing the exact hardware 2606 interface is strongly in flux, so no good recommendation can be 2607 made. 2608 2609config CRASH_DUMP 2610 bool "Kernel crash dumps" 2611 help 2612 Generate crash dump after being started by kexec. 2613 This should be normally only set in special crash dump kernels 2614 which are loaded in the main kernel with kexec-tools into 2615 a specially reserved region and then later executed after 2616 a crash by kdump/kexec. The crash dump kernel must be compiled 2617 to a memory address not used by the main kernel or firmware using 2618 PHYSICAL_START. 2619 2620config PHYSICAL_START 2621 hex "Physical address where the kernel is loaded" 2622 default "0xffffffff84000000" if 64BIT 2623 default "0x84000000" if 32BIT 2624 depends on CRASH_DUMP 2625 help 2626 This gives the CKSEG0 or KSEG0 address where the kernel is loaded. 2627 If you plan to use kernel for capturing the crash dump change 2628 this value to start of the reserved region (the "X" value as 2629 specified in the "crashkernel=YM@XM" command line boot parameter 2630 passed to the panic-ed kernel). 2631 2632config SECCOMP 2633 bool "Enable seccomp to safely compute untrusted bytecode" 2634 depends on PROC_FS 2635 default y 2636 help 2637 This kernel feature is useful for number crunching applications 2638 that may need to compute untrusted bytecode during their 2639 execution. By using pipes or other transports made available to 2640 the process as file descriptors supporting the read/write 2641 syscalls, it's possible to isolate those applications in 2642 their own address space using seccomp. Once seccomp is 2643 enabled via /proc/<pid>/seccomp, it cannot be disabled 2644 and the task is only allowed to execute a few safe syscalls 2645 defined by each seccomp mode. 2646 2647 If unsure, say Y. Only embedded should say N here. 2648 2649config MIPS_O32_FP64_SUPPORT 2650 bool "Support for O32 binaries using 64-bit FP (EXPERIMENTAL)" 2651 depends on 32BIT || MIPS32_O32 2652 help 2653 When this is enabled, the kernel will support use of 64-bit floating 2654 point registers with binaries using the O32 ABI along with the 2655 EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On 2656 32-bit MIPS systems this support is at the cost of increasing the 2657 size and complexity of the compiled FPU emulator. Thus if you are 2658 running a MIPS32 system and know that none of your userland binaries 2659 will require 64-bit floating point, you may wish to reduce the size 2660 of your kernel & potentially improve FP emulation performance by 2661 saying N here. 2662 2663 Although binutils currently supports use of this flag the details 2664 concerning its effect upon the O32 ABI in userland are still being 2665 worked on. In order to avoid userland becoming dependant upon current 2666 behaviour before the details have been finalised, this option should 2667 be considered experimental and only enabled by those working upon 2668 said details. 2669 2670 If unsure, say N. 2671 2672config USE_OF 2673 bool 2674 select OF 2675 select OF_EARLY_FLATTREE 2676 select IRQ_DOMAIN 2677 2678config BUILTIN_DTB 2679 bool 2680 2681choice 2682 prompt "Kernel appended dtb support" if OF 2683 default MIPS_NO_APPENDED_DTB 2684 2685 config MIPS_NO_APPENDED_DTB 2686 bool "None" 2687 help 2688 Do not enable appended dtb support. 2689 2690 config MIPS_RAW_APPENDED_DTB 2691 bool "vmlinux.bin" 2692 help 2693 With this option, the boot code will look for a device tree binary 2694 DTB) appended to raw vmlinux.bin (without decompressor). 2695 (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb). 2696 2697 This is meant as a backward compatibility convenience for those 2698 systems with a bootloader that can't be upgraded to accommodate 2699 the documented boot protocol using a device tree. 2700 2701 Beware that there is very little in terms of protection against 2702 this option being confused by leftover garbage in memory that might 2703 look like a DTB header after a reboot if no actual DTB is appended 2704 to vmlinux.bin. Do not leave this option active in a production kernel 2705 if you don't intend to always append a DTB. 2706 2707 config MIPS_ZBOOT_APPENDED_DTB 2708 bool "vmlinuz.bin" 2709 depends on SYS_SUPPORTS_ZBOOT 2710 help 2711 With this option, the boot code will look for a device tree binary 2712 DTB) appended to raw vmlinuz.bin (with decompressor). 2713 (e.g. cat vmlinuz.bin <filename>.dtb > vmlinuz_w_dtb). 2714 2715 This is meant as a backward compatibility convenience for those 2716 systems with a bootloader that can't be upgraded to accommodate 2717 the documented boot protocol using a device tree. 2718 2719 Beware that there is very little in terms of protection against 2720 this option being confused by leftover garbage in memory that might 2721 look like a DTB header after a reboot if no actual DTB is appended 2722 to vmlinuz.bin. Do not leave this option active in a production kernel 2723 if you don't intend to always append a DTB. 2724endchoice 2725 2726endmenu 2727 2728config LOCKDEP_SUPPORT 2729 bool 2730 default y 2731 2732config STACKTRACE_SUPPORT 2733 bool 2734 default y 2735 2736config PGTABLE_LEVELS 2737 int 2738 default 3 if 64BIT && !PAGE_SIZE_64KB 2739 default 2 2740 2741source "init/Kconfig" 2742 2743source "kernel/Kconfig.freezer" 2744 2745menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2746 2747config HW_HAS_EISA 2748 bool 2749config HW_HAS_PCI 2750 bool 2751 2752config PCI 2753 bool "Support for PCI controller" 2754 depends on HW_HAS_PCI 2755 select PCI_DOMAINS 2756 select NO_GENERIC_PCI_IOPORT_MAP 2757 help 2758 Find out whether you have a PCI motherboard. PCI is the name of a 2759 bus system, i.e. the way the CPU talks to the other stuff inside 2760 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2761 say Y, otherwise N. 2762 2763config HT_PCI 2764 bool "Support for HT-linked PCI" 2765 default y 2766 depends on CPU_LOONGSON3 2767 select PCI 2768 select PCI_DOMAINS 2769 help 2770 Loongson family machines use Hyper-Transport bus for inter-core 2771 connection and device connection. The PCI bus is a subordinate 2772 linked at HT. Choose Y for Loongson-3 based machines. 2773 2774config PCI_DOMAINS 2775 bool 2776 2777source "drivers/pci/Kconfig" 2778 2779source "drivers/pci/pcie/Kconfig" 2780 2781# 2782# ISA support is now enabled via select. Too many systems still have the one 2783# or other ISA chip on the board that users don't know about so don't expect 2784# users to choose the right thing ... 2785# 2786config ISA 2787 bool 2788 2789config EISA 2790 bool "EISA support" 2791 depends on HW_HAS_EISA 2792 select ISA 2793 select GENERIC_ISA_DMA 2794 ---help--- 2795 The Extended Industry Standard Architecture (EISA) bus was 2796 developed as an open alternative to the IBM MicroChannel bus. 2797 2798 The EISA bus provided some of the features of the IBM MicroChannel 2799 bus while maintaining backward compatibility with cards made for 2800 the older ISA bus. The EISA bus saw limited use between 1988 and 2801 1995 when it was made obsolete by the PCI bus. 2802 2803 Say Y here if you are building a kernel for an EISA-based machine. 2804 2805 Otherwise, say N. 2806 2807source "drivers/eisa/Kconfig" 2808 2809config TC 2810 bool "TURBOchannel support" 2811 depends on MACH_DECSTATION 2812 help 2813 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 2814 processors. TURBOchannel programming specifications are available 2815 at: 2816 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 2817 and: 2818 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 2819 Linux driver support status is documented at: 2820 <http://www.linux-mips.org/wiki/DECstation> 2821 2822config MMU 2823 bool 2824 default y 2825 2826config I8253 2827 bool 2828 select CLKSRC_I8253 2829 select CLKEVT_I8253 2830 select MIPS_EXTERNAL_TIMER 2831 2832config ZONE_DMA 2833 bool 2834 2835config ZONE_DMA32 2836 bool 2837 2838source "drivers/pcmcia/Kconfig" 2839 2840source "drivers/pci/hotplug/Kconfig" 2841 2842config RAPIDIO 2843 tristate "RapidIO support" 2844 depends on PCI 2845 default n 2846 help 2847 If you say Y here, the kernel will include drivers and 2848 infrastructure code to support RapidIO interconnect devices. 2849 2850source "drivers/rapidio/Kconfig" 2851 2852endmenu 2853 2854menu "Executable file formats" 2855 2856source "fs/Kconfig.binfmt" 2857 2858config TRAD_SIGNALS 2859 bool 2860 2861config MIPS32_COMPAT 2862 bool 2863 2864config COMPAT 2865 bool 2866 2867config SYSVIPC_COMPAT 2868 bool 2869 2870config MIPS32_O32 2871 bool "Kernel support for o32 binaries" 2872 depends on 64BIT 2873 select ARCH_WANT_OLD_COMPAT_IPC 2874 select COMPAT 2875 select MIPS32_COMPAT 2876 select SYSVIPC_COMPAT if SYSVIPC 2877 help 2878 Select this option if you want to run o32 binaries. These are pure 2879 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2880 existing binaries are in this format. 2881 2882 If unsure, say Y. 2883 2884config MIPS32_N32 2885 bool "Kernel support for n32 binaries" 2886 depends on 64BIT 2887 select COMPAT 2888 select MIPS32_COMPAT 2889 select SYSVIPC_COMPAT if SYSVIPC 2890 help 2891 Select this option if you want to run n32 binaries. These are 2892 64-bit binaries using 32-bit quantities for addressing and certain 2893 data that would normally be 64-bit. They are used in special 2894 cases. 2895 2896 If unsure, say N. 2897 2898config BINFMT_ELF32 2899 bool 2900 default y if MIPS32_O32 || MIPS32_N32 2901 2902endmenu 2903 2904menu "Power management options" 2905 2906config ARCH_HIBERNATION_POSSIBLE 2907 def_bool y 2908 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2909 2910config ARCH_SUSPEND_POSSIBLE 2911 def_bool y 2912 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 2913 2914source "kernel/power/Kconfig" 2915 2916endmenu 2917 2918config MIPS_EXTERNAL_TIMER 2919 bool 2920 2921menu "CPU Power Management" 2922 2923if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER 2924source "drivers/cpufreq/Kconfig" 2925endif 2926 2927source "drivers/cpuidle/Kconfig" 2928 2929endmenu 2930 2931source "net/Kconfig" 2932 2933source "drivers/Kconfig" 2934 2935source "drivers/firmware/Kconfig" 2936 2937source "fs/Kconfig" 2938 2939source "arch/mips/Kconfig.debug" 2940 2941source "security/Kconfig" 2942 2943source "crypto/Kconfig" 2944 2945source "lib/Kconfig" 2946 2947source "arch/mips/kvm/Kconfig" 2948