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