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