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