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