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