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