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