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