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