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