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