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