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