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