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