1config MIPS 2 bool 3 default y 4 select ARCH_SUPPORTS_UPROBES 5 select ARCH_MIGHT_HAVE_PC_PARPORT 6 select ARCH_MIGHT_HAVE_PC_SERIO 7 select ARCH_USE_CMPXCHG_LOCKREF if 64BIT 8 select ARCH_USE_BUILTIN_BSWAP 9 select HAVE_CONTEXT_TRACKING 10 select HAVE_GENERIC_DMA_COHERENT 11 select HAVE_IDE 12 select HAVE_IRQ_EXIT_ON_IRQ_STACK 13 select HAVE_OPROFILE 14 select HAVE_PERF_EVENTS 15 select PERF_USE_VMALLOC 16 select HAVE_ARCH_KGDB 17 select HAVE_ARCH_MMAP_RND_BITS if MMU 18 select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT 19 select HAVE_ARCH_SECCOMP_FILTER 20 select HAVE_ARCH_TRACEHOOK 21 select HAVE_CBPF_JIT if !CPU_MICROMIPS 22 select HAVE_FUNCTION_TRACER 23 select HAVE_DYNAMIC_FTRACE 24 select HAVE_FTRACE_MCOUNT_RECORD 25 select HAVE_C_RECORDMCOUNT 26 select HAVE_FUNCTION_GRAPH_TRACER 27 select HAVE_KPROBES 28 select HAVE_KRETPROBES 29 select HAVE_SYSCALL_TRACEPOINTS 30 select HAVE_DEBUG_KMEMLEAK 31 select HAVE_SYSCALL_TRACEPOINTS 32 select ARCH_HAS_ELF_RANDOMIZE 33 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT 34 select RTC_LIB if !MACH_LOONGSON64 35 select GENERIC_ATOMIC64 if !64BIT 36 select HAVE_DMA_CONTIGUOUS 37 select HAVE_DMA_API_DEBUG 38 select GENERIC_IRQ_PROBE 39 select GENERIC_IRQ_SHOW 40 select GENERIC_PCI_IOMAP 41 select HAVE_ARCH_JUMP_LABEL 42 select ARCH_WANT_IPC_PARSE_VERSION 43 select IRQ_FORCED_THREADING 44 select HAVE_MEMBLOCK 45 select HAVE_MEMBLOCK_NODE_MAP 46 select ARCH_DISCARD_MEMBLOCK 47 select GENERIC_SMP_IDLE_THREAD 48 select BUILDTIME_EXTABLE_SORT 49 select GENERIC_CLOCKEVENTS 50 select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC 51 select GENERIC_CMOS_UPDATE 52 select HAVE_MOD_ARCH_SPECIFIC 53 select HAVE_NMI 54 select VIRT_TO_BUS 55 select MODULES_USE_ELF_REL if MODULES 56 select MODULES_USE_ELF_RELA if MODULES && 64BIT 57 select CLONE_BACKWARDS 58 select HAVE_DEBUG_STACKOVERFLOW 59 select HAVE_CC_STACKPROTECTOR 60 select CPU_PM if CPU_IDLE 61 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST 62 select ARCH_BINFMT_ELF_STATE 63 select SYSCTL_EXCEPTION_TRACE 64 select HAVE_VIRT_CPU_ACCOUNTING_GEN 65 select HAVE_IRQ_TIME_ACCOUNTING 66 select GENERIC_TIME_VSYSCALL 67 select ARCH_CLOCKSOURCE_DATA 68 select HANDLE_DOMAIN_IRQ 69 select HAVE_EXIT_THREAD 70 select HAVE_REGS_AND_STACK_ACCESS_API 71 72menu "Machine selection" 73 74choice 75 prompt "System type" 76 default SGI_IP22 77 78config MIPS_GENERIC 79 bool "Generic board-agnostic MIPS kernel" 80 select BOOT_RAW 81 select BUILTIN_DTB 82 select CEVT_R4K 83 select CLKSRC_MIPS_GIC 84 select COMMON_CLK 85 select CPU_MIPSR2_IRQ_VI 86 select CPU_MIPSR2_IRQ_EI 87 select CSRC_R4K 88 select DMA_PERDEV_COHERENT 89 select HW_HAS_PCI 90 select IRQ_MIPS_CPU 91 select LIBFDT 92 select MIPS_CPU_SCACHE 93 select MIPS_GIC 94 select MIPS_L1_CACHE_SHIFT_7 95 select NO_EXCEPT_FILL 96 select PCI_DRIVERS_GENERIC 97 select PINCTRL 98 select SMP_UP if SMP 99 select SWAP_IO_SPACE 100 select SYS_HAS_CPU_MIPS32_R1 101 select SYS_HAS_CPU_MIPS32_R2 102 select SYS_HAS_CPU_MIPS32_R6 103 select SYS_HAS_CPU_MIPS64_R1 104 select SYS_HAS_CPU_MIPS64_R2 105 select SYS_HAS_CPU_MIPS64_R6 106 select SYS_SUPPORTS_32BIT_KERNEL 107 select SYS_SUPPORTS_64BIT_KERNEL 108 select SYS_SUPPORTS_BIG_ENDIAN 109 select SYS_SUPPORTS_HIGHMEM 110 select SYS_SUPPORTS_LITTLE_ENDIAN 111 select SYS_SUPPORTS_MICROMIPS 112 select SYS_SUPPORTS_MIPS_CPS 113 select SYS_SUPPORTS_MIPS16 114 select SYS_SUPPORTS_MULTITHREADING 115 select SYS_SUPPORTS_RELOCATABLE 116 select SYS_SUPPORTS_SMARTMIPS 117 select USB_EHCI_BIG_ENDIAN_DESC if BIG_ENDIAN 118 select USB_EHCI_BIG_ENDIAN_MMIO if BIG_ENDIAN 119 select USB_OHCI_BIG_ENDIAN_DESC if BIG_ENDIAN 120 select USB_OHCI_BIG_ENDIAN_MMIO if BIG_ENDIAN 121 select USB_UHCI_BIG_ENDIAN_DESC if BIG_ENDIAN 122 select USB_UHCI_BIG_ENDIAN_MMIO if BIG_ENDIAN 123 select USE_OF 124 help 125 Select this to build a kernel which aims to support multiple boards, 126 generally using a flattened device tree passed from the bootloader 127 using the boot protocol defined in the UHI (Unified Hosting 128 Interface) specification. 129 130config MIPS_ALCHEMY 131 bool "Alchemy processor based machines" 132 select ARCH_PHYS_ADDR_T_64BIT 133 select CEVT_R4K 134 select CSRC_R4K 135 select IRQ_MIPS_CPU 136 select DMA_MAYBE_COHERENT # Au1000,1500,1100 aren't, rest is 137 select SYS_HAS_CPU_MIPS32_R1 138 select SYS_SUPPORTS_32BIT_KERNEL 139 select SYS_SUPPORTS_APM_EMULATION 140 select GPIOLIB 141 select SYS_SUPPORTS_ZBOOT 142 select COMMON_CLK 143 144config AR7 145 bool "Texas Instruments AR7" 146 select BOOT_ELF32 147 select DMA_NONCOHERENT 148 select CEVT_R4K 149 select CSRC_R4K 150 select IRQ_MIPS_CPU 151 select NO_EXCEPT_FILL 152 select SWAP_IO_SPACE 153 select SYS_HAS_CPU_MIPS32_R1 154 select SYS_HAS_EARLY_PRINTK 155 select SYS_SUPPORTS_32BIT_KERNEL 156 select SYS_SUPPORTS_LITTLE_ENDIAN 157 select SYS_SUPPORTS_MIPS16 158 select SYS_SUPPORTS_ZBOOT_UART16550 159 select GPIOLIB 160 select VLYNQ 161 select HAVE_CLK 162 help 163 Support for the Texas Instruments AR7 System-on-a-Chip 164 family: TNETD7100, 7200 and 7300. 165 166config ATH25 167 bool "Atheros AR231x/AR531x SoC support" 168 select CEVT_R4K 169 select CSRC_R4K 170 select DMA_NONCOHERENT 171 select IRQ_MIPS_CPU 172 select IRQ_DOMAIN 173 select SYS_HAS_CPU_MIPS32_R1 174 select SYS_SUPPORTS_BIG_ENDIAN 175 select SYS_SUPPORTS_32BIT_KERNEL 176 select SYS_HAS_EARLY_PRINTK 177 help 178 Support for Atheros AR231x and Atheros AR531x based boards 179 180config ATH79 181 bool "Atheros AR71XX/AR724X/AR913X based boards" 182 select ARCH_HAS_RESET_CONTROLLER 183 select BOOT_RAW 184 select CEVT_R4K 185 select CSRC_R4K 186 select DMA_NONCOHERENT 187 select GPIOLIB 188 select HAVE_CLK 189 select COMMON_CLK 190 select CLKDEV_LOOKUP 191 select IRQ_MIPS_CPU 192 select MIPS_MACHINE 193 select SYS_HAS_CPU_MIPS32_R2 194 select SYS_HAS_EARLY_PRINTK 195 select SYS_SUPPORTS_32BIT_KERNEL 196 select SYS_SUPPORTS_BIG_ENDIAN 197 select SYS_SUPPORTS_MIPS16 198 select SYS_SUPPORTS_ZBOOT_UART_PROM 199 select USE_OF 200 help 201 Support for the Atheros AR71XX/AR724X/AR913X SoCs. 202 203config BMIPS_GENERIC 204 bool "Broadcom Generic BMIPS kernel" 205 select BOOT_RAW 206 select NO_EXCEPT_FILL 207 select USE_OF 208 select CEVT_R4K 209 select CSRC_R4K 210 select SYNC_R4K 211 select COMMON_CLK 212 select BCM6345_L1_IRQ 213 select BCM7038_L1_IRQ 214 select BCM7120_L2_IRQ 215 select BRCMSTB_L2_IRQ 216 select IRQ_MIPS_CPU 217 select DMA_NONCOHERENT 218 select SYS_SUPPORTS_32BIT_KERNEL 219 select SYS_SUPPORTS_LITTLE_ENDIAN 220 select SYS_SUPPORTS_BIG_ENDIAN 221 select SYS_SUPPORTS_HIGHMEM 222 select SYS_HAS_CPU_BMIPS32_3300 223 select SYS_HAS_CPU_BMIPS4350 224 select SYS_HAS_CPU_BMIPS4380 225 select SYS_HAS_CPU_BMIPS5000 226 select SWAP_IO_SPACE 227 select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 228 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 229 select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 230 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 231 help 232 Build a generic DT-based kernel image that boots on select 233 BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top 234 box chips. Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN 235 must be set appropriately for your board. 236 237config BCM47XX 238 bool "Broadcom BCM47XX based boards" 239 select BOOT_RAW 240 select CEVT_R4K 241 select CSRC_R4K 242 select DMA_NONCOHERENT 243 select HW_HAS_PCI 244 select IRQ_MIPS_CPU 245 select SYS_HAS_CPU_MIPS32_R1 246 select NO_EXCEPT_FILL 247 select SYS_SUPPORTS_32BIT_KERNEL 248 select SYS_SUPPORTS_LITTLE_ENDIAN 249 select SYS_SUPPORTS_MIPS16 250 select SYS_HAS_EARLY_PRINTK 251 select USE_GENERIC_EARLY_PRINTK_8250 252 select GPIOLIB 253 select LEDS_GPIO_REGISTER 254 select BCM47XX_NVRAM 255 select BCM47XX_SPROM 256 help 257 Support for BCM47XX based boards 258 259config BCM63XX 260 bool "Broadcom BCM63XX based boards" 261 select BOOT_RAW 262 select CEVT_R4K 263 select CSRC_R4K 264 select SYNC_R4K 265 select DMA_NONCOHERENT 266 select IRQ_MIPS_CPU 267 select SYS_SUPPORTS_32BIT_KERNEL 268 select SYS_SUPPORTS_BIG_ENDIAN 269 select SYS_HAS_EARLY_PRINTK 270 select SWAP_IO_SPACE 271 select GPIOLIB 272 select HAVE_CLK 273 select MIPS_L1_CACHE_SHIFT_4 274 help 275 Support for BCM63XX based boards 276 277config MIPS_COBALT 278 bool "Cobalt Server" 279 select CEVT_R4K 280 select CSRC_R4K 281 select CEVT_GT641XX 282 select DMA_NONCOHERENT 283 select HW_HAS_PCI 284 select I8253 285 select I8259 286 select IRQ_MIPS_CPU 287 select IRQ_GT641XX 288 select PCI_GT64XXX_PCI0 289 select PCI 290 select SYS_HAS_CPU_NEVADA 291 select SYS_HAS_EARLY_PRINTK 292 select SYS_SUPPORTS_32BIT_KERNEL 293 select SYS_SUPPORTS_64BIT_KERNEL 294 select SYS_SUPPORTS_LITTLE_ENDIAN 295 select USE_GENERIC_EARLY_PRINTK_8250 296 297config MACH_DECSTATION 298 bool "DECstations" 299 select BOOT_ELF32 300 select CEVT_DS1287 301 select CEVT_R4K if CPU_R4X00 302 select CSRC_IOASIC 303 select CSRC_R4K if CPU_R4X00 304 select CPU_DADDI_WORKAROUNDS if 64BIT 305 select CPU_R4000_WORKAROUNDS if 64BIT 306 select CPU_R4400_WORKAROUNDS if 64BIT 307 select DMA_NONCOHERENT 308 select NO_IOPORT_MAP 309 select IRQ_MIPS_CPU 310 select SYS_HAS_CPU_R3000 311 select SYS_HAS_CPU_R4X00 312 select SYS_SUPPORTS_32BIT_KERNEL 313 select SYS_SUPPORTS_64BIT_KERNEL 314 select SYS_SUPPORTS_LITTLE_ENDIAN 315 select SYS_SUPPORTS_128HZ 316 select SYS_SUPPORTS_256HZ 317 select SYS_SUPPORTS_1024HZ 318 select MIPS_L1_CACHE_SHIFT_4 319 help 320 This enables support for DEC's MIPS based workstations. For details 321 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the 322 DECstation porting pages on <http://decstation.unix-ag.org/>. 323 324 If you have one of the following DECstation Models you definitely 325 want to choose R4xx0 for the CPU Type: 326 327 DECstation 5000/50 328 DECstation 5000/150 329 DECstation 5000/260 330 DECsystem 5900/260 331 332 otherwise choose R3000. 333 334config MACH_JAZZ 335 bool "Jazz family of machines" 336 select FW_ARC 337 select FW_ARC32 338 select ARCH_MAY_HAVE_PC_FDC 339 select CEVT_R4K 340 select CSRC_R4K 341 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 342 select GENERIC_ISA_DMA 343 select HAVE_PCSPKR_PLATFORM 344 select IRQ_MIPS_CPU 345 select I8253 346 select I8259 347 select ISA 348 select SYS_HAS_CPU_R4X00 349 select SYS_SUPPORTS_32BIT_KERNEL 350 select SYS_SUPPORTS_64BIT_KERNEL 351 select SYS_SUPPORTS_100HZ 352 help 353 This a family of machines based on the MIPS R4030 chipset which was 354 used by several vendors to build RISC/os and Windows NT workstations. 355 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and 356 Olivetti M700-10 workstations. 357 358config MACH_INGENIC 359 bool "Ingenic SoC based machines" 360 select SYS_SUPPORTS_32BIT_KERNEL 361 select SYS_SUPPORTS_LITTLE_ENDIAN 362 select SYS_SUPPORTS_ZBOOT_UART16550 363 select DMA_NONCOHERENT 364 select IRQ_MIPS_CPU 365 select GPIOLIB 366 select COMMON_CLK 367 select GENERIC_IRQ_CHIP 368 select BUILTIN_DTB 369 select USE_OF 370 select LIBFDT 371 372config LANTIQ 373 bool "Lantiq based platforms" 374 select DMA_NONCOHERENT 375 select IRQ_MIPS_CPU 376 select CEVT_R4K 377 select CSRC_R4K 378 select SYS_HAS_CPU_MIPS32_R1 379 select SYS_HAS_CPU_MIPS32_R2 380 select SYS_SUPPORTS_BIG_ENDIAN 381 select SYS_SUPPORTS_32BIT_KERNEL 382 select SYS_SUPPORTS_MIPS16 383 select SYS_SUPPORTS_MULTITHREADING 384 select SYS_HAS_EARLY_PRINTK 385 select GPIOLIB 386 select SWAP_IO_SPACE 387 select BOOT_RAW 388 select CLKDEV_LOOKUP 389 select USE_OF 390 select PINCTRL 391 select PINCTRL_LANTIQ 392 select ARCH_HAS_RESET_CONTROLLER 393 select RESET_CONTROLLER 394 395config LASAT 396 bool "LASAT Networks platforms" 397 select CEVT_R4K 398 select CRC32 399 select CSRC_R4K 400 select DMA_NONCOHERENT 401 select SYS_HAS_EARLY_PRINTK 402 select HW_HAS_PCI 403 select IRQ_MIPS_CPU 404 select PCI_GT64XXX_PCI0 405 select MIPS_NILE4 406 select R5000_CPU_SCACHE 407 select SYS_HAS_CPU_R5000 408 select SYS_SUPPORTS_32BIT_KERNEL 409 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN 410 select SYS_SUPPORTS_LITTLE_ENDIAN 411 412config MACH_LOONGSON32 413 bool "Loongson-1 family of machines" 414 select SYS_SUPPORTS_ZBOOT 415 help 416 This enables support for the Loongson-1 family of machines. 417 418 Loongson-1 is a family of 32-bit MIPS-compatible SoCs developed by 419 the Institute of Computing Technology (ICT), Chinese Academy of 420 Sciences (CAS). 421 422config MACH_LOONGSON64 423 bool "Loongson-2/3 family of machines" 424 select SYS_SUPPORTS_ZBOOT 425 help 426 This enables the support of Loongson-2/3 family of machines. 427 428 Loongson-2 is a family of single-core CPUs and Loongson-3 is a 429 family of multi-core CPUs. They are both 64-bit general-purpose 430 MIPS-compatible CPUs. Loongson-2/3 are developed by the Institute 431 of Computing Technology (ICT), Chinese Academy of Sciences (CAS) 432 in the People's Republic of China. The chief architect is Professor 433 Weiwu Hu. 434 435config MACH_PISTACHIO 436 bool "IMG Pistachio SoC based boards" 437 select BOOT_ELF32 438 select BOOT_RAW 439 select CEVT_R4K 440 select CLKSRC_MIPS_GIC 441 select COMMON_CLK 442 select CSRC_R4K 443 select DMA_NONCOHERENT 444 select GPIOLIB 445 select IRQ_MIPS_CPU 446 select LIBFDT 447 select MFD_SYSCON 448 select MIPS_CPU_SCACHE 449 select MIPS_GIC 450 select PINCTRL 451 select REGULATOR 452 select SYS_HAS_CPU_MIPS32_R2 453 select SYS_SUPPORTS_32BIT_KERNEL 454 select SYS_SUPPORTS_LITTLE_ENDIAN 455 select SYS_SUPPORTS_MIPS_CPS 456 select SYS_SUPPORTS_MULTITHREADING 457 select SYS_SUPPORTS_RELOCATABLE 458 select SYS_SUPPORTS_ZBOOT 459 select SYS_HAS_EARLY_PRINTK 460 select USE_GENERIC_EARLY_PRINTK_8250 461 select USE_OF 462 help 463 This enables support for the IMG Pistachio SoC platform. 464 465config MACH_XILFPGA 466 bool "MIPSfpga Xilinx based boards" 467 select BOOT_ELF32 468 select BOOT_RAW 469 select BUILTIN_DTB 470 select CEVT_R4K 471 select COMMON_CLK 472 select CSRC_R4K 473 select GPIOLIB 474 select IRQ_MIPS_CPU 475 select LIBFDT 476 select MIPS_CPU_SCACHE 477 select SYS_HAS_EARLY_PRINTK 478 select SYS_HAS_CPU_MIPS32_R2 479 select SYS_SUPPORTS_32BIT_KERNEL 480 select SYS_SUPPORTS_LITTLE_ENDIAN 481 select SYS_SUPPORTS_ZBOOT_UART16550 482 select USE_OF 483 select USE_GENERIC_EARLY_PRINTK_8250 484 select XILINX_INTC 485 help 486 This enables support for the IMG University Program MIPSfpga platform. 487 488config MIPS_MALTA 489 bool "MIPS Malta board" 490 select ARCH_MAY_HAVE_PC_FDC 491 select BOOT_ELF32 492 select BOOT_RAW 493 select BUILTIN_DTB 494 select CEVT_R4K 495 select CSRC_R4K 496 select CLKSRC_MIPS_GIC 497 select COMMON_CLK 498 select DMA_MAYBE_COHERENT 499 select GENERIC_ISA_DMA 500 select HAVE_PCSPKR_PLATFORM 501 select IRQ_MIPS_CPU 502 select MIPS_GIC 503 select HW_HAS_PCI 504 select I8253 505 select I8259 506 select MIPS_BONITO64 507 select MIPS_CPU_SCACHE 508 select MIPS_L1_CACHE_SHIFT_6 509 select PCI_GT64XXX_PCI0 510 select MIPS_MSC 511 select SMP_UP if SMP 512 select SWAP_IO_SPACE 513 select SYS_HAS_CPU_MIPS32_R1 514 select SYS_HAS_CPU_MIPS32_R2 515 select SYS_HAS_CPU_MIPS32_R3_5 516 select SYS_HAS_CPU_MIPS32_R5 517 select SYS_HAS_CPU_MIPS32_R6 518 select SYS_HAS_CPU_MIPS64_R1 519 select SYS_HAS_CPU_MIPS64_R2 520 select SYS_HAS_CPU_MIPS64_R6 521 select SYS_HAS_CPU_NEVADA 522 select SYS_HAS_CPU_RM7000 523 select SYS_SUPPORTS_32BIT_KERNEL 524 select SYS_SUPPORTS_64BIT_KERNEL 525 select SYS_SUPPORTS_BIG_ENDIAN 526 select SYS_SUPPORTS_HIGHMEM 527 select SYS_SUPPORTS_LITTLE_ENDIAN 528 select SYS_SUPPORTS_MICROMIPS 529 select SYS_SUPPORTS_MIPS_CMP 530 select SYS_SUPPORTS_MIPS_CPS 531 select SYS_SUPPORTS_MIPS16 532 select SYS_SUPPORTS_MULTITHREADING 533 select SYS_SUPPORTS_SMARTMIPS 534 select SYS_SUPPORTS_ZBOOT 535 select SYS_SUPPORTS_RELOCATABLE 536 select USE_OF 537 select LIBFDT 538 select ZONE_DMA32 if 64BIT 539 select BUILTIN_DTB 540 select LIBFDT 541 help 542 This enables support for the MIPS Technologies Malta evaluation 543 board. 544 545config MACH_PIC32 546 bool "Microchip PIC32 Family" 547 help 548 This enables support for the Microchip PIC32 family of platforms. 549 550 Microchip PIC32 is a family of general-purpose 32 bit MIPS core 551 microcontrollers. 552 553config NEC_MARKEINS 554 bool "NEC EMMA2RH Mark-eins board" 555 select SOC_EMMA2RH 556 select HW_HAS_PCI 557 help 558 This enables support for the NEC Electronics Mark-eins boards. 559 560config MACH_VR41XX 561 bool "NEC VR4100 series based machines" 562 select CEVT_R4K 563 select CSRC_R4K 564 select SYS_HAS_CPU_VR41XX 565 select SYS_SUPPORTS_MIPS16 566 select GPIOLIB 567 568config NXP_STB220 569 bool "NXP STB220 board" 570 select SOC_PNX833X 571 help 572 Support for NXP Semiconductors STB220 Development Board. 573 574config NXP_STB225 575 bool "NXP 225 board" 576 select SOC_PNX833X 577 select SOC_PNX8335 578 help 579 Support for NXP Semiconductors STB225 Development Board. 580 581config PMC_MSP 582 bool "PMC-Sierra MSP chipsets" 583 select CEVT_R4K 584 select CSRC_R4K 585 select DMA_NONCOHERENT 586 select SWAP_IO_SPACE 587 select NO_EXCEPT_FILL 588 select BOOT_RAW 589 select SYS_HAS_CPU_MIPS32_R1 590 select SYS_HAS_CPU_MIPS32_R2 591 select SYS_SUPPORTS_32BIT_KERNEL 592 select SYS_SUPPORTS_BIG_ENDIAN 593 select SYS_SUPPORTS_MIPS16 594 select IRQ_MIPS_CPU 595 select SERIAL_8250 596 select SERIAL_8250_CONSOLE 597 select USB_EHCI_BIG_ENDIAN_MMIO 598 select USB_EHCI_BIG_ENDIAN_DESC 599 help 600 This adds support for the PMC-Sierra family of Multi-Service 601 Processor System-On-A-Chips. These parts include a number 602 of integrated peripherals, interfaces and DSPs in addition to 603 a variety of MIPS cores. 604 605config RALINK 606 bool "Ralink based machines" 607 select CEVT_R4K 608 select CSRC_R4K 609 select BOOT_RAW 610 select DMA_NONCOHERENT 611 select IRQ_MIPS_CPU 612 select USE_OF 613 select SYS_HAS_CPU_MIPS32_R1 614 select SYS_HAS_CPU_MIPS32_R2 615 select SYS_SUPPORTS_32BIT_KERNEL 616 select SYS_SUPPORTS_LITTLE_ENDIAN 617 select SYS_SUPPORTS_MIPS16 618 select SYS_HAS_EARLY_PRINTK 619 select CLKDEV_LOOKUP 620 select ARCH_HAS_RESET_CONTROLLER 621 select RESET_CONTROLLER 622 623config SGI_IP22 624 bool "SGI IP22 (Indy/Indigo2)" 625 select FW_ARC 626 select FW_ARC32 627 select BOOT_ELF32 628 select CEVT_R4K 629 select CSRC_R4K 630 select DEFAULT_SGI_PARTITION 631 select DMA_NONCOHERENT 632 select HW_HAS_EISA 633 select I8253 634 select I8259 635 select IP22_CPU_SCACHE 636 select IRQ_MIPS_CPU 637 select GENERIC_ISA_DMA_SUPPORT_BROKEN 638 select SGI_HAS_I8042 639 select SGI_HAS_INDYDOG 640 select SGI_HAS_HAL2 641 select SGI_HAS_SEEQ 642 select SGI_HAS_WD93 643 select SGI_HAS_ZILOG 644 select SWAP_IO_SPACE 645 select SYS_HAS_CPU_R4X00 646 select SYS_HAS_CPU_R5000 647 # 648 # Disable EARLY_PRINTK for now since it leads to overwritten prom 649 # memory during early boot on some machines. 650 # 651 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 652 # for a more details discussion 653 # 654 # select SYS_HAS_EARLY_PRINTK 655 select SYS_SUPPORTS_32BIT_KERNEL 656 select SYS_SUPPORTS_64BIT_KERNEL 657 select SYS_SUPPORTS_BIG_ENDIAN 658 select MIPS_L1_CACHE_SHIFT_7 659 help 660 This are the SGI Indy, Challenge S and Indigo2, as well as certain 661 OEM variants like the Tandem CMN B006S. To compile a Linux kernel 662 that runs on these, say Y here. 663 664config SGI_IP27 665 bool "SGI IP27 (Origin200/2000)" 666 select FW_ARC 667 select FW_ARC64 668 select BOOT_ELF64 669 select DEFAULT_SGI_PARTITION 670 select DMA_COHERENT 671 select SYS_HAS_EARLY_PRINTK 672 select HW_HAS_PCI 673 select NR_CPUS_DEFAULT_64 674 select SYS_HAS_CPU_R10000 675 select SYS_SUPPORTS_64BIT_KERNEL 676 select SYS_SUPPORTS_BIG_ENDIAN 677 select SYS_SUPPORTS_NUMA 678 select SYS_SUPPORTS_SMP 679 select MIPS_L1_CACHE_SHIFT_7 680 help 681 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics 682 workstations. To compile a Linux kernel that runs on these, say Y 683 here. 684 685config SGI_IP28 686 bool "SGI IP28 (Indigo2 R10k)" 687 select FW_ARC 688 select FW_ARC64 689 select BOOT_ELF64 690 select CEVT_R4K 691 select CSRC_R4K 692 select DEFAULT_SGI_PARTITION 693 select DMA_NONCOHERENT 694 select GENERIC_ISA_DMA_SUPPORT_BROKEN 695 select IRQ_MIPS_CPU 696 select HW_HAS_EISA 697 select I8253 698 select I8259 699 select SGI_HAS_I8042 700 select SGI_HAS_INDYDOG 701 select SGI_HAS_HAL2 702 select SGI_HAS_SEEQ 703 select SGI_HAS_WD93 704 select SGI_HAS_ZILOG 705 select SWAP_IO_SPACE 706 select SYS_HAS_CPU_R10000 707 # 708 # Disable EARLY_PRINTK for now since it leads to overwritten prom 709 # memory during early boot on some machines. 710 # 711 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com 712 # for a more details discussion 713 # 714 # select SYS_HAS_EARLY_PRINTK 715 select SYS_SUPPORTS_64BIT_KERNEL 716 select SYS_SUPPORTS_BIG_ENDIAN 717 select MIPS_L1_CACHE_SHIFT_7 718 help 719 This is the SGI Indigo2 with R10000 processor. To compile a Linux 720 kernel that runs on these, say Y here. 721 722config SGI_IP32 723 bool "SGI IP32 (O2)" 724 select FW_ARC 725 select FW_ARC32 726 select BOOT_ELF32 727 select CEVT_R4K 728 select CSRC_R4K 729 select DMA_NONCOHERENT 730 select HW_HAS_PCI 731 select IRQ_MIPS_CPU 732 select R5000_CPU_SCACHE 733 select RM7000_CPU_SCACHE 734 select SYS_HAS_CPU_R5000 735 select SYS_HAS_CPU_R10000 if BROKEN 736 select SYS_HAS_CPU_RM7000 737 select SYS_HAS_CPU_NEVADA 738 select SYS_SUPPORTS_64BIT_KERNEL 739 select SYS_SUPPORTS_BIG_ENDIAN 740 help 741 If you want this kernel to run on SGI O2 workstation, say Y here. 742 743config SIBYTE_CRHINE 744 bool "Sibyte BCM91120C-CRhine" 745 select BOOT_ELF32 746 select DMA_COHERENT 747 select SIBYTE_BCM1120 748 select SWAP_IO_SPACE 749 select SYS_HAS_CPU_SB1 750 select SYS_SUPPORTS_BIG_ENDIAN 751 select SYS_SUPPORTS_LITTLE_ENDIAN 752 753config SIBYTE_CARMEL 754 bool "Sibyte BCM91120x-Carmel" 755 select BOOT_ELF32 756 select DMA_COHERENT 757 select SIBYTE_BCM1120 758 select SWAP_IO_SPACE 759 select SYS_HAS_CPU_SB1 760 select SYS_SUPPORTS_BIG_ENDIAN 761 select SYS_SUPPORTS_LITTLE_ENDIAN 762 763config SIBYTE_CRHONE 764 bool "Sibyte BCM91125C-CRhone" 765 select BOOT_ELF32 766 select DMA_COHERENT 767 select SIBYTE_BCM1125 768 select SWAP_IO_SPACE 769 select SYS_HAS_CPU_SB1 770 select SYS_SUPPORTS_BIG_ENDIAN 771 select SYS_SUPPORTS_HIGHMEM 772 select SYS_SUPPORTS_LITTLE_ENDIAN 773 774config SIBYTE_RHONE 775 bool "Sibyte BCM91125E-Rhone" 776 select BOOT_ELF32 777 select DMA_COHERENT 778 select SIBYTE_BCM1125H 779 select SWAP_IO_SPACE 780 select SYS_HAS_CPU_SB1 781 select SYS_SUPPORTS_BIG_ENDIAN 782 select SYS_SUPPORTS_LITTLE_ENDIAN 783 784config SIBYTE_SWARM 785 bool "Sibyte BCM91250A-SWARM" 786 select BOOT_ELF32 787 select DMA_COHERENT 788 select HAVE_PATA_PLATFORM 789 select SIBYTE_SB1250 790 select SWAP_IO_SPACE 791 select SYS_HAS_CPU_SB1 792 select SYS_SUPPORTS_BIG_ENDIAN 793 select SYS_SUPPORTS_HIGHMEM 794 select SYS_SUPPORTS_LITTLE_ENDIAN 795 select ZONE_DMA32 if 64BIT 796 797config SIBYTE_LITTLESUR 798 bool "Sibyte BCM91250C2-LittleSur" 799 select BOOT_ELF32 800 select DMA_COHERENT 801 select HAVE_PATA_PLATFORM 802 select SIBYTE_SB1250 803 select SWAP_IO_SPACE 804 select SYS_HAS_CPU_SB1 805 select SYS_SUPPORTS_BIG_ENDIAN 806 select SYS_SUPPORTS_HIGHMEM 807 select SYS_SUPPORTS_LITTLE_ENDIAN 808 809config SIBYTE_SENTOSA 810 bool "Sibyte BCM91250E-Sentosa" 811 select BOOT_ELF32 812 select DMA_COHERENT 813 select SIBYTE_SB1250 814 select SWAP_IO_SPACE 815 select SYS_HAS_CPU_SB1 816 select SYS_SUPPORTS_BIG_ENDIAN 817 select SYS_SUPPORTS_LITTLE_ENDIAN 818 819config SIBYTE_BIGSUR 820 bool "Sibyte BCM91480B-BigSur" 821 select BOOT_ELF32 822 select DMA_COHERENT 823 select NR_CPUS_DEFAULT_4 824 select SIBYTE_BCM1x80 825 select SWAP_IO_SPACE 826 select SYS_HAS_CPU_SB1 827 select SYS_SUPPORTS_BIG_ENDIAN 828 select SYS_SUPPORTS_HIGHMEM 829 select SYS_SUPPORTS_LITTLE_ENDIAN 830 select ZONE_DMA32 if 64BIT 831 832config SNI_RM 833 bool "SNI RM200/300/400" 834 select FW_ARC if CPU_LITTLE_ENDIAN 835 select FW_ARC32 if CPU_LITTLE_ENDIAN 836 select FW_SNIPROM if CPU_BIG_ENDIAN 837 select ARCH_MAY_HAVE_PC_FDC 838 select BOOT_ELF32 839 select CEVT_R4K 840 select CSRC_R4K 841 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 842 select DMA_NONCOHERENT 843 select GENERIC_ISA_DMA 844 select HAVE_PCSPKR_PLATFORM 845 select HW_HAS_EISA 846 select HW_HAS_PCI 847 select IRQ_MIPS_CPU 848 select I8253 849 select I8259 850 select ISA 851 select SWAP_IO_SPACE if CPU_BIG_ENDIAN 852 select SYS_HAS_CPU_R4X00 853 select SYS_HAS_CPU_R5000 854 select SYS_HAS_CPU_R10000 855 select R5000_CPU_SCACHE 856 select SYS_HAS_EARLY_PRINTK 857 select SYS_SUPPORTS_32BIT_KERNEL 858 select SYS_SUPPORTS_64BIT_KERNEL 859 select SYS_SUPPORTS_BIG_ENDIAN 860 select SYS_SUPPORTS_HIGHMEM 861 select SYS_SUPPORTS_LITTLE_ENDIAN 862 help 863 The SNI RM200/300/400 are MIPS-based machines manufactured by 864 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid 865 Technology and now in turn merged with Fujitsu. Say Y here to 866 support this machine type. 867 868config MACH_TX39XX 869 bool "Toshiba TX39 series based machines" 870 871config MACH_TX49XX 872 bool "Toshiba TX49 series based machines" 873 874config MIKROTIK_RB532 875 bool "Mikrotik RB532 boards" 876 select CEVT_R4K 877 select CSRC_R4K 878 select DMA_NONCOHERENT 879 select HW_HAS_PCI 880 select IRQ_MIPS_CPU 881 select SYS_HAS_CPU_MIPS32_R1 882 select SYS_SUPPORTS_32BIT_KERNEL 883 select SYS_SUPPORTS_LITTLE_ENDIAN 884 select SWAP_IO_SPACE 885 select BOOT_RAW 886 select GPIOLIB 887 select MIPS_L1_CACHE_SHIFT_4 888 help 889 Support the Mikrotik(tm) RouterBoard 532 series, 890 based on the IDT RC32434 SoC. 891 892config CAVIUM_OCTEON_SOC 893 bool "Cavium Networks Octeon SoC based boards" 894 select CEVT_R4K 895 select ARCH_PHYS_ADDR_T_64BIT 896 select DMA_COHERENT 897 select SYS_SUPPORTS_64BIT_KERNEL 898 select SYS_SUPPORTS_BIG_ENDIAN 899 select EDAC_SUPPORT 900 select EDAC_ATOMIC_SCRUB 901 select SYS_SUPPORTS_LITTLE_ENDIAN 902 select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN 903 select SYS_HAS_EARLY_PRINTK 904 select SYS_HAS_CPU_CAVIUM_OCTEON 905 select HW_HAS_PCI 906 select ZONE_DMA32 907 select HOLES_IN_ZONE 908 select GPIOLIB 909 select LIBFDT 910 select USE_OF 911 select ARCH_SPARSEMEM_ENABLE 912 select SYS_SUPPORTS_SMP 913 select NR_CPUS_DEFAULT_16 914 select BUILTIN_DTB 915 select MTD_COMPLEX_MAPPINGS 916 select SYS_SUPPORTS_RELOCATABLE 917 help 918 This option supports all of the Octeon reference boards from Cavium 919 Networks. It builds a kernel that dynamically determines the Octeon 920 CPU type and supports all known board reference implementations. 921 Some of the supported boards are: 922 EBT3000 923 EBH3000 924 EBH3100 925 Thunder 926 Kodama 927 Hikari 928 Say Y here for most Octeon reference boards. 929 930config NLM_XLR_BOARD 931 bool "Netlogic XLR/XLS based systems" 932 select BOOT_ELF32 933 select NLM_COMMON 934 select SYS_HAS_CPU_XLR 935 select SYS_SUPPORTS_SMP 936 select HW_HAS_PCI 937 select SWAP_IO_SPACE 938 select SYS_SUPPORTS_32BIT_KERNEL 939 select SYS_SUPPORTS_64BIT_KERNEL 940 select ARCH_PHYS_ADDR_T_64BIT 941 select SYS_SUPPORTS_BIG_ENDIAN 942 select SYS_SUPPORTS_HIGHMEM 943 select DMA_COHERENT 944 select NR_CPUS_DEFAULT_32 945 select CEVT_R4K 946 select CSRC_R4K 947 select IRQ_MIPS_CPU 948 select ZONE_DMA32 if 64BIT 949 select SYNC_R4K 950 select SYS_HAS_EARLY_PRINTK 951 select SYS_SUPPORTS_ZBOOT 952 select SYS_SUPPORTS_ZBOOT_UART16550 953 help 954 Support for systems based on Netlogic XLR and XLS processors. 955 Say Y here if you have a XLR or XLS based board. 956 957config NLM_XLP_BOARD 958 bool "Netlogic XLP based systems" 959 select BOOT_ELF32 960 select NLM_COMMON 961 select SYS_HAS_CPU_XLP 962 select SYS_SUPPORTS_SMP 963 select HW_HAS_PCI 964 select SYS_SUPPORTS_32BIT_KERNEL 965 select SYS_SUPPORTS_64BIT_KERNEL 966 select ARCH_PHYS_ADDR_T_64BIT 967 select GPIOLIB 968 select SYS_SUPPORTS_BIG_ENDIAN 969 select SYS_SUPPORTS_LITTLE_ENDIAN 970 select SYS_SUPPORTS_HIGHMEM 971 select DMA_COHERENT 972 select NR_CPUS_DEFAULT_32 973 select CEVT_R4K 974 select CSRC_R4K 975 select IRQ_MIPS_CPU 976 select ZONE_DMA32 if 64BIT 977 select SYNC_R4K 978 select SYS_HAS_EARLY_PRINTK 979 select USE_OF 980 select SYS_SUPPORTS_ZBOOT 981 select SYS_SUPPORTS_ZBOOT_UART16550 982 help 983 This board is based on Netlogic XLP Processor. 984 Say Y here if you have a XLP based board. 985 986config MIPS_PARAVIRT 987 bool "Para-Virtualized guest system" 988 select CEVT_R4K 989 select CSRC_R4K 990 select DMA_COHERENT 991 select SYS_SUPPORTS_64BIT_KERNEL 992 select SYS_SUPPORTS_32BIT_KERNEL 993 select SYS_SUPPORTS_BIG_ENDIAN 994 select SYS_SUPPORTS_SMP 995 select NR_CPUS_DEFAULT_4 996 select SYS_HAS_EARLY_PRINTK 997 select SYS_HAS_CPU_MIPS32_R2 998 select SYS_HAS_CPU_MIPS64_R2 999 select SYS_HAS_CPU_CAVIUM_OCTEON 1000 select HW_HAS_PCI 1001 select SWAP_IO_SPACE 1002 help 1003 This option supports guest running under ???? 1004 1005endchoice 1006 1007source "arch/mips/alchemy/Kconfig" 1008source "arch/mips/ath25/Kconfig" 1009source "arch/mips/ath79/Kconfig" 1010source "arch/mips/bcm47xx/Kconfig" 1011source "arch/mips/bcm63xx/Kconfig" 1012source "arch/mips/bmips/Kconfig" 1013source "arch/mips/generic/Kconfig" 1014source "arch/mips/jazz/Kconfig" 1015source "arch/mips/jz4740/Kconfig" 1016source "arch/mips/lantiq/Kconfig" 1017source "arch/mips/lasat/Kconfig" 1018source "arch/mips/pic32/Kconfig" 1019source "arch/mips/pistachio/Kconfig" 1020source "arch/mips/pmcs-msp71xx/Kconfig" 1021source "arch/mips/ralink/Kconfig" 1022source "arch/mips/sgi-ip27/Kconfig" 1023source "arch/mips/sibyte/Kconfig" 1024source "arch/mips/txx9/Kconfig" 1025source "arch/mips/vr41xx/Kconfig" 1026source "arch/mips/cavium-octeon/Kconfig" 1027source "arch/mips/loongson32/Kconfig" 1028source "arch/mips/loongson64/Kconfig" 1029source "arch/mips/netlogic/Kconfig" 1030source "arch/mips/paravirt/Kconfig" 1031source "arch/mips/xilfpga/Kconfig" 1032 1033endmenu 1034 1035config RWSEM_GENERIC_SPINLOCK 1036 bool 1037 default y 1038 1039config RWSEM_XCHGADD_ALGORITHM 1040 bool 1041 1042config ARCH_HAS_ILOG2_U32 1043 bool 1044 default n 1045 1046config ARCH_HAS_ILOG2_U64 1047 bool 1048 default n 1049 1050config GENERIC_HWEIGHT 1051 bool 1052 default y 1053 1054config GENERIC_CALIBRATE_DELAY 1055 bool 1056 default y 1057 1058config SCHED_OMIT_FRAME_POINTER 1059 bool 1060 default y 1061 1062# 1063# Select some configuration options automatically based on user selections. 1064# 1065config FW_ARC 1066 bool 1067 1068config ARCH_MAY_HAVE_PC_FDC 1069 bool 1070 1071config BOOT_RAW 1072 bool 1073 1074config CEVT_BCM1480 1075 bool 1076 1077config CEVT_DS1287 1078 bool 1079 1080config CEVT_GT641XX 1081 bool 1082 1083config CEVT_R4K 1084 bool 1085 1086config CEVT_SB1250 1087 bool 1088 1089config CEVT_TXX9 1090 bool 1091 1092config CSRC_BCM1480 1093 bool 1094 1095config CSRC_IOASIC 1096 bool 1097 1098config CSRC_R4K 1099 bool 1100 1101config CSRC_SB1250 1102 bool 1103 1104config MIPS_CLOCK_VSYSCALL 1105 def_bool CSRC_R4K || CLKSRC_MIPS_GIC 1106 1107config GPIO_TXX9 1108 select GPIOLIB 1109 bool 1110 1111config FW_CFE 1112 bool 1113 1114config ARCH_DMA_ADDR_T_64BIT 1115 def_bool (HIGHMEM && ARCH_PHYS_ADDR_T_64BIT) || 64BIT 1116 1117config ARCH_SUPPORTS_UPROBES 1118 bool 1119 1120config DMA_MAYBE_COHERENT 1121 select DMA_NONCOHERENT 1122 bool 1123 1124config DMA_PERDEV_COHERENT 1125 bool 1126 select DMA_MAYBE_COHERENT 1127 1128config DMA_COHERENT 1129 bool 1130 1131config DMA_NONCOHERENT 1132 bool 1133 select NEED_DMA_MAP_STATE 1134 1135config NEED_DMA_MAP_STATE 1136 bool 1137 1138config SYS_HAS_EARLY_PRINTK 1139 bool 1140 1141config SYS_SUPPORTS_HOTPLUG_CPU 1142 bool 1143 1144config MIPS_BONITO64 1145 bool 1146 1147config MIPS_MSC 1148 bool 1149 1150config MIPS_NILE4 1151 bool 1152 1153config SYNC_R4K 1154 bool 1155 1156config MIPS_MACHINE 1157 def_bool n 1158 1159config NO_IOPORT_MAP 1160 def_bool n 1161 1162config GENERIC_CSUM 1163 bool 1164 1165config GENERIC_ISA_DMA 1166 bool 1167 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 1168 select ISA_DMA_API 1169 1170config GENERIC_ISA_DMA_SUPPORT_BROKEN 1171 bool 1172 select GENERIC_ISA_DMA 1173 1174config ISA_DMA_API 1175 bool 1176 1177config HOLES_IN_ZONE 1178 bool 1179 1180config SYS_SUPPORTS_RELOCATABLE 1181 bool 1182 help 1183 Selected if the platform supports relocating the kernel. 1184 The platform must provide plat_get_fdt() if it selects CONFIG_USE_OF 1185 to allow access to command line and entropy sources. 1186 1187# 1188# Endianness selection. Sufficiently obscure so many users don't know what to 1189# answer,so we try hard to limit the available choices. Also the use of a 1190# choice statement should be more obvious to the user. 1191# 1192choice 1193 prompt "Endianness selection" 1194 help 1195 Some MIPS machines can be configured for either little or big endian 1196 byte order. These modes require different kernels and a different 1197 Linux distribution. In general there is one preferred byteorder for a 1198 particular system but some systems are just as commonly used in the 1199 one or the other endianness. 1200 1201config CPU_BIG_ENDIAN 1202 bool "Big endian" 1203 depends on SYS_SUPPORTS_BIG_ENDIAN 1204 1205config CPU_LITTLE_ENDIAN 1206 bool "Little endian" 1207 depends on SYS_SUPPORTS_LITTLE_ENDIAN 1208 1209endchoice 1210 1211config EXPORT_UASM 1212 bool 1213 1214config SYS_SUPPORTS_APM_EMULATION 1215 bool 1216 1217config SYS_SUPPORTS_BIG_ENDIAN 1218 bool 1219 1220config SYS_SUPPORTS_LITTLE_ENDIAN 1221 bool 1222 1223config SYS_SUPPORTS_HUGETLBFS 1224 bool 1225 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT 1226 default y 1227 1228config MIPS_HUGE_TLB_SUPPORT 1229 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE 1230 1231config IRQ_CPU_RM7K 1232 bool 1233 1234config IRQ_MSP_SLP 1235 bool 1236 1237config IRQ_MSP_CIC 1238 bool 1239 1240config IRQ_TXX9 1241 bool 1242 1243config IRQ_GT641XX 1244 bool 1245 1246config PCI_GT64XXX_PCI0 1247 bool 1248 1249config NO_EXCEPT_FILL 1250 bool 1251 1252config SOC_EMMA2RH 1253 bool 1254 select CEVT_R4K 1255 select CSRC_R4K 1256 select DMA_NONCOHERENT 1257 select IRQ_MIPS_CPU 1258 select SWAP_IO_SPACE 1259 select SYS_HAS_CPU_R5500 1260 select SYS_SUPPORTS_32BIT_KERNEL 1261 select SYS_SUPPORTS_64BIT_KERNEL 1262 select SYS_SUPPORTS_BIG_ENDIAN 1263 1264config SOC_PNX833X 1265 bool 1266 select CEVT_R4K 1267 select CSRC_R4K 1268 select IRQ_MIPS_CPU 1269 select DMA_NONCOHERENT 1270 select SYS_HAS_CPU_MIPS32_R2 1271 select SYS_SUPPORTS_32BIT_KERNEL 1272 select SYS_SUPPORTS_LITTLE_ENDIAN 1273 select SYS_SUPPORTS_BIG_ENDIAN 1274 select SYS_SUPPORTS_MIPS16 1275 select CPU_MIPSR2_IRQ_VI 1276 1277config SOC_PNX8335 1278 bool 1279 select SOC_PNX833X 1280 1281config MIPS_SPRAM 1282 bool 1283 1284config SWAP_IO_SPACE 1285 bool 1286 1287config SGI_HAS_INDYDOG 1288 bool 1289 1290config SGI_HAS_HAL2 1291 bool 1292 1293config SGI_HAS_SEEQ 1294 bool 1295 1296config SGI_HAS_WD93 1297 bool 1298 1299config SGI_HAS_ZILOG 1300 bool 1301 1302config SGI_HAS_I8042 1303 bool 1304 1305config DEFAULT_SGI_PARTITION 1306 bool 1307 1308config FW_ARC32 1309 bool 1310 1311config FW_SNIPROM 1312 bool 1313 1314config BOOT_ELF32 1315 bool 1316 1317config MIPS_L1_CACHE_SHIFT_4 1318 bool 1319 1320config MIPS_L1_CACHE_SHIFT_5 1321 bool 1322 1323config MIPS_L1_CACHE_SHIFT_6 1324 bool 1325 1326config MIPS_L1_CACHE_SHIFT_7 1327 bool 1328 1329config MIPS_L1_CACHE_SHIFT 1330 int 1331 default "7" if MIPS_L1_CACHE_SHIFT_7 1332 default "6" if MIPS_L1_CACHE_SHIFT_6 1333 default "5" if MIPS_L1_CACHE_SHIFT_5 1334 default "4" if MIPS_L1_CACHE_SHIFT_4 1335 default "5" 1336 1337config HAVE_STD_PC_SERIAL_PORT 1338 bool 1339 1340config ARC_CONSOLE 1341 bool "ARC console support" 1342 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 1343 1344config ARC_MEMORY 1345 bool 1346 depends on MACH_JAZZ || SNI_RM || SGI_IP32 1347 default y 1348 1349config ARC_PROMLIB 1350 bool 1351 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 1352 default y 1353 1354config FW_ARC64 1355 bool 1356 1357config BOOT_ELF64 1358 bool 1359 1360menu "CPU selection" 1361 1362choice 1363 prompt "CPU type" 1364 default CPU_R4X00 1365 1366config CPU_LOONGSON3 1367 bool "Loongson 3 CPU" 1368 depends on SYS_HAS_CPU_LOONGSON3 1369 select CPU_SUPPORTS_64BIT_KERNEL 1370 select CPU_SUPPORTS_HIGHMEM 1371 select CPU_SUPPORTS_HUGEPAGES 1372 select WEAK_ORDERING 1373 select WEAK_REORDERING_BEYOND_LLSC 1374 select MIPS_PGD_C0_CONTEXT 1375 select GPIOLIB 1376 help 1377 The Loongson 3 processor implements the MIPS64R2 instruction 1378 set with many extensions. 1379 1380config LOONGSON3_ENHANCEMENT 1381 bool "New Loongson 3 CPU Enhancements" 1382 default n 1383 select CPU_MIPSR2 1384 select CPU_HAS_PREFETCH 1385 depends on CPU_LOONGSON3 1386 help 1387 New Loongson 3 CPU (since Loongson-3A R2, as opposed to Loongson-3A 1388 R1, Loongson-3B R1 and Loongson-3B R2) has many enhancements, such as 1389 FTLB, L1-VCache, EI/DI/Wait/Prefetch instruction, DSP/DSPv2 ASE, User 1390 Local register, Read-Inhibit/Execute-Inhibit, SFB (Store Fill Buffer), 1391 Fast TLB refill support, etc. 1392 1393 This option enable those enhancements which are not probed at run 1394 time. If you want a generic kernel to run on all Loongson 3 machines, 1395 please say 'N' here. If you want a high-performance kernel to run on 1396 new Loongson 3 machines only, please say 'Y' here. 1397 1398config CPU_LOONGSON2E 1399 bool "Loongson 2E" 1400 depends on SYS_HAS_CPU_LOONGSON2E 1401 select CPU_LOONGSON2 1402 help 1403 The Loongson 2E processor implements the MIPS III instruction set 1404 with many extensions. 1405 1406 It has an internal FPGA northbridge, which is compatible to 1407 bonito64. 1408 1409config CPU_LOONGSON2F 1410 bool "Loongson 2F" 1411 depends on SYS_HAS_CPU_LOONGSON2F 1412 select CPU_LOONGSON2 1413 select GPIOLIB 1414 help 1415 The Loongson 2F processor implements the MIPS III instruction set 1416 with many extensions. 1417 1418 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller 1419 have a similar programming interface with FPGA northbridge used in 1420 Loongson2E. 1421 1422config CPU_LOONGSON1B 1423 bool "Loongson 1B" 1424 depends on SYS_HAS_CPU_LOONGSON1B 1425 select CPU_LOONGSON1 1426 select LEDS_GPIO_REGISTER 1427 help 1428 The Loongson 1B is a 32-bit SoC, which implements the MIPS32 1429 release 2 instruction set. 1430 1431config CPU_LOONGSON1C 1432 bool "Loongson 1C" 1433 depends on SYS_HAS_CPU_LOONGSON1C 1434 select CPU_LOONGSON1 1435 select LEDS_GPIO_REGISTER 1436 help 1437 The Loongson 1C is a 32-bit SoC, which implements the MIPS32 1438 release 2 instruction set. 1439 1440config CPU_MIPS32_R1 1441 bool "MIPS32 Release 1" 1442 depends on SYS_HAS_CPU_MIPS32_R1 1443 select CPU_HAS_PREFETCH 1444 select CPU_SUPPORTS_32BIT_KERNEL 1445 select CPU_SUPPORTS_HIGHMEM 1446 help 1447 Choose this option to build a kernel for release 1 or later of the 1448 MIPS32 architecture. Most modern embedded systems with a 32-bit 1449 MIPS processor are based on a MIPS32 processor. If you know the 1450 specific type of processor in your system, choose those that one 1451 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1452 Release 2 of the MIPS32 architecture is available since several 1453 years so chances are you even have a MIPS32 Release 2 processor 1454 in which case you should choose CPU_MIPS32_R2 instead for better 1455 performance. 1456 1457config CPU_MIPS32_R2 1458 bool "MIPS32 Release 2" 1459 depends on SYS_HAS_CPU_MIPS32_R2 1460 select CPU_HAS_PREFETCH 1461 select CPU_SUPPORTS_32BIT_KERNEL 1462 select CPU_SUPPORTS_HIGHMEM 1463 select CPU_SUPPORTS_MSA 1464 select HAVE_KVM 1465 help 1466 Choose this option to build a kernel for release 2 or later of the 1467 MIPS32 architecture. Most modern embedded systems with a 32-bit 1468 MIPS processor are based on a MIPS32 processor. If you know the 1469 specific type of processor in your system, choose those that one 1470 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1471 1472config CPU_MIPS32_R6 1473 bool "MIPS32 Release 6" 1474 depends on SYS_HAS_CPU_MIPS32_R6 1475 select CPU_HAS_PREFETCH 1476 select CPU_SUPPORTS_32BIT_KERNEL 1477 select CPU_SUPPORTS_HIGHMEM 1478 select CPU_SUPPORTS_MSA 1479 select GENERIC_CSUM 1480 select HAVE_KVM 1481 select MIPS_O32_FP64_SUPPORT 1482 help 1483 Choose this option to build a kernel for release 6 or later of the 1484 MIPS32 architecture. New MIPS processors, starting with the Warrior 1485 family, are based on a MIPS32r6 processor. If you own an older 1486 processor, you probably need to select MIPS32r1 or MIPS32r2 instead. 1487 1488config CPU_MIPS64_R1 1489 bool "MIPS64 Release 1" 1490 depends on SYS_HAS_CPU_MIPS64_R1 1491 select CPU_HAS_PREFETCH 1492 select CPU_SUPPORTS_32BIT_KERNEL 1493 select CPU_SUPPORTS_64BIT_KERNEL 1494 select CPU_SUPPORTS_HIGHMEM 1495 select CPU_SUPPORTS_HUGEPAGES 1496 help 1497 Choose this option to build a kernel for release 1 or later of the 1498 MIPS64 architecture. Many modern embedded systems with a 64-bit 1499 MIPS processor are based on a MIPS64 processor. If you know the 1500 specific type of processor in your system, choose those that one 1501 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1502 Release 2 of the MIPS64 architecture is available since several 1503 years so chances are you even have a MIPS64 Release 2 processor 1504 in which case you should choose CPU_MIPS64_R2 instead for better 1505 performance. 1506 1507config CPU_MIPS64_R2 1508 bool "MIPS64 Release 2" 1509 depends on SYS_HAS_CPU_MIPS64_R2 1510 select CPU_HAS_PREFETCH 1511 select CPU_SUPPORTS_32BIT_KERNEL 1512 select CPU_SUPPORTS_64BIT_KERNEL 1513 select CPU_SUPPORTS_HIGHMEM 1514 select CPU_SUPPORTS_HUGEPAGES 1515 select CPU_SUPPORTS_MSA 1516 select HAVE_KVM 1517 help 1518 Choose this option to build a kernel for release 2 or later of the 1519 MIPS64 architecture. Many modern embedded systems with a 64-bit 1520 MIPS processor are based on a MIPS64 processor. If you know the 1521 specific type of processor in your system, choose those that one 1522 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1523 1524config CPU_MIPS64_R6 1525 bool "MIPS64 Release 6" 1526 depends on SYS_HAS_CPU_MIPS64_R6 1527 select CPU_HAS_PREFETCH 1528 select CPU_SUPPORTS_32BIT_KERNEL 1529 select CPU_SUPPORTS_64BIT_KERNEL 1530 select CPU_SUPPORTS_HIGHMEM 1531 select CPU_SUPPORTS_MSA 1532 select GENERIC_CSUM 1533 select MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32 1534 select HAVE_KVM 1535 help 1536 Choose this option to build a kernel for release 6 or later of the 1537 MIPS64 architecture. New MIPS processors, starting with the Warrior 1538 family, are based on a MIPS64r6 processor. If you own an older 1539 processor, you probably need to select MIPS64r1 or MIPS64r2 instead. 1540 1541config CPU_R3000 1542 bool "R3000" 1543 depends on SYS_HAS_CPU_R3000 1544 select CPU_HAS_WB 1545 select CPU_SUPPORTS_32BIT_KERNEL 1546 select CPU_SUPPORTS_HIGHMEM 1547 help 1548 Please make sure to pick the right CPU type. Linux/MIPS is not 1549 designed to be generic, i.e. Kernels compiled for R3000 CPUs will 1550 *not* work on R4000 machines and vice versa. However, since most 1551 of the supported machines have an R4000 (or similar) CPU, R4x00 1552 might be a safe bet. If the resulting kernel does not work, 1553 try to recompile with R3000. 1554 1555config CPU_TX39XX 1556 bool "R39XX" 1557 depends on SYS_HAS_CPU_TX39XX 1558 select CPU_SUPPORTS_32BIT_KERNEL 1559 1560config CPU_VR41XX 1561 bool "R41xx" 1562 depends on SYS_HAS_CPU_VR41XX 1563 select CPU_SUPPORTS_32BIT_KERNEL 1564 select CPU_SUPPORTS_64BIT_KERNEL 1565 help 1566 The options selects support for the NEC VR4100 series of processors. 1567 Only choose this option if you have one of these processors as a 1568 kernel built with this option will not run on any other type of 1569 processor or vice versa. 1570 1571config CPU_R4300 1572 bool "R4300" 1573 depends on SYS_HAS_CPU_R4300 1574 select CPU_SUPPORTS_32BIT_KERNEL 1575 select CPU_SUPPORTS_64BIT_KERNEL 1576 help 1577 MIPS Technologies R4300-series processors. 1578 1579config CPU_R4X00 1580 bool "R4x00" 1581 depends on SYS_HAS_CPU_R4X00 1582 select CPU_SUPPORTS_32BIT_KERNEL 1583 select CPU_SUPPORTS_64BIT_KERNEL 1584 select CPU_SUPPORTS_HUGEPAGES 1585 help 1586 MIPS Technologies R4000-series processors other than 4300, including 1587 the R4000, R4400, R4600, and 4700. 1588 1589config CPU_TX49XX 1590 bool "R49XX" 1591 depends on SYS_HAS_CPU_TX49XX 1592 select CPU_HAS_PREFETCH 1593 select CPU_SUPPORTS_32BIT_KERNEL 1594 select CPU_SUPPORTS_64BIT_KERNEL 1595 select CPU_SUPPORTS_HUGEPAGES 1596 1597config CPU_R5000 1598 bool "R5000" 1599 depends on SYS_HAS_CPU_R5000 1600 select CPU_SUPPORTS_32BIT_KERNEL 1601 select CPU_SUPPORTS_64BIT_KERNEL 1602 select CPU_SUPPORTS_HUGEPAGES 1603 help 1604 MIPS Technologies R5000-series processors other than the Nevada. 1605 1606config CPU_R5432 1607 bool "R5432" 1608 depends on SYS_HAS_CPU_R5432 1609 select CPU_SUPPORTS_32BIT_KERNEL 1610 select CPU_SUPPORTS_64BIT_KERNEL 1611 select CPU_SUPPORTS_HUGEPAGES 1612 1613config CPU_R5500 1614 bool "R5500" 1615 depends on SYS_HAS_CPU_R5500 1616 select CPU_SUPPORTS_32BIT_KERNEL 1617 select CPU_SUPPORTS_64BIT_KERNEL 1618 select CPU_SUPPORTS_HUGEPAGES 1619 help 1620 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1621 instruction set. 1622 1623config CPU_R6000 1624 bool "R6000" 1625 depends on SYS_HAS_CPU_R6000 1626 select CPU_SUPPORTS_32BIT_KERNEL 1627 help 1628 MIPS Technologies R6000 and R6000A series processors. Note these 1629 processors are extremely rare and the support for them is incomplete. 1630 1631config CPU_NEVADA 1632 bool "RM52xx" 1633 depends on SYS_HAS_CPU_NEVADA 1634 select CPU_SUPPORTS_32BIT_KERNEL 1635 select CPU_SUPPORTS_64BIT_KERNEL 1636 select CPU_SUPPORTS_HUGEPAGES 1637 help 1638 QED / PMC-Sierra RM52xx-series ("Nevada") processors. 1639 1640config CPU_R8000 1641 bool "R8000" 1642 depends on SYS_HAS_CPU_R8000 1643 select CPU_HAS_PREFETCH 1644 select CPU_SUPPORTS_64BIT_KERNEL 1645 help 1646 MIPS Technologies R8000 processors. Note these processors are 1647 uncommon and the support for them is incomplete. 1648 1649config CPU_R10000 1650 bool "R10000" 1651 depends on SYS_HAS_CPU_R10000 1652 select CPU_HAS_PREFETCH 1653 select CPU_SUPPORTS_32BIT_KERNEL 1654 select CPU_SUPPORTS_64BIT_KERNEL 1655 select CPU_SUPPORTS_HIGHMEM 1656 select CPU_SUPPORTS_HUGEPAGES 1657 help 1658 MIPS Technologies R10000-series processors. 1659 1660config CPU_RM7000 1661 bool "RM7000" 1662 depends on SYS_HAS_CPU_RM7000 1663 select CPU_HAS_PREFETCH 1664 select CPU_SUPPORTS_32BIT_KERNEL 1665 select CPU_SUPPORTS_64BIT_KERNEL 1666 select CPU_SUPPORTS_HIGHMEM 1667 select CPU_SUPPORTS_HUGEPAGES 1668 1669config CPU_SB1 1670 bool "SB1" 1671 depends on SYS_HAS_CPU_SB1 1672 select CPU_SUPPORTS_32BIT_KERNEL 1673 select CPU_SUPPORTS_64BIT_KERNEL 1674 select CPU_SUPPORTS_HIGHMEM 1675 select CPU_SUPPORTS_HUGEPAGES 1676 select WEAK_ORDERING 1677 1678config CPU_CAVIUM_OCTEON 1679 bool "Cavium Octeon processor" 1680 depends on SYS_HAS_CPU_CAVIUM_OCTEON 1681 select CPU_HAS_PREFETCH 1682 select CPU_SUPPORTS_64BIT_KERNEL 1683 select WEAK_ORDERING 1684 select CPU_SUPPORTS_HIGHMEM 1685 select CPU_SUPPORTS_HUGEPAGES 1686 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 1687 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 1688 select MIPS_L1_CACHE_SHIFT_7 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_R6000 1946 bool 1947 1948config SYS_HAS_CPU_NEVADA 1949 bool 1950 1951config SYS_HAS_CPU_R8000 1952 bool 1953 1954config SYS_HAS_CPU_R10000 1955 bool 1956 1957config SYS_HAS_CPU_RM7000 1958 bool 1959 1960config SYS_HAS_CPU_SB1 1961 bool 1962 1963config SYS_HAS_CPU_CAVIUM_OCTEON 1964 bool 1965 1966config SYS_HAS_CPU_BMIPS 1967 bool 1968 1969config SYS_HAS_CPU_BMIPS32_3300 1970 bool 1971 select SYS_HAS_CPU_BMIPS 1972 1973config SYS_HAS_CPU_BMIPS4350 1974 bool 1975 select SYS_HAS_CPU_BMIPS 1976 1977config SYS_HAS_CPU_BMIPS4380 1978 bool 1979 select SYS_HAS_CPU_BMIPS 1980 1981config SYS_HAS_CPU_BMIPS5000 1982 bool 1983 select SYS_HAS_CPU_BMIPS 1984 1985config SYS_HAS_CPU_XLR 1986 bool 1987 1988config SYS_HAS_CPU_XLP 1989 bool 1990 1991config MIPS_MALTA_PM 1992 depends on MIPS_MALTA 1993 depends on PCI 1994 bool 1995 default y 1996 1997# 1998# CPU may reorder R->R, R->W, W->R, W->W 1999# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 2000# 2001config WEAK_ORDERING 2002 bool 2003 2004# 2005# CPU may reorder reads and writes beyond LL/SC 2006# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 2007# 2008config WEAK_REORDERING_BEYOND_LLSC 2009 bool 2010endmenu 2011 2012# 2013# These two indicate any level of the MIPS32 and MIPS64 architecture 2014# 2015config CPU_MIPS32 2016 bool 2017 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6 2018 2019config CPU_MIPS64 2020 bool 2021 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6 2022 2023# 2024# These two indicate the revision of the architecture, either Release 1 or Release 2 2025# 2026config CPU_MIPSR1 2027 bool 2028 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 2029 2030config CPU_MIPSR2 2031 bool 2032 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 2033 select CPU_HAS_RIXI 2034 select MIPS_SPRAM 2035 2036config CPU_MIPSR6 2037 bool 2038 default y if CPU_MIPS32_R6 || CPU_MIPS64_R6 2039 select CPU_HAS_RIXI 2040 select HAVE_ARCH_BITREVERSE 2041 select MIPS_ASID_BITS_VARIABLE 2042 select MIPS_SPRAM 2043 2044config EVA 2045 bool 2046 2047config XPA 2048 bool 2049 2050config SYS_SUPPORTS_32BIT_KERNEL 2051 bool 2052config SYS_SUPPORTS_64BIT_KERNEL 2053 bool 2054config CPU_SUPPORTS_32BIT_KERNEL 2055 bool 2056config CPU_SUPPORTS_64BIT_KERNEL 2057 bool 2058config CPU_SUPPORTS_CPUFREQ 2059 bool 2060config CPU_SUPPORTS_ADDRWINCFG 2061 bool 2062config CPU_SUPPORTS_HUGEPAGES 2063 bool 2064config CPU_SUPPORTS_UNCACHED_ACCELERATED 2065 bool 2066config MIPS_PGD_C0_CONTEXT 2067 bool 2068 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP 2069 2070# 2071# Set to y for ptrace access to watch registers. 2072# 2073config HARDWARE_WATCHPOINTS 2074 bool 2075 default y if CPU_MIPSR1 || CPU_MIPSR2 || CPU_MIPSR6 2076 2077menu "Kernel type" 2078 2079choice 2080 prompt "Kernel code model" 2081 help 2082 You should only select this option if you have a workload that 2083 actually benefits from 64-bit processing or if your machine has 2084 large memory. You will only be presented a single option in this 2085 menu if your system does not support both 32-bit and 64-bit kernels. 2086 2087config 32BIT 2088 bool "32-bit kernel" 2089 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 2090 select TRAD_SIGNALS 2091 help 2092 Select this option if you want to build a 32-bit kernel. 2093 2094config 64BIT 2095 bool "64-bit kernel" 2096 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 2097 help 2098 Select this option if you want to build a 64-bit kernel. 2099 2100endchoice 2101 2102config KVM_GUEST 2103 bool "KVM Guest Kernel" 2104 depends on BROKEN_ON_SMP 2105 help 2106 Select this option if building a guest kernel for KVM (Trap & Emulate) 2107 mode. 2108 2109config KVM_GUEST_TIMER_FREQ 2110 int "Count/Compare Timer Frequency (MHz)" 2111 depends on KVM_GUEST 2112 default 100 2113 help 2114 Set this to non-zero if building a guest kernel for KVM to skip RTC 2115 emulation when determining guest CPU Frequency. Instead, the guest's 2116 timer frequency is specified directly. 2117 2118config MIPS_VA_BITS_48 2119 bool "48 bits virtual memory" 2120 depends on 64BIT 2121 help 2122 Support a maximum at least 48 bits of application virtual memory. 2123 Default is 40 bits or less, depending on the CPU. 2124 This option result in a small memory overhead for page tables. 2125 This option is only supported with 16k and 64k page sizes. 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 depends on !MIPS_VA_BITS_48 2136 help 2137 This option select the standard 4kB Linux page size. On some 2138 R3000-family processors this is the only available page size. Using 2139 4kB page size will minimize memory consumption and is therefore 2140 recommended for low memory systems. 2141 2142config PAGE_SIZE_8KB 2143 bool "8kB" 2144 depends on CPU_R8000 || CPU_CAVIUM_OCTEON 2145 depends on !MIPS_VA_BITS_48 2146 help 2147 Using 8kB page size will result in higher performance kernel at 2148 the price of higher memory consumption. This option is available 2149 only on R8000 and cnMIPS processors. Note that you will need a 2150 suitable Linux distribution to support this. 2151 2152config PAGE_SIZE_16KB 2153 bool "16kB" 2154 depends on !CPU_R3000 && !CPU_TX39XX 2155 help 2156 Using 16kB page size will result in higher performance kernel at 2157 the price of higher memory consumption. This option is available on 2158 all non-R3000 family processors. Note that you will need a suitable 2159 Linux distribution to support this. 2160 2161config PAGE_SIZE_32KB 2162 bool "32kB" 2163 depends on CPU_CAVIUM_OCTEON 2164 depends on !MIPS_VA_BITS_48 2165 help 2166 Using 32kB page size will result in higher performance kernel at 2167 the price of higher memory consumption. This option is available 2168 only on cnMIPS cores. Note that you will need a suitable Linux 2169 distribution to support this. 2170 2171config PAGE_SIZE_64KB 2172 bool "64kB" 2173 depends on !CPU_R3000 && !CPU_TX39XX && !CPU_R6000 2174 help 2175 Using 64kB page size will result in higher performance kernel at 2176 the price of higher memory consumption. This option is available on 2177 all non-R3000 family processor. Not that at the time of this 2178 writing this option is still high experimental. 2179 2180endchoice 2181 2182config FORCE_MAX_ZONEORDER 2183 int "Maximum zone order" 2184 range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB 2185 default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB 2186 range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB 2187 default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB 2188 range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB 2189 default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB 2190 range 11 64 2191 default "11" 2192 help 2193 The kernel memory allocator divides physically contiguous memory 2194 blocks into "zones", where each zone is a power of two number of 2195 pages. This option selects the largest power of two that the kernel 2196 keeps in the memory allocator. If you need to allocate very large 2197 blocks of physically contiguous memory, then you may need to 2198 increase this value. 2199 2200 This config option is actually maximum order plus one. For example, 2201 a value of 11 means that the largest free memory block is 2^10 pages. 2202 2203 The page size is not necessarily 4KB. Keep this in mind 2204 when choosing a value for this option. 2205 2206config BOARD_SCACHE 2207 bool 2208 2209config IP22_CPU_SCACHE 2210 bool 2211 select BOARD_SCACHE 2212 2213# 2214# Support for a MIPS32 / MIPS64 style S-caches 2215# 2216config MIPS_CPU_SCACHE 2217 bool 2218 select BOARD_SCACHE 2219 2220config R5000_CPU_SCACHE 2221 bool 2222 select BOARD_SCACHE 2223 2224config RM7000_CPU_SCACHE 2225 bool 2226 select BOARD_SCACHE 2227 2228config SIBYTE_DMA_PAGEOPS 2229 bool "Use DMA to clear/copy pages" 2230 depends on CPU_SB1 2231 help 2232 Instead of using the CPU to zero and copy pages, use a Data Mover 2233 channel. These DMA channels are otherwise unused by the standard 2234 SiByte Linux port. Seems to give a small performance benefit. 2235 2236config CPU_HAS_PREFETCH 2237 bool 2238 2239config CPU_GENERIC_DUMP_TLB 2240 bool 2241 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX) 2242 2243config CPU_R4K_FPU 2244 bool 2245 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 2246 2247config CPU_R4K_CACHE_TLB 2248 bool 2249 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON) 2250 2251config MIPS_MT_SMP 2252 bool "MIPS MT SMP support (1 TC on each available VPE)" 2253 depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6 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_CPC 2370 select MIPS_CPS_PM if HOTPLUG_CPU 2371 select SMP 2372 select SYNC_R4K if (CEVT_R4K || CSRC_R4K) 2373 select SYS_SUPPORTS_HOTPLUG_CPU 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 select MIPS_CPC 2386 bool 2387 2388config MIPS_CM 2389 bool 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 3 if 64BIT && !PAGE_SIZE_64KB 2985 default 2 2986 2987source "init/Kconfig" 2988 2989source "kernel/Kconfig.freezer" 2990 2991menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 2992 2993config HW_HAS_EISA 2994 bool 2995config HW_HAS_PCI 2996 bool 2997 2998config PCI 2999 bool "Support for PCI controller" 3000 depends on HW_HAS_PCI 3001 select PCI_DOMAINS 3002 help 3003 Find out whether you have a PCI motherboard. PCI is the name of a 3004 bus system, i.e. the way the CPU talks to the other stuff inside 3005 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 3006 say Y, otherwise N. 3007 3008config HT_PCI 3009 bool "Support for HT-linked PCI" 3010 default y 3011 depends on CPU_LOONGSON3 3012 select PCI 3013 select PCI_DOMAINS 3014 help 3015 Loongson family machines use Hyper-Transport bus for inter-core 3016 connection and device connection. The PCI bus is a subordinate 3017 linked at HT. Choose Y for Loongson-3 based machines. 3018 3019config PCI_DOMAINS 3020 bool 3021 3022config PCI_DOMAINS_GENERIC 3023 bool 3024 3025config PCI_DRIVERS_GENERIC 3026 select PCI_DOMAINS_GENERIC if PCI_DOMAINS 3027 bool 3028 3029config PCI_DRIVERS_LEGACY 3030 def_bool !PCI_DRIVERS_GENERIC 3031 select NO_GENERIC_PCI_IOPORT_MAP 3032 3033source "drivers/pci/Kconfig" 3034 3035# 3036# ISA support is now enabled via select. Too many systems still have the one 3037# or other ISA chip on the board that users don't know about so don't expect 3038# users to choose the right thing ... 3039# 3040config ISA 3041 bool 3042 3043config EISA 3044 bool "EISA support" 3045 depends on HW_HAS_EISA 3046 select ISA 3047 select GENERIC_ISA_DMA 3048 ---help--- 3049 The Extended Industry Standard Architecture (EISA) bus was 3050 developed as an open alternative to the IBM MicroChannel bus. 3051 3052 The EISA bus provided some of the features of the IBM MicroChannel 3053 bus while maintaining backward compatibility with cards made for 3054 the older ISA bus. The EISA bus saw limited use between 1988 and 3055 1995 when it was made obsolete by the PCI bus. 3056 3057 Say Y here if you are building a kernel for an EISA-based machine. 3058 3059 Otherwise, say N. 3060 3061source "drivers/eisa/Kconfig" 3062 3063config TC 3064 bool "TURBOchannel support" 3065 depends on MACH_DECSTATION 3066 help 3067 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 3068 processors. TURBOchannel programming specifications are available 3069 at: 3070 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 3071 and: 3072 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 3073 Linux driver support status is documented at: 3074 <http://www.linux-mips.org/wiki/DECstation> 3075 3076config MMU 3077 bool 3078 default y 3079 3080config ARCH_MMAP_RND_BITS_MIN 3081 default 12 if 64BIT 3082 default 8 3083 3084config ARCH_MMAP_RND_BITS_MAX 3085 default 18 if 64BIT 3086 default 15 3087 3088config ARCH_MMAP_RND_COMPAT_BITS_MIN 3089 default 8 3090 3091config ARCH_MMAP_RND_COMPAT_BITS_MAX 3092 default 15 3093 3094config I8253 3095 bool 3096 select CLKSRC_I8253 3097 select CLKEVT_I8253 3098 select MIPS_EXTERNAL_TIMER 3099 3100config ZONE_DMA 3101 bool 3102 3103config ZONE_DMA32 3104 bool 3105 3106source "drivers/pcmcia/Kconfig" 3107 3108config RAPIDIO 3109 tristate "RapidIO support" 3110 depends on PCI 3111 default n 3112 help 3113 If you say Y here, the kernel will include drivers and 3114 infrastructure code to support RapidIO interconnect devices. 3115 3116source "drivers/rapidio/Kconfig" 3117 3118endmenu 3119 3120menu "Executable file formats" 3121 3122source "fs/Kconfig.binfmt" 3123 3124config TRAD_SIGNALS 3125 bool 3126 3127config MIPS32_COMPAT 3128 bool 3129 3130config COMPAT 3131 bool 3132 3133config SYSVIPC_COMPAT 3134 bool 3135 3136config MIPS32_O32 3137 bool "Kernel support for o32 binaries" 3138 depends on 64BIT 3139 select ARCH_WANT_OLD_COMPAT_IPC 3140 select COMPAT 3141 select MIPS32_COMPAT 3142 select SYSVIPC_COMPAT if SYSVIPC 3143 help 3144 Select this option if you want to run o32 binaries. These are pure 3145 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 3146 existing binaries are in this format. 3147 3148 If unsure, say Y. 3149 3150config MIPS32_N32 3151 bool "Kernel support for n32 binaries" 3152 depends on 64BIT 3153 select COMPAT 3154 select MIPS32_COMPAT 3155 select SYSVIPC_COMPAT if SYSVIPC 3156 help 3157 Select this option if you want to run n32 binaries. These are 3158 64-bit binaries using 32-bit quantities for addressing and certain 3159 data that would normally be 64-bit. They are used in special 3160 cases. 3161 3162 If unsure, say N. 3163 3164config BINFMT_ELF32 3165 bool 3166 default y if MIPS32_O32 || MIPS32_N32 3167 select ELFCORE 3168 3169endmenu 3170 3171menu "Power management options" 3172 3173config ARCH_HIBERNATION_POSSIBLE 3174 def_bool y 3175 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 3176 3177config ARCH_SUSPEND_POSSIBLE 3178 def_bool y 3179 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 3180 3181source "kernel/power/Kconfig" 3182 3183endmenu 3184 3185config MIPS_EXTERNAL_TIMER 3186 bool 3187 3188menu "CPU Power Management" 3189 3190if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER 3191source "drivers/cpufreq/Kconfig" 3192endif 3193 3194source "drivers/cpuidle/Kconfig" 3195 3196endmenu 3197 3198source "net/Kconfig" 3199 3200source "drivers/Kconfig" 3201 3202source "drivers/firmware/Kconfig" 3203 3204source "fs/Kconfig" 3205 3206source "arch/mips/Kconfig.debug" 3207 3208source "security/Kconfig" 3209 3210source "crypto/Kconfig" 3211 3212source "lib/Kconfig" 3213 3214source "arch/mips/kvm/Kconfig" 3215