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