1config MIPS 2 bool 3 default y 4 select ARCH_SUPPORTS_UPROBES 5 select ARCH_MIGHT_HAVE_PC_PARPORT 6 select ARCH_MIGHT_HAVE_PC_SERIO 7 select ARCH_USE_CMPXCHG_LOCKREF if 64BIT 8 select ARCH_USE_BUILTIN_BSWAP 9 select HAVE_CONTEXT_TRACKING 10 select HAVE_GENERIC_DMA_COHERENT 11 select HAVE_IDE 12 select HAVE_OPROFILE 13 select HAVE_PERF_EVENTS 14 select PERF_USE_VMALLOC 15 select HAVE_ARCH_KGDB 16 select HAVE_ARCH_SECCOMP_FILTER 17 select HAVE_ARCH_TRACEHOOK 18 select HAVE_BPF_JIT if !CPU_MICROMIPS 19 select HAVE_FUNCTION_TRACER 20 select HAVE_DYNAMIC_FTRACE 21 select HAVE_FTRACE_MCOUNT_RECORD 22 select HAVE_C_RECORDMCOUNT 23 select HAVE_FUNCTION_GRAPH_TRACER 24 select HAVE_KPROBES 25 select HAVE_KRETPROBES 26 select HAVE_SYSCALL_TRACEPOINTS 27 select HAVE_DEBUG_KMEMLEAK 28 select HAVE_SYSCALL_TRACEPOINTS 29 select ARCH_HAS_ELF_RANDOMIZE 30 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT 31 select RTC_LIB if !MACH_LOONGSON64 32 select GENERIC_ATOMIC64 if !64BIT 33 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 34 select HAVE_DMA_ATTRS 35 select HAVE_DMA_CONTIGUOUS 36 select HAVE_DMA_API_DEBUG 37 select GENERIC_IRQ_PROBE 38 select GENERIC_IRQ_SHOW 39 select GENERIC_PCI_IOMAP 40 select HAVE_ARCH_JUMP_LABEL 41 select ARCH_WANT_IPC_PARSE_VERSION 42 select IRQ_FORCED_THREADING 43 select HAVE_MEMBLOCK 44 select HAVE_MEMBLOCK_NODE_MAP 45 select ARCH_DISCARD_MEMBLOCK 46 select GENERIC_SMP_IDLE_THREAD 47 select BUILDTIME_EXTABLE_SORT 48 select GENERIC_CLOCKEVENTS 49 select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC 50 select GENERIC_CMOS_UPDATE 51 select HAVE_MOD_ARCH_SPECIFIC 52 select VIRT_TO_BUS 53 select MODULES_USE_ELF_REL if MODULES 54 select MODULES_USE_ELF_RELA if MODULES && 64BIT 55 select CLONE_BACKWARDS 56 select HAVE_DEBUG_STACKOVERFLOW 57 select HAVE_CC_STACKPROTECTOR 58 select CPU_PM if CPU_IDLE 59 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST 60 select ARCH_BINFMT_ELF_STATE 61 select SYSCTL_EXCEPTION_TRACE 62 select HAVE_VIRT_CPU_ACCOUNTING_GEN 63 select HAVE_IRQ_TIME_ACCOUNTING 64 select GENERIC_TIME_VSYSCALL 65 select ARCH_CLOCKSOURCE_DATA 66 67menu "Machine selection" 68 69choice 70 prompt "System type" 71 default SGI_IP22 72 73config MIPS_ALCHEMY 74 bool "Alchemy processor based machines" 75 select ARCH_PHYS_ADDR_T_64BIT 76 select CEVT_R4K 77 select CSRC_R4K 78 select IRQ_MIPS_CPU 79 select DMA_MAYBE_COHERENT # Au1000,1500,1100 aren't, rest is 80 select SYS_HAS_CPU_MIPS32_R1 81 select SYS_SUPPORTS_32BIT_KERNEL 82 select SYS_SUPPORTS_APM_EMULATION 83 select ARCH_REQUIRE_GPIOLIB 84 select SYS_SUPPORTS_ZBOOT 85 select COMMON_CLK 86 87config AR7 88 bool "Texas Instruments AR7" 89 select BOOT_ELF32 90 select DMA_NONCOHERENT 91 select CEVT_R4K 92 select CSRC_R4K 93 select IRQ_MIPS_CPU 94 select NO_EXCEPT_FILL 95 select SWAP_IO_SPACE 96 select SYS_HAS_CPU_MIPS32_R1 97 select SYS_HAS_EARLY_PRINTK 98 select SYS_SUPPORTS_32BIT_KERNEL 99 select SYS_SUPPORTS_LITTLE_ENDIAN 100 select SYS_SUPPORTS_MIPS16 101 select SYS_SUPPORTS_ZBOOT_UART16550 102 select ARCH_REQUIRE_GPIOLIB 103 select VLYNQ 104 select HAVE_CLK 105 help 106 Support for the Texas Instruments AR7 System-on-a-Chip 107 family: TNETD7100, 7200 and 7300. 108 109config ATH25 110 bool "Atheros AR231x/AR531x SoC support" 111 select CEVT_R4K 112 select CSRC_R4K 113 select DMA_NONCOHERENT 114 select IRQ_MIPS_CPU 115 select IRQ_DOMAIN 116 select SYS_HAS_CPU_MIPS32_R1 117 select SYS_SUPPORTS_BIG_ENDIAN 118 select SYS_SUPPORTS_32BIT_KERNEL 119 select SYS_HAS_EARLY_PRINTK 120 help 121 Support for Atheros AR231x and Atheros AR531x based boards 122 123config ATH79 124 bool "Atheros AR71XX/AR724X/AR913X based boards" 125 select ARCH_HAS_RESET_CONTROLLER 126 select ARCH_REQUIRE_GPIOLIB 127 select BOOT_RAW 128 select CEVT_R4K 129 select CSRC_R4K 130 select DMA_NONCOHERENT 131 select HAVE_CLK 132 select COMMON_CLK 133 select CLKDEV_LOOKUP 134 select IRQ_MIPS_CPU 135 select MIPS_MACHINE 136 select SYS_HAS_CPU_MIPS32_R2 137 select SYS_HAS_EARLY_PRINTK 138 select SYS_SUPPORTS_32BIT_KERNEL 139 select SYS_SUPPORTS_BIG_ENDIAN 140 select SYS_SUPPORTS_MIPS16 141 select SYS_SUPPORTS_ZBOOT 142 select USE_OF 143 help 144 Support for the Atheros AR71XX/AR724X/AR913X SoCs. 145 146config BMIPS_GENERIC 147 bool "Broadcom Generic BMIPS kernel" 148 select BOOT_RAW 149 select NO_EXCEPT_FILL 150 select USE_OF 151 select CEVT_R4K 152 select CSRC_R4K 153 select SYNC_R4K 154 select COMMON_CLK 155 select BCM7038_L1_IRQ 156 select BCM7120_L2_IRQ 157 select BRCMSTB_L2_IRQ 158 select IRQ_MIPS_CPU 159 select DMA_NONCOHERENT 160 select SYS_SUPPORTS_32BIT_KERNEL 161 select SYS_SUPPORTS_LITTLE_ENDIAN 162 select SYS_SUPPORTS_BIG_ENDIAN 163 select SYS_SUPPORTS_HIGHMEM 164 select SYS_HAS_CPU_BMIPS32_3300 165 select SYS_HAS_CPU_BMIPS4350 166 select SYS_HAS_CPU_BMIPS4380 167 select SYS_HAS_CPU_BMIPS5000 168 select SWAP_IO_SPACE 169 select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 170 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 171 select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 172 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 173 help 174 Build a generic DT-based kernel image that boots on select 175 BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top 176 box chips. Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN 177 must be set appropriately for your board. 178 179config BCM47XX 180 bool "Broadcom BCM47XX based boards" 181 select ARCH_WANT_OPTIONAL_GPIOLIB 182 select BOOT_RAW 183 select CEVT_R4K 184 select CSRC_R4K 185 select DMA_NONCOHERENT 186 select HW_HAS_PCI 187 select IRQ_MIPS_CPU 188 select SYS_HAS_CPU_MIPS32_R1 189 select NO_EXCEPT_FILL 190 select SYS_SUPPORTS_32BIT_KERNEL 191 select SYS_SUPPORTS_LITTLE_ENDIAN 192 select SYS_SUPPORTS_MIPS16 193 select SYS_HAS_EARLY_PRINTK 194 select USE_GENERIC_EARLY_PRINTK_8250 195 select GPIOLIB 196 select LEDS_GPIO_REGISTER 197 select BCM47XX_NVRAM 198 help 199 Support for BCM47XX based boards 200 201config BCM63XX 202 bool "Broadcom BCM63XX based boards" 203 select BOOT_RAW 204 select CEVT_R4K 205 select CSRC_R4K 206 select SYNC_R4K 207 select DMA_NONCOHERENT 208 select IRQ_MIPS_CPU 209 select SYS_SUPPORTS_32BIT_KERNEL 210 select SYS_SUPPORTS_BIG_ENDIAN 211 select SYS_HAS_EARLY_PRINTK 212 select SWAP_IO_SPACE 213 select ARCH_REQUIRE_GPIOLIB 214 select HAVE_CLK 215 select MIPS_L1_CACHE_SHIFT_4 216 help 217 Support for BCM63XX based boards 218 219config MIPS_COBALT 220 bool "Cobalt Server" 221 select CEVT_R4K 222 select CSRC_R4K 223 select CEVT_GT641XX 224 select DMA_NONCOHERENT 225 select HW_HAS_PCI 226 select I8253 227 select I8259 228 select IRQ_MIPS_CPU 229 select IRQ_GT641XX 230 select PCI_GT64XXX_PCI0 231 select PCI 232 select SYS_HAS_CPU_NEVADA 233 select SYS_HAS_EARLY_PRINTK 234 select SYS_SUPPORTS_32BIT_KERNEL 235 select SYS_SUPPORTS_64BIT_KERNEL 236 select SYS_SUPPORTS_LITTLE_ENDIAN 237 select USE_GENERIC_EARLY_PRINTK_8250 238 239config MACH_DECSTATION 240 bool "DECstations" 241 select BOOT_ELF32 242 select CEVT_DS1287 243 select CEVT_R4K if CPU_R4X00 244 select CSRC_IOASIC 245 select CSRC_R4K if CPU_R4X00 246 select CPU_DADDI_WORKAROUNDS if 64BIT 247 select CPU_R4000_WORKAROUNDS if 64BIT 248 select CPU_R4400_WORKAROUNDS if 64BIT 249 select DMA_NONCOHERENT 250 select NO_IOPORT_MAP 251 select IRQ_MIPS_CPU 252 select SYS_HAS_CPU_R3000 253 select SYS_HAS_CPU_R4X00 254 select SYS_SUPPORTS_32BIT_KERNEL 255 select SYS_SUPPORTS_64BIT_KERNEL 256 select SYS_SUPPORTS_LITTLE_ENDIAN 257 select SYS_SUPPORTS_128HZ 258 select SYS_SUPPORTS_256HZ 259 select SYS_SUPPORTS_1024HZ 260 select MIPS_L1_CACHE_SHIFT_4 261 help 262 This enables support for DEC's MIPS based workstations. For details 263 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the 264 DECstation porting pages on <http://decstation.unix-ag.org/>. 265 266 If you have one of the following DECstation Models you definitely 267 want to choose R4xx0 for the CPU Type: 268 269 DECstation 5000/50 270 DECstation 5000/150 271 DECstation 5000/260 272 DECsystem 5900/260 273 274 otherwise choose R3000. 275 276config MACH_JAZZ 277 bool "Jazz family of machines" 278 select FW_ARC 279 select FW_ARC32 280 select ARCH_MAY_HAVE_PC_FDC 281 select CEVT_R4K 282 select CSRC_R4K 283 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 284 select GENERIC_ISA_DMA 285 select HAVE_PCSPKR_PLATFORM 286 select IRQ_MIPS_CPU 287 select I8253 288 select I8259 289 select ISA 290 select SYS_HAS_CPU_R4X00 291 select SYS_SUPPORTS_32BIT_KERNEL 292 select SYS_SUPPORTS_64BIT_KERNEL 293 select SYS_SUPPORTS_100HZ 294 help 295 This a family of machines based on the MIPS R4030 chipset which was 296 used by several vendors to build RISC/os and Windows NT workstations. 297 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and 298 Olivetti M700-10 workstations. 299 300config MACH_INGENIC 301 bool "Ingenic SoC based machines" 302 select SYS_SUPPORTS_32BIT_KERNEL 303 select SYS_SUPPORTS_LITTLE_ENDIAN 304 select SYS_SUPPORTS_ZBOOT_UART16550 305 select DMA_NONCOHERENT 306 select IRQ_MIPS_CPU 307 select ARCH_REQUIRE_GPIOLIB 308 select COMMON_CLK 309 select GENERIC_IRQ_CHIP 310 select BUILTIN_DTB 311 select USE_OF 312 select LIBFDT 313 314config LANTIQ 315 bool "Lantiq based platforms" 316 select DMA_NONCOHERENT 317 select IRQ_MIPS_CPU 318 select CEVT_R4K 319 select CSRC_R4K 320 select SYS_HAS_CPU_MIPS32_R1 321 select SYS_HAS_CPU_MIPS32_R2 322 select SYS_SUPPORTS_BIG_ENDIAN 323 select SYS_SUPPORTS_32BIT_KERNEL 324 select SYS_SUPPORTS_MIPS16 325 select SYS_SUPPORTS_MULTITHREADING 326 select SYS_HAS_EARLY_PRINTK 327 select ARCH_REQUIRE_GPIOLIB 328 select SWAP_IO_SPACE 329 select BOOT_RAW 330 select HAVE_MACH_CLKDEV 331 select CLKDEV_LOOKUP 332 select USE_OF 333 select PINCTRL 334 select PINCTRL_LANTIQ 335 select ARCH_HAS_RESET_CONTROLLER 336 select RESET_CONTROLLER 337 338config LASAT 339 bool "LASAT Networks platforms" 340 select CEVT_R4K 341 select CRC32 342 select CSRC_R4K 343 select DMA_NONCOHERENT 344 select SYS_HAS_EARLY_PRINTK 345 select HW_HAS_PCI 346 select IRQ_MIPS_CPU 347 select PCI_GT64XXX_PCI0 348 select MIPS_NILE4 349 select R5000_CPU_SCACHE 350 select SYS_HAS_CPU_R5000 351 select SYS_SUPPORTS_32BIT_KERNEL 352 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN 353 select SYS_SUPPORTS_LITTLE_ENDIAN 354 355config MACH_LOONGSON32 356 bool "Loongson-1 family of machines" 357 select SYS_SUPPORTS_ZBOOT 358 help 359 This enables support for the Loongson-1 family of machines. 360 361 Loongson-1 is a family of 32-bit MIPS-compatible SoCs developed by 362 the Institute of Computing Technology (ICT), Chinese Academy of 363 Sciences (CAS). 364 365config MACH_LOONGSON64 366 bool "Loongson-2/3 family of machines" 367 select SYS_SUPPORTS_ZBOOT 368 help 369 This enables the support of Loongson-2/3 family of machines. 370 371 Loongson-2 is a family of single-core CPUs and Loongson-3 is a 372 family of multi-core CPUs. They are both 64-bit general-purpose 373 MIPS-compatible CPUs. Loongson-2/3 are developed by the Institute 374 of Computing Technology (ICT), Chinese Academy of Sciences (CAS) 375 in the People's Republic of China. The chief architect is Professor 376 Weiwu Hu. 377 378config MACH_PISTACHIO 379 bool "IMG Pistachio SoC based boards" 380 select ARCH_REQUIRE_GPIOLIB 381 select BOOT_ELF32 382 select BOOT_RAW 383 select CEVT_R4K 384 select CLKSRC_MIPS_GIC 385 select COMMON_CLK 386 select CSRC_R4K 387 select DMA_MAYBE_COHERENT 388 select IRQ_MIPS_CPU 389 select LIBFDT 390 select MFD_SYSCON 391 select MIPS_CPU_SCACHE 392 select MIPS_GIC 393 select PINCTRL 394 select REGULATOR 395 select SYS_HAS_CPU_MIPS32_R2 396 select SYS_SUPPORTS_32BIT_KERNEL 397 select SYS_SUPPORTS_LITTLE_ENDIAN 398 select SYS_SUPPORTS_MIPS_CPS 399 select SYS_SUPPORTS_MULTITHREADING 400 select SYS_SUPPORTS_ZBOOT 401 select SYS_HAS_EARLY_PRINTK 402 select USE_GENERIC_EARLY_PRINTK_8250 403 select USE_OF 404 help 405 This enables support for the IMG Pistachio SoC platform. 406 407config MACH_XILFPGA 408 bool "MIPSfpga Xilinx based boards" 409 select ARCH_REQUIRE_GPIOLIB 410 select BOOT_ELF32 411 select BOOT_RAW 412 select BUILTIN_DTB 413 select CEVT_R4K 414 select COMMON_CLK 415 select CSRC_R4K 416 select IRQ_MIPS_CPU 417 select LIBFDT 418 select MIPS_CPU_SCACHE 419 select SYS_HAS_EARLY_PRINTK 420 select SYS_HAS_CPU_MIPS32_R2 421 select SYS_SUPPORTS_32BIT_KERNEL 422 select SYS_SUPPORTS_LITTLE_ENDIAN 423 select SYS_SUPPORTS_ZBOOT_UART16550 424 select USE_OF 425 select USE_GENERIC_EARLY_PRINTK_8250 426 help 427 This enables support for the IMG University Program MIPSfpga platform. 428 429config MIPS_MALTA 430 bool "MIPS Malta board" 431 select ARCH_MAY_HAVE_PC_FDC 432 select BOOT_ELF32 433 select BOOT_RAW 434 select BUILTIN_DTB 435 select CEVT_R4K 436 select CSRC_R4K 437 select CLKSRC_MIPS_GIC 438 select COMMON_CLK 439 select DMA_MAYBE_COHERENT 440 select GENERIC_ISA_DMA 441 select HAVE_PCSPKR_PLATFORM 442 select IRQ_MIPS_CPU 443 select MIPS_GIC 444 select HW_HAS_PCI 445 select I8253 446 select I8259 447 select MIPS_BONITO64 448 select MIPS_CPU_SCACHE 449 select MIPS_L1_CACHE_SHIFT_6 450 select PCI_GT64XXX_PCI0 451 select MIPS_MSC 452 select SMP_UP if SMP 453 select SWAP_IO_SPACE 454 select SYS_HAS_CPU_MIPS32_R1 455 select SYS_HAS_CPU_MIPS32_R2 456 select SYS_HAS_CPU_MIPS32_R3_5 457 select SYS_HAS_CPU_MIPS32_R5 458 select SYS_HAS_CPU_MIPS32_R6 459 select SYS_HAS_CPU_MIPS64_R1 460 select SYS_HAS_CPU_MIPS64_R2 461 select SYS_HAS_CPU_MIPS64_R6 462 select SYS_HAS_CPU_NEVADA 463 select SYS_HAS_CPU_RM7000 464 select SYS_SUPPORTS_32BIT_KERNEL 465 select SYS_SUPPORTS_64BIT_KERNEL 466 select SYS_SUPPORTS_BIG_ENDIAN 467 select SYS_SUPPORTS_HIGHMEM 468 select SYS_SUPPORTS_LITTLE_ENDIAN 469 select SYS_SUPPORTS_MICROMIPS 470 select SYS_SUPPORTS_MIPS_CMP 471 select SYS_SUPPORTS_MIPS_CPS 472 select SYS_SUPPORTS_MIPS16 473 select SYS_SUPPORTS_MULTITHREADING 474 select SYS_SUPPORTS_SMARTMIPS 475 select SYS_SUPPORTS_ZBOOT 476 select USE_OF 477 select ZONE_DMA32 if 64BIT 478 select BUILTIN_DTB 479 select LIBFDT 480 help 481 This enables support for the MIPS Technologies Malta evaluation 482 board. 483 484config 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 CPU_LOONGSON2 1769 bool 1770 select CPU_SUPPORTS_32BIT_KERNEL 1771 select CPU_SUPPORTS_64BIT_KERNEL 1772 select CPU_SUPPORTS_HIGHMEM 1773 select CPU_SUPPORTS_HUGEPAGES 1774 1775config CPU_LOONGSON1 1776 bool 1777 select CPU_MIPS32 1778 select CPU_MIPSR2 1779 select CPU_HAS_PREFETCH 1780 select CPU_SUPPORTS_32BIT_KERNEL 1781 select CPU_SUPPORTS_HIGHMEM 1782 select CPU_SUPPORTS_CPUFREQ 1783 1784config CPU_BMIPS32_3300 1785 select SMP_UP if SMP 1786 bool 1787 1788config CPU_BMIPS4350 1789 bool 1790 select SYS_SUPPORTS_SMP 1791 select SYS_SUPPORTS_HOTPLUG_CPU 1792 1793config CPU_BMIPS4380 1794 bool 1795 select MIPS_L1_CACHE_SHIFT_6 1796 select SYS_SUPPORTS_SMP 1797 select SYS_SUPPORTS_HOTPLUG_CPU 1798 1799config CPU_BMIPS5000 1800 bool 1801 select MIPS_CPU_SCACHE 1802 select MIPS_L1_CACHE_SHIFT_7 1803 select SYS_SUPPORTS_SMP 1804 select SYS_SUPPORTS_HOTPLUG_CPU 1805 1806config SYS_HAS_CPU_LOONGSON3 1807 bool 1808 select CPU_SUPPORTS_CPUFREQ 1809 1810config SYS_HAS_CPU_LOONGSON2E 1811 bool 1812 1813config SYS_HAS_CPU_LOONGSON2F 1814 bool 1815 select CPU_SUPPORTS_CPUFREQ 1816 select CPU_SUPPORTS_ADDRWINCFG if 64BIT 1817 select CPU_SUPPORTS_UNCACHED_ACCELERATED 1818 1819config SYS_HAS_CPU_LOONGSON1B 1820 bool 1821 1822config SYS_HAS_CPU_MIPS32_R1 1823 bool 1824 1825config SYS_HAS_CPU_MIPS32_R2 1826 bool 1827 1828config SYS_HAS_CPU_MIPS32_R3_5 1829 bool 1830 1831config SYS_HAS_CPU_MIPS32_R5 1832 bool 1833 1834config SYS_HAS_CPU_MIPS32_R6 1835 bool 1836 1837config SYS_HAS_CPU_MIPS64_R1 1838 bool 1839 1840config SYS_HAS_CPU_MIPS64_R2 1841 bool 1842 1843config SYS_HAS_CPU_MIPS64_R6 1844 bool 1845 1846config SYS_HAS_CPU_R3000 1847 bool 1848 1849config SYS_HAS_CPU_TX39XX 1850 bool 1851 1852config SYS_HAS_CPU_VR41XX 1853 bool 1854 1855config SYS_HAS_CPU_R4300 1856 bool 1857 1858config SYS_HAS_CPU_R4X00 1859 bool 1860 1861config SYS_HAS_CPU_TX49XX 1862 bool 1863 1864config SYS_HAS_CPU_R5000 1865 bool 1866 1867config SYS_HAS_CPU_R5432 1868 bool 1869 1870config SYS_HAS_CPU_R5500 1871 bool 1872 1873config SYS_HAS_CPU_R6000 1874 bool 1875 1876config SYS_HAS_CPU_NEVADA 1877 bool 1878 1879config SYS_HAS_CPU_R8000 1880 bool 1881 1882config SYS_HAS_CPU_R10000 1883 bool 1884 1885config SYS_HAS_CPU_RM7000 1886 bool 1887 1888config SYS_HAS_CPU_SB1 1889 bool 1890 1891config SYS_HAS_CPU_CAVIUM_OCTEON 1892 bool 1893 1894config SYS_HAS_CPU_BMIPS 1895 bool 1896 1897config SYS_HAS_CPU_BMIPS32_3300 1898 bool 1899 select SYS_HAS_CPU_BMIPS 1900 1901config SYS_HAS_CPU_BMIPS4350 1902 bool 1903 select SYS_HAS_CPU_BMIPS 1904 1905config SYS_HAS_CPU_BMIPS4380 1906 bool 1907 select SYS_HAS_CPU_BMIPS 1908 1909config SYS_HAS_CPU_BMIPS5000 1910 bool 1911 select SYS_HAS_CPU_BMIPS 1912 1913config SYS_HAS_CPU_XLR 1914 bool 1915 1916config SYS_HAS_CPU_XLP 1917 bool 1918 1919config MIPS_MALTA_PM 1920 depends on MIPS_MALTA 1921 depends on PCI 1922 bool 1923 default y 1924 1925# 1926# CPU may reorder R->R, R->W, W->R, W->W 1927# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1928# 1929config WEAK_ORDERING 1930 bool 1931 1932# 1933# CPU may reorder reads and writes beyond LL/SC 1934# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 1935# 1936config WEAK_REORDERING_BEYOND_LLSC 1937 bool 1938endmenu 1939 1940# 1941# These two indicate any level of the MIPS32 and MIPS64 architecture 1942# 1943config CPU_MIPS32 1944 bool 1945 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6 1946 1947config CPU_MIPS64 1948 bool 1949 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6 1950 1951# 1952# These two indicate the revision of the architecture, either Release 1 or Release 2 1953# 1954config CPU_MIPSR1 1955 bool 1956 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 1957 1958config CPU_MIPSR2 1959 bool 1960 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 1961 select MIPS_SPRAM 1962 1963config CPU_MIPSR6 1964 bool 1965 default y if CPU_MIPS32_R6 || CPU_MIPS64_R6 1966 select MIPS_SPRAM 1967 1968config EVA 1969 bool 1970 1971config XPA 1972 bool 1973 1974config SYS_SUPPORTS_32BIT_KERNEL 1975 bool 1976config SYS_SUPPORTS_64BIT_KERNEL 1977 bool 1978config CPU_SUPPORTS_32BIT_KERNEL 1979 bool 1980config CPU_SUPPORTS_64BIT_KERNEL 1981 bool 1982config CPU_SUPPORTS_CPUFREQ 1983 bool 1984config CPU_SUPPORTS_ADDRWINCFG 1985 bool 1986config CPU_SUPPORTS_HUGEPAGES 1987 bool 1988config CPU_SUPPORTS_UNCACHED_ACCELERATED 1989 bool 1990config MIPS_PGD_C0_CONTEXT 1991 bool 1992 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP 1993 1994# 1995# Set to y for ptrace access to watch registers. 1996# 1997config HARDWARE_WATCHPOINTS 1998 bool 1999 default y if CPU_MIPSR1 || CPU_MIPSR2 2000 2001menu "Kernel type" 2002 2003choice 2004 prompt "Kernel code model" 2005 help 2006 You should only select this option if you have a workload that 2007 actually benefits from 64-bit processing or if your machine has 2008 large memory. You will only be presented a single option in this 2009 menu if your system does not support both 32-bit and 64-bit kernels. 2010 2011config 32BIT 2012 bool "32-bit kernel" 2013 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 2014 select TRAD_SIGNALS 2015 help 2016 Select this option if you want to build a 32-bit kernel. 2017 2018config 64BIT 2019 bool "64-bit kernel" 2020 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 2021 help 2022 Select this option if you want to build a 64-bit kernel. 2023 2024endchoice 2025 2026config KVM_GUEST 2027 bool "KVM Guest Kernel" 2028 depends on BROKEN_ON_SMP 2029 help 2030 Select this option if building a guest kernel for KVM (Trap & Emulate) mode 2031 2032config KVM_GUEST_TIMER_FREQ 2033 int "Count/Compare Timer Frequency (MHz)" 2034 depends on KVM_GUEST 2035 default 100 2036 help 2037 Set this to non-zero if building a guest kernel for KVM to skip RTC 2038 emulation when determining guest CPU Frequency. Instead, the guest's 2039 timer frequency is specified directly. 2040 2041choice 2042 prompt "Kernel page size" 2043 default PAGE_SIZE_4KB 2044 2045config PAGE_SIZE_4KB 2046 bool "4kB" 2047 depends on !CPU_LOONGSON2 && !CPU_LOONGSON3 2048 help 2049 This option select the standard 4kB Linux page size. On some 2050 R3000-family processors this is the only available page size. Using 2051 4kB page size will minimize memory consumption and is therefore 2052 recommended for low memory systems. 2053 2054config PAGE_SIZE_8KB 2055 bool "8kB" 2056 depends on CPU_R8000 || CPU_CAVIUM_OCTEON 2057 help 2058 Using 8kB page size will result in higher performance kernel at 2059 the price of higher memory consumption. This option is available 2060 only on R8000 and cnMIPS processors. Note that you will need a 2061 suitable Linux distribution to support this. 2062 2063config PAGE_SIZE_16KB 2064 bool "16kB" 2065 depends on !CPU_R3000 && !CPU_TX39XX 2066 help 2067 Using 16kB page size will result in higher performance kernel at 2068 the price of higher memory consumption. This option is available on 2069 all non-R3000 family processors. Note that you will need a suitable 2070 Linux distribution to support this. 2071 2072config PAGE_SIZE_32KB 2073 bool "32kB" 2074 depends on CPU_CAVIUM_OCTEON 2075 help 2076 Using 32kB page size will result in higher performance kernel at 2077 the price of higher memory consumption. This option is available 2078 only on cnMIPS cores. Note that you will need a suitable Linux 2079 distribution to support this. 2080 2081config PAGE_SIZE_64KB 2082 bool "64kB" 2083 depends on !CPU_R3000 && !CPU_TX39XX 2084 help 2085 Using 64kB page size will result in higher performance kernel at 2086 the price of higher memory consumption. This option is available on 2087 all non-R3000 family processor. Not that at the time of this 2088 writing this option is still high experimental. 2089 2090endchoice 2091 2092config FORCE_MAX_ZONEORDER 2093 int "Maximum zone order" 2094 range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB 2095 default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB 2096 range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB 2097 default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB 2098 range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB 2099 default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB 2100 range 11 64 2101 default "11" 2102 help 2103 The kernel memory allocator divides physically contiguous memory 2104 blocks into "zones", where each zone is a power of two number of 2105 pages. This option selects the largest power of two that the kernel 2106 keeps in the memory allocator. If you need to allocate very large 2107 blocks of physically contiguous memory, then you may need to 2108 increase this value. 2109 2110 This config option is actually maximum order plus one. For example, 2111 a value of 11 means that the largest free memory block is 2^10 pages. 2112 2113 The page size is not necessarily 4KB. Keep this in mind 2114 when choosing a value for this option. 2115 2116config BOARD_SCACHE 2117 bool 2118 2119config IP22_CPU_SCACHE 2120 bool 2121 select BOARD_SCACHE 2122 2123# 2124# Support for a MIPS32 / MIPS64 style S-caches 2125# 2126config MIPS_CPU_SCACHE 2127 bool 2128 select BOARD_SCACHE 2129 2130config R5000_CPU_SCACHE 2131 bool 2132 select BOARD_SCACHE 2133 2134config RM7000_CPU_SCACHE 2135 bool 2136 select BOARD_SCACHE 2137 2138config SIBYTE_DMA_PAGEOPS 2139 bool "Use DMA to clear/copy pages" 2140 depends on CPU_SB1 2141 help 2142 Instead of using the CPU to zero and copy pages, use a Data Mover 2143 channel. These DMA channels are otherwise unused by the standard 2144 SiByte Linux port. Seems to give a small performance benefit. 2145 2146config CPU_HAS_PREFETCH 2147 bool 2148 2149config CPU_GENERIC_DUMP_TLB 2150 bool 2151 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX) 2152 2153config CPU_R4K_FPU 2154 bool 2155 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 2156 2157config CPU_R4K_CACHE_TLB 2158 bool 2159 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 2160 2161config MIPS_MT_SMP 2162 bool "MIPS MT SMP support (1 TC on each available VPE)" 2163 depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6 2164 select CPU_MIPSR2_IRQ_VI 2165 select CPU_MIPSR2_IRQ_EI 2166 select SYNC_R4K 2167 select MIPS_GIC_IPI 2168 select MIPS_MT 2169 select SMP 2170 select SMP_UP 2171 select SYS_SUPPORTS_SMP 2172 select SYS_SUPPORTS_SCHED_SMT 2173 select MIPS_PERF_SHARED_TC_COUNTERS 2174 help 2175 This is a kernel model which is known as SMVP. This is supported 2176 on cores with the MT ASE and uses the available VPEs to implement 2177 virtual processors which supports SMP. This is equivalent to the 2178 Intel Hyperthreading feature. For further information go to 2179 <http://www.imgtec.com/mips/mips-multithreading.asp>. 2180 2181config MIPS_MT 2182 bool 2183 2184config SCHED_SMT 2185 bool "SMT (multithreading) scheduler support" 2186 depends on SYS_SUPPORTS_SCHED_SMT 2187 default n 2188 help 2189 SMT scheduler support improves the CPU scheduler's decision making 2190 when dealing with MIPS MT enabled cores at a cost of slightly 2191 increased overhead in some places. If unsure say N here. 2192 2193config SYS_SUPPORTS_SCHED_SMT 2194 bool 2195 2196config SYS_SUPPORTS_MULTITHREADING 2197 bool 2198 2199config MIPS_MT_FPAFF 2200 bool "Dynamic FPU affinity for FP-intensive threads" 2201 default y 2202 depends on MIPS_MT_SMP 2203 2204config MIPSR2_TO_R6_EMULATOR 2205 bool "MIPS R2-to-R6 emulator" 2206 depends on CPU_MIPSR6 && !SMP 2207 default y 2208 help 2209 Choose this option if you want to run non-R6 MIPS userland code. 2210 Even if you say 'Y' here, the emulator will still be disabled by 2211 default. You can enable it using the 'mipsr2emu' kernel option. 2212 The only reason this is a build-time option is to save ~14K from the 2213 final kernel image. 2214comment "MIPS R2-to-R6 emulator is only available for UP kernels" 2215 depends on SMP && CPU_MIPSR6 2216 2217config MIPS_VPE_LOADER 2218 bool "VPE loader support." 2219 depends on SYS_SUPPORTS_MULTITHREADING && MODULES 2220 select CPU_MIPSR2_IRQ_VI 2221 select CPU_MIPSR2_IRQ_EI 2222 select MIPS_MT 2223 help 2224 Includes a loader for loading an elf relocatable object 2225 onto another VPE and running it. 2226 2227config MIPS_VPE_LOADER_CMP 2228 bool 2229 default "y" 2230 depends on MIPS_VPE_LOADER && MIPS_CMP 2231 2232config MIPS_VPE_LOADER_MT 2233 bool 2234 default "y" 2235 depends on MIPS_VPE_LOADER && !MIPS_CMP 2236 2237config MIPS_VPE_LOADER_TOM 2238 bool "Load VPE program into memory hidden from linux" 2239 depends on MIPS_VPE_LOADER 2240 default y 2241 help 2242 The loader can use memory that is present but has been hidden from 2243 Linux using the kernel command line option "mem=xxMB". It's up to 2244 you to ensure the amount you put in the option and the space your 2245 program requires is less or equal to the amount physically present. 2246 2247config MIPS_VPE_APSP_API 2248 bool "Enable support for AP/SP API (RTLX)" 2249 depends on MIPS_VPE_LOADER 2250 help 2251 2252config MIPS_VPE_APSP_API_CMP 2253 bool 2254 default "y" 2255 depends on MIPS_VPE_APSP_API && MIPS_CMP 2256 2257config MIPS_VPE_APSP_API_MT 2258 bool 2259 default "y" 2260 depends on MIPS_VPE_APSP_API && !MIPS_CMP 2261 2262config MIPS_CMP 2263 bool "MIPS CMP framework support (DEPRECATED)" 2264 depends on SYS_SUPPORTS_MIPS_CMP && !CPU_MIPSR6 2265 select MIPS_GIC_IPI 2266 select SMP 2267 select SYNC_R4K 2268 select SYS_SUPPORTS_SMP 2269 select WEAK_ORDERING 2270 default n 2271 help 2272 Select this if you are using a bootloader which implements the "CMP 2273 framework" protocol (ie. YAMON) and want your kernel to make use of 2274 its ability to start secondary CPUs. 2275 2276 Unless you have a specific need, you should use CONFIG_MIPS_CPS 2277 instead of this. 2278 2279config MIPS_CPS 2280 bool "MIPS Coherent Processing System support" 2281 depends on SYS_SUPPORTS_MIPS_CPS && !CPU_MIPSR6 2282 select MIPS_CM 2283 select MIPS_CPC 2284 select MIPS_CPS_PM if HOTPLUG_CPU 2285 select MIPS_GIC_IPI 2286 select SMP 2287 select SYNC_R4K if (CEVT_R4K || CSRC_R4K) 2288 select SYS_SUPPORTS_HOTPLUG_CPU 2289 select SYS_SUPPORTS_SMP 2290 select WEAK_ORDERING 2291 help 2292 Select this if you wish to run an SMP kernel across multiple cores 2293 within a MIPS Coherent Processing System. When this option is 2294 enabled the kernel will probe for other cores and boot them with 2295 no external assistance. It is safe to enable this when hardware 2296 support is unavailable. 2297 2298config MIPS_CPS_PM 2299 depends on MIPS_CPS 2300 select MIPS_CPC 2301 bool 2302 2303config MIPS_GIC_IPI 2304 bool 2305 2306config MIPS_CM 2307 bool 2308 2309config MIPS_CPC 2310 bool 2311 2312config SB1_PASS_2_WORKAROUNDS 2313 bool 2314 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 2315 default y 2316 2317config SB1_PASS_2_1_WORKAROUNDS 2318 bool 2319 depends on CPU_SB1 && CPU_SB1_PASS_2 2320 default y 2321 2322 2323config ARCH_PHYS_ADDR_T_64BIT 2324 bool 2325 2326choice 2327 prompt "SmartMIPS or microMIPS ASE support" 2328 2329config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS 2330 bool "None" 2331 help 2332 Select this if you want neither microMIPS nor SmartMIPS support 2333 2334config CPU_HAS_SMARTMIPS 2335 depends on SYS_SUPPORTS_SMARTMIPS 2336 bool "SmartMIPS" 2337 help 2338 SmartMIPS is a extension of the MIPS32 architecture aimed at 2339 increased security at both hardware and software level for 2340 smartcards. Enabling this option will allow proper use of the 2341 SmartMIPS instructions by Linux applications. However a kernel with 2342 this option will not work on a MIPS core without SmartMIPS core. If 2343 you don't know you probably don't have SmartMIPS and should say N 2344 here. 2345 2346config CPU_MICROMIPS 2347 depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6 2348 bool "microMIPS" 2349 help 2350 When this option is enabled the kernel will be built using the 2351 microMIPS ISA 2352 2353endchoice 2354 2355config CPU_HAS_MSA 2356 bool "Support for the MIPS SIMD Architecture" 2357 depends on CPU_SUPPORTS_MSA 2358 depends on 64BIT || MIPS_O32_FP64_SUPPORT 2359 help 2360 MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers 2361 and a set of SIMD instructions to operate on them. When this option 2362 is enabled the kernel will support allocating & switching MSA 2363 vector register contexts. If you know that your kernel will only be 2364 running on CPUs which do not support MSA or that your userland will 2365 not be making use of it then you may wish to say N here to reduce 2366 the size & complexity of your kernel. 2367 2368 If unsure, say Y. 2369 2370config CPU_HAS_WB 2371 bool 2372 2373config XKS01 2374 bool 2375 2376# 2377# Vectored interrupt mode is an R2 feature 2378# 2379config CPU_MIPSR2_IRQ_VI 2380 bool 2381 2382# 2383# Extended interrupt mode is an R2 feature 2384# 2385config CPU_MIPSR2_IRQ_EI 2386 bool 2387 2388config CPU_HAS_SYNC 2389 bool 2390 depends on !CPU_R3000 2391 default y 2392 2393# 2394# CPU non-features 2395# 2396config CPU_DADDI_WORKAROUNDS 2397 bool 2398 2399config CPU_R4000_WORKAROUNDS 2400 bool 2401 select CPU_R4400_WORKAROUNDS 2402 2403config CPU_R4400_WORKAROUNDS 2404 bool 2405 2406# 2407# - Highmem only makes sense for the 32-bit kernel. 2408# - The current highmem code will only work properly on physically indexed 2409# caches such as R3000, SB1, R7000 or those that look like they're virtually 2410# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 2411# moment we protect the user and offer the highmem option only on machines 2412# where it's known to be safe. This will not offer highmem on a few systems 2413# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 2414# indexed CPUs but we're playing safe. 2415# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 2416# know they might have memory configurations that could make use of highmem 2417# support. 2418# 2419config HIGHMEM 2420 bool "High Memory Support" 2421 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA 2422 2423config CPU_SUPPORTS_HIGHMEM 2424 bool 2425 2426config SYS_SUPPORTS_HIGHMEM 2427 bool 2428 2429config SYS_SUPPORTS_SMARTMIPS 2430 bool 2431 2432config SYS_SUPPORTS_MICROMIPS 2433 bool 2434 2435config SYS_SUPPORTS_MIPS16 2436 bool 2437 help 2438 This option must be set if a kernel might be executed on a MIPS16- 2439 enabled CPU even if MIPS16 is not actually being used. In other 2440 words, it makes the kernel MIPS16-tolerant. 2441 2442config CPU_SUPPORTS_MSA 2443 bool 2444 2445config ARCH_FLATMEM_ENABLE 2446 def_bool y 2447 depends on !NUMA && !CPU_LOONGSON2 2448 2449config ARCH_DISCONTIGMEM_ENABLE 2450 bool 2451 default y if SGI_IP27 2452 help 2453 Say Y to support efficient handling of discontiguous physical memory, 2454 for architectures which are either NUMA (Non-Uniform Memory Access) 2455 or have huge holes in the physical address space for other reasons. 2456 See <file:Documentation/vm/numa> for more. 2457 2458config ARCH_SPARSEMEM_ENABLE 2459 bool 2460 select SPARSEMEM_STATIC 2461 2462config NUMA 2463 bool "NUMA Support" 2464 depends on SYS_SUPPORTS_NUMA 2465 help 2466 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2467 Access). This option improves performance on systems with more 2468 than two nodes; on two node systems it is generally better to 2469 leave it disabled; on single node systems disable this option 2470 disabled. 2471 2472config SYS_SUPPORTS_NUMA 2473 bool 2474 2475config NODES_SHIFT 2476 int 2477 default "6" 2478 depends on NEED_MULTIPLE_NODES 2479 2480config HW_PERF_EVENTS 2481 bool "Enable hardware performance counter support for perf events" 2482 depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3) 2483 default y 2484 help 2485 Enable hardware performance counter support for perf events. If 2486 disabled, perf events will use software events only. 2487 2488source "mm/Kconfig" 2489 2490config SMP 2491 bool "Multi-Processing support" 2492 depends on SYS_SUPPORTS_SMP 2493 help 2494 This enables support for systems with more than one CPU. If you have 2495 a system with only one CPU, say N. If you have a system with more 2496 than one CPU, say Y. 2497 2498 If you say N here, the kernel will run on uni- and multiprocessor 2499 machines, but will use only one CPU of a multiprocessor machine. If 2500 you say Y here, the kernel will run on many, but not all, 2501 uniprocessor machines. On a uniprocessor machine, the kernel 2502 will run faster if you say N here. 2503 2504 People using multiprocessor machines who say Y here should also say 2505 Y to "Enhanced Real Time Clock Support", below. 2506 2507 See also the SMP-HOWTO available at 2508 <http://www.tldp.org/docs.html#howto>. 2509 2510 If you don't know what to do here, say N. 2511 2512config SMP_UP 2513 bool 2514 2515config SYS_SUPPORTS_MIPS_CMP 2516 bool 2517 2518config SYS_SUPPORTS_MIPS_CPS 2519 bool 2520 2521config SYS_SUPPORTS_SMP 2522 bool 2523 2524config NR_CPUS_DEFAULT_4 2525 bool 2526 2527config NR_CPUS_DEFAULT_8 2528 bool 2529 2530config NR_CPUS_DEFAULT_16 2531 bool 2532 2533config NR_CPUS_DEFAULT_32 2534 bool 2535 2536config NR_CPUS_DEFAULT_64 2537 bool 2538 2539config NR_CPUS 2540 int "Maximum number of CPUs (2-256)" 2541 range 2 256 2542 depends on SMP 2543 default "4" if NR_CPUS_DEFAULT_4 2544 default "8" if NR_CPUS_DEFAULT_8 2545 default "16" if NR_CPUS_DEFAULT_16 2546 default "32" if NR_CPUS_DEFAULT_32 2547 default "64" if NR_CPUS_DEFAULT_64 2548 help 2549 This allows you to specify the maximum number of CPUs which this 2550 kernel will support. The maximum supported value is 32 for 32-bit 2551 kernel and 64 for 64-bit kernels; the minimum value which makes 2552 sense is 1 for Qemu (useful only for kernel debugging purposes) 2553 and 2 for all others. 2554 2555 This is purely to save memory - each supported CPU adds 2556 approximately eight kilobytes to the kernel image. For best 2557 performance should round up your number of processors to the next 2558 power of two. 2559 2560config MIPS_PERF_SHARED_TC_COUNTERS 2561 bool 2562 2563# 2564# Timer Interrupt Frequency Configuration 2565# 2566 2567choice 2568 prompt "Timer frequency" 2569 default HZ_250 2570 help 2571 Allows the configuration of the timer frequency. 2572 2573 config HZ_24 2574 bool "24 HZ" if SYS_SUPPORTS_24HZ || SYS_SUPPORTS_ARBIT_HZ 2575 2576 config HZ_48 2577 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 2578 2579 config HZ_100 2580 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 2581 2582 config HZ_128 2583 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 2584 2585 config HZ_250 2586 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 2587 2588 config HZ_256 2589 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 2590 2591 config HZ_1000 2592 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 2593 2594 config HZ_1024 2595 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 2596 2597endchoice 2598 2599config SYS_SUPPORTS_24HZ 2600 bool 2601 2602config SYS_SUPPORTS_48HZ 2603 bool 2604 2605config SYS_SUPPORTS_100HZ 2606 bool 2607 2608config SYS_SUPPORTS_128HZ 2609 bool 2610 2611config SYS_SUPPORTS_250HZ 2612 bool 2613 2614config SYS_SUPPORTS_256HZ 2615 bool 2616 2617config SYS_SUPPORTS_1000HZ 2618 bool 2619 2620config SYS_SUPPORTS_1024HZ 2621 bool 2622 2623config SYS_SUPPORTS_ARBIT_HZ 2624 bool 2625 default y if !SYS_SUPPORTS_24HZ && \ 2626 !SYS_SUPPORTS_48HZ && \ 2627 !SYS_SUPPORTS_100HZ && \ 2628 !SYS_SUPPORTS_128HZ && \ 2629 !SYS_SUPPORTS_250HZ && \ 2630 !SYS_SUPPORTS_256HZ && \ 2631 !SYS_SUPPORTS_1000HZ && \ 2632 !SYS_SUPPORTS_1024HZ 2633 2634config HZ 2635 int 2636 default 24 if HZ_24 2637 default 48 if HZ_48 2638 default 100 if HZ_100 2639 default 128 if HZ_128 2640 default 250 if HZ_250 2641 default 256 if HZ_256 2642 default 1000 if HZ_1000 2643 default 1024 if HZ_1024 2644 2645config SCHED_HRTICK 2646 def_bool HIGH_RES_TIMERS 2647 2648source "kernel/Kconfig.preempt" 2649 2650config KEXEC 2651 bool "Kexec system call" 2652 select KEXEC_CORE 2653 help 2654 kexec is a system call that implements the ability to shutdown your 2655 current kernel, and to start another kernel. It is like a reboot 2656 but it is independent of the system firmware. And like a reboot 2657 you can start any kernel with it, not just Linux. 2658 2659 The name comes from the similarity to the exec system call. 2660 2661 It is an ongoing process to be certain the hardware in a machine 2662 is properly shutdown, so do not be surprised if this code does not 2663 initially work for you. As of this writing the exact hardware 2664 interface is strongly in flux, so no good recommendation can be 2665 made. 2666 2667config CRASH_DUMP 2668 bool "Kernel crash dumps" 2669 help 2670 Generate crash dump after being started by kexec. 2671 This should be normally only set in special crash dump kernels 2672 which are loaded in the main kernel with kexec-tools into 2673 a specially reserved region and then later executed after 2674 a crash by kdump/kexec. The crash dump kernel must be compiled 2675 to a memory address not used by the main kernel or firmware using 2676 PHYSICAL_START. 2677 2678config PHYSICAL_START 2679 hex "Physical address where the kernel is loaded" 2680 default "0xffffffff84000000" if 64BIT 2681 default "0x84000000" if 32BIT 2682 depends on CRASH_DUMP 2683 help 2684 This gives the CKSEG0 or KSEG0 address where the kernel is loaded. 2685 If you plan to use kernel for capturing the crash dump change 2686 this value to start of the reserved region (the "X" value as 2687 specified in the "crashkernel=YM@XM" command line boot parameter 2688 passed to the panic-ed kernel). 2689 2690config SECCOMP 2691 bool "Enable seccomp to safely compute untrusted bytecode" 2692 depends on PROC_FS 2693 default y 2694 help 2695 This kernel feature is useful for number crunching applications 2696 that may need to compute untrusted bytecode during their 2697 execution. By using pipes or other transports made available to 2698 the process as file descriptors supporting the read/write 2699 syscalls, it's possible to isolate those applications in 2700 their own address space using seccomp. Once seccomp is 2701 enabled via /proc/<pid>/seccomp, it cannot be disabled 2702 and the task is only allowed to execute a few safe syscalls 2703 defined by each seccomp mode. 2704 2705 If unsure, say Y. Only embedded should say N here. 2706 2707config MIPS_O32_FP64_SUPPORT 2708 bool "Support for O32 binaries using 64-bit FP" 2709 depends on 32BIT || MIPS32_O32 2710 help 2711 When this is enabled, the kernel will support use of 64-bit floating 2712 point registers with binaries using the O32 ABI along with the 2713 EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On 2714 32-bit MIPS systems this support is at the cost of increasing the 2715 size and complexity of the compiled FPU emulator. Thus if you are 2716 running a MIPS32 system and know that none of your userland binaries 2717 will require 64-bit floating point, you may wish to reduce the size 2718 of your kernel & potentially improve FP emulation performance by 2719 saying N here. 2720 2721 Although binutils currently supports use of this flag the details 2722 concerning its effect upon the O32 ABI in userland are still being 2723 worked on. In order to avoid userland becoming dependant upon current 2724 behaviour before the details have been finalised, this option should 2725 be considered experimental and only enabled by those working upon 2726 said details. 2727 2728 If unsure, say N. 2729 2730config USE_OF 2731 bool 2732 select OF 2733 select OF_EARLY_FLATTREE 2734 select IRQ_DOMAIN 2735 2736config BUILTIN_DTB 2737 bool 2738 2739choice 2740 prompt "Kernel appended dtb support" if USE_OF 2741 default MIPS_NO_APPENDED_DTB 2742 2743 config MIPS_NO_APPENDED_DTB 2744 bool "None" 2745 help 2746 Do not enable appended dtb support. 2747 2748 config MIPS_ELF_APPENDED_DTB 2749 bool "vmlinux" 2750 help 2751 With this option, the boot code will look for a device tree binary 2752 DTB) included in the vmlinux ELF section .appended_dtb. By default 2753 it is empty and the DTB can be appended using binutils command 2754 objcopy: 2755 2756 objcopy --update-section .appended_dtb=<filename>.dtb vmlinux 2757 2758 This is meant as a backward compatiblity convenience for those 2759 systems with a bootloader that can't be upgraded to accommodate 2760 the documented boot protocol using a device tree. 2761 2762 config MIPS_RAW_APPENDED_DTB 2763 bool "vmlinux.bin" 2764 help 2765 With this option, the boot code will look for a device tree binary 2766 DTB) appended to raw vmlinux.bin (without decompressor). 2767 (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb). 2768 2769 This is meant as a backward compatibility convenience for those 2770 systems with a bootloader that can't be upgraded to accommodate 2771 the documented boot protocol using a device tree. 2772 2773 Beware that there is very little in terms of protection against 2774 this option being confused by leftover garbage in memory that might 2775 look like a DTB header after a reboot if no actual DTB is appended 2776 to vmlinux.bin. Do not leave this option active in a production kernel 2777 if you don't intend to always append a DTB. 2778 2779 config MIPS_ZBOOT_APPENDED_DTB 2780 bool "vmlinuz.bin" 2781 depends on SYS_SUPPORTS_ZBOOT 2782 help 2783 With this option, the boot code will look for a device tree binary 2784 DTB) appended to raw vmlinuz.bin (with decompressor). 2785 (e.g. cat vmlinuz.bin <filename>.dtb > vmlinuz_w_dtb). 2786 2787 This is meant as a backward compatibility convenience for those 2788 systems with a bootloader that can't be upgraded to accommodate 2789 the documented boot protocol using a device tree. 2790 2791 Beware that there is very little in terms of protection against 2792 this option being confused by leftover garbage in memory that might 2793 look like a DTB header after a reboot if no actual DTB is appended 2794 to vmlinuz.bin. Do not leave this option active in a production kernel 2795 if you don't intend to always append a DTB. 2796endchoice 2797 2798choice 2799 prompt "Kernel command line type" if !CMDLINE_OVERRIDE 2800 default MIPS_CMDLINE_FROM_DTB if USE_OF && !ATH79 && !MACH_INGENIC && \ 2801 !MIPS_MALTA && !MIPS_SEAD3 && \ 2802 !CAVIUM_OCTEON_SOC 2803 default MIPS_CMDLINE_FROM_BOOTLOADER 2804 2805 config MIPS_CMDLINE_FROM_DTB 2806 depends on USE_OF 2807 bool "Dtb kernel arguments if available" 2808 2809 config MIPS_CMDLINE_DTB_EXTEND 2810 depends on USE_OF 2811 bool "Extend dtb kernel arguments with bootloader arguments" 2812 2813 config MIPS_CMDLINE_FROM_BOOTLOADER 2814 bool "Bootloader kernel arguments if available" 2815endchoice 2816 2817endmenu 2818 2819config LOCKDEP_SUPPORT 2820 bool 2821 default y 2822 2823config STACKTRACE_SUPPORT 2824 bool 2825 default y 2826 2827config HAVE_LATENCYTOP_SUPPORT 2828 bool 2829 default y 2830 2831config PGTABLE_LEVELS 2832 int 2833 default 3 if 64BIT && !PAGE_SIZE_64KB 2834 default 2 2835 2836source "init/Kconfig" 2837 2838source "kernel/Kconfig.freezer" 2839 2840menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2841 2842config HW_HAS_EISA 2843 bool 2844config HW_HAS_PCI 2845 bool 2846 2847config PCI 2848 bool "Support for PCI controller" 2849 depends on HW_HAS_PCI 2850 select PCI_DOMAINS 2851 select NO_GENERIC_PCI_IOPORT_MAP 2852 help 2853 Find out whether you have a PCI motherboard. PCI is the name of a 2854 bus system, i.e. the way the CPU talks to the other stuff inside 2855 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2856 say Y, otherwise N. 2857 2858config HT_PCI 2859 bool "Support for HT-linked PCI" 2860 default y 2861 depends on CPU_LOONGSON3 2862 select PCI 2863 select PCI_DOMAINS 2864 help 2865 Loongson family machines use Hyper-Transport bus for inter-core 2866 connection and device connection. The PCI bus is a subordinate 2867 linked at HT. Choose Y for Loongson-3 based machines. 2868 2869config PCI_DOMAINS 2870 bool 2871 2872source "drivers/pci/Kconfig" 2873 2874source "drivers/pci/pcie/Kconfig" 2875 2876# 2877# ISA support is now enabled via select. Too many systems still have the one 2878# or other ISA chip on the board that users don't know about so don't expect 2879# users to choose the right thing ... 2880# 2881config ISA 2882 bool 2883 2884config EISA 2885 bool "EISA support" 2886 depends on HW_HAS_EISA 2887 select ISA 2888 select GENERIC_ISA_DMA 2889 ---help--- 2890 The Extended Industry Standard Architecture (EISA) bus was 2891 developed as an open alternative to the IBM MicroChannel bus. 2892 2893 The EISA bus provided some of the features of the IBM MicroChannel 2894 bus while maintaining backward compatibility with cards made for 2895 the older ISA bus. The EISA bus saw limited use between 1988 and 2896 1995 when it was made obsolete by the PCI bus. 2897 2898 Say Y here if you are building a kernel for an EISA-based machine. 2899 2900 Otherwise, say N. 2901 2902source "drivers/eisa/Kconfig" 2903 2904config TC 2905 bool "TURBOchannel support" 2906 depends on MACH_DECSTATION 2907 help 2908 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 2909 processors. TURBOchannel programming specifications are available 2910 at: 2911 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 2912 and: 2913 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 2914 Linux driver support status is documented at: 2915 <http://www.linux-mips.org/wiki/DECstation> 2916 2917config MMU 2918 bool 2919 default y 2920 2921config I8253 2922 bool 2923 select CLKSRC_I8253 2924 select CLKEVT_I8253 2925 select MIPS_EXTERNAL_TIMER 2926 2927config ZONE_DMA 2928 bool 2929 2930config ZONE_DMA32 2931 bool 2932 2933source "drivers/pcmcia/Kconfig" 2934 2935source "drivers/pci/hotplug/Kconfig" 2936 2937config RAPIDIO 2938 tristate "RapidIO support" 2939 depends on PCI 2940 default n 2941 help 2942 If you say Y here, the kernel will include drivers and 2943 infrastructure code to support RapidIO interconnect devices. 2944 2945source "drivers/rapidio/Kconfig" 2946 2947endmenu 2948 2949menu "Executable file formats" 2950 2951source "fs/Kconfig.binfmt" 2952 2953config TRAD_SIGNALS 2954 bool 2955 2956config MIPS32_COMPAT 2957 bool 2958 2959config COMPAT 2960 bool 2961 2962config SYSVIPC_COMPAT 2963 bool 2964 2965config MIPS32_O32 2966 bool "Kernel support for o32 binaries" 2967 depends on 64BIT 2968 select ARCH_WANT_OLD_COMPAT_IPC 2969 select COMPAT 2970 select MIPS32_COMPAT 2971 select SYSVIPC_COMPAT if SYSVIPC 2972 help 2973 Select this option if you want to run o32 binaries. These are pure 2974 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 2975 existing binaries are in this format. 2976 2977 If unsure, say Y. 2978 2979config MIPS32_N32 2980 bool "Kernel support for n32 binaries" 2981 depends on 64BIT 2982 select COMPAT 2983 select MIPS32_COMPAT 2984 select SYSVIPC_COMPAT if SYSVIPC 2985 help 2986 Select this option if you want to run n32 binaries. These are 2987 64-bit binaries using 32-bit quantities for addressing and certain 2988 data that would normally be 64-bit. They are used in special 2989 cases. 2990 2991 If unsure, say N. 2992 2993config BINFMT_ELF32 2994 bool 2995 default y if MIPS32_O32 || MIPS32_N32 2996 2997endmenu 2998 2999menu "Power management options" 3000 3001config ARCH_HIBERNATION_POSSIBLE 3002 def_bool y 3003 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 3004 3005config ARCH_SUSPEND_POSSIBLE 3006 def_bool y 3007 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 3008 3009source "kernel/power/Kconfig" 3010 3011endmenu 3012 3013config MIPS_EXTERNAL_TIMER 3014 bool 3015 3016menu "CPU Power Management" 3017 3018if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER 3019source "drivers/cpufreq/Kconfig" 3020endif 3021 3022source "drivers/cpuidle/Kconfig" 3023 3024endmenu 3025 3026source "net/Kconfig" 3027 3028source "drivers/Kconfig" 3029 3030source "drivers/firmware/Kconfig" 3031 3032source "fs/Kconfig" 3033 3034source "arch/mips/Kconfig.debug" 3035 3036source "security/Kconfig" 3037 3038source "crypto/Kconfig" 3039 3040source "lib/Kconfig" 3041 3042source "arch/mips/kvm/Kconfig" 3043