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