linux/arch/mips/Kconfig
<<
>>
Prefs
   1config MIPS
   2        bool
   3        default y
   4        select HAVE_GENERIC_DMA_COHERENT
   5        select HAVE_IDE
   6        select HAVE_OPROFILE
   7        select HAVE_IRQ_WORK
   8        select HAVE_PERF_EVENTS
   9        select PERF_USE_VMALLOC
  10        select HAVE_ARCH_KGDB
  11        select HAVE_FUNCTION_TRACER
  12        select HAVE_FUNCTION_TRACE_MCOUNT_TEST
  13        select HAVE_DYNAMIC_FTRACE
  14        select HAVE_FTRACE_MCOUNT_RECORD
  15        select HAVE_C_RECORDMCOUNT
  16        select HAVE_FUNCTION_GRAPH_TRACER
  17        select HAVE_KPROBES
  18        select HAVE_KRETPROBES
  19        select RTC_LIB if !MACH_LOONGSON
  20        select GENERIC_ATOMIC64 if !64BIT
  21        select HAVE_DMA_ATTRS
  22        select HAVE_DMA_API_DEBUG
  23        select HAVE_GENERIC_HARDIRQS
  24        select GENERIC_IRQ_PROBE
  25        select GENERIC_IRQ_SHOW
  26        select HAVE_ARCH_JUMP_LABEL
  27        select IRQ_FORCED_THREADING
  28
  29menu "Machine selection"
  30
  31config ZONE_DMA
  32        bool
  33
  34choice
  35        prompt "System type"
  36        default SGI_IP22
  37
  38config MIPS_ALCHEMY
  39        bool "Alchemy processor based machines"
  40        select 64BIT_PHYS_ADDR
  41        select CEVT_R4K_LIB
  42        select CSRC_R4K_LIB
  43        select IRQ_CPU
  44        select SYS_HAS_CPU_MIPS32_R1
  45        select SYS_SUPPORTS_32BIT_KERNEL
  46        select SYS_SUPPORTS_APM_EMULATION
  47        select GENERIC_GPIO
  48        select ARCH_WANT_OPTIONAL_GPIOLIB
  49        select SYS_SUPPORTS_ZBOOT
  50        select USB_ARCH_HAS_OHCI
  51        select USB_ARCH_HAS_EHCI
  52
  53config AR7
  54        bool "Texas Instruments AR7"
  55        select BOOT_ELF32
  56        select DMA_NONCOHERENT
  57        select CEVT_R4K
  58        select CSRC_R4K
  59        select IRQ_CPU
  60        select NO_EXCEPT_FILL
  61        select SWAP_IO_SPACE
  62        select SYS_HAS_CPU_MIPS32_R1
  63        select SYS_HAS_EARLY_PRINTK
  64        select SYS_SUPPORTS_32BIT_KERNEL
  65        select SYS_SUPPORTS_LITTLE_ENDIAN
  66        select SYS_SUPPORTS_ZBOOT_UART16550
  67        select ARCH_REQUIRE_GPIOLIB
  68        select GCD
  69        select VLYNQ
  70        help
  71          Support for the Texas Instruments AR7 System-on-a-Chip
  72          family: TNETD7100, 7200 and 7300.
  73
  74config ATH79
  75        bool "Atheros AR71XX/AR724X/AR913X based boards"
  76        select ARCH_REQUIRE_GPIOLIB
  77        select BOOT_RAW
  78        select CEVT_R4K
  79        select CSRC_R4K
  80        select DMA_NONCOHERENT
  81        select IRQ_CPU
  82        select MIPS_MACHINE
  83        select SYS_HAS_CPU_MIPS32_R2
  84        select SYS_HAS_EARLY_PRINTK
  85        select SYS_SUPPORTS_32BIT_KERNEL
  86        select SYS_SUPPORTS_BIG_ENDIAN
  87        help
  88          Support for the Atheros AR71XX/AR724X/AR913X SoCs.
  89
  90config BCM47XX
  91        bool "Broadcom BCM47XX based boards"
  92        select CEVT_R4K
  93        select CSRC_R4K
  94        select DMA_NONCOHERENT
  95        select HW_HAS_PCI
  96        select IRQ_CPU
  97        select SYS_SUPPORTS_32BIT_KERNEL
  98        select SYS_SUPPORTS_LITTLE_ENDIAN
  99        select GENERIC_GPIO
 100        select SYS_HAS_EARLY_PRINTK
 101        select CFE
 102        help
 103         Support for BCM47XX based boards
 104
 105config BCM63XX
 106        bool "Broadcom BCM63XX based boards"
 107        select CEVT_R4K
 108        select CSRC_R4K
 109        select DMA_NONCOHERENT
 110        select IRQ_CPU
 111        select SYS_HAS_CPU_MIPS32_R1
 112        select SYS_SUPPORTS_32BIT_KERNEL
 113        select SYS_SUPPORTS_BIG_ENDIAN
 114        select SYS_HAS_EARLY_PRINTK
 115        select SWAP_IO_SPACE
 116        select ARCH_REQUIRE_GPIOLIB
 117        help
 118         Support for BCM63XX based boards
 119
 120config MIPS_COBALT
 121        bool "Cobalt Server"
 122        select CEVT_R4K
 123        select CSRC_R4K
 124        select CEVT_GT641XX
 125        select DMA_NONCOHERENT
 126        select HW_HAS_PCI
 127        select I8253
 128        select I8259
 129        select IRQ_CPU
 130        select IRQ_GT641XX
 131        select PCI_GT64XXX_PCI0
 132        select PCI
 133        select SYS_HAS_CPU_NEVADA
 134        select SYS_HAS_EARLY_PRINTK
 135        select SYS_SUPPORTS_32BIT_KERNEL
 136        select SYS_SUPPORTS_64BIT_KERNEL
 137        select SYS_SUPPORTS_LITTLE_ENDIAN
 138
 139config MACH_DECSTATION
 140        bool "DECstations"
 141        select BOOT_ELF32
 142        select CEVT_DS1287
 143        select CEVT_R4K
 144        select CSRC_IOASIC
 145        select CSRC_R4K
 146        select CPU_DADDI_WORKAROUNDS if 64BIT
 147        select CPU_R4000_WORKAROUNDS if 64BIT
 148        select CPU_R4400_WORKAROUNDS if 64BIT
 149        select DMA_NONCOHERENT
 150        select NO_IOPORT
 151        select IRQ_CPU
 152        select SYS_HAS_CPU_R3000
 153        select SYS_HAS_CPU_R4X00
 154        select SYS_SUPPORTS_32BIT_KERNEL
 155        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
 156        select SYS_SUPPORTS_LITTLE_ENDIAN
 157        select SYS_SUPPORTS_128HZ
 158        select SYS_SUPPORTS_256HZ
 159        select SYS_SUPPORTS_1024HZ
 160        help
 161          This enables support for DEC's MIPS based workstations.  For details
 162          see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
 163          DECstation porting pages on <http://decstation.unix-ag.org/>.
 164
 165          If you have one of the following DECstation Models you definitely
 166          want to choose R4xx0 for the CPU Type:
 167
 168                DECstation 5000/50
 169                DECstation 5000/150
 170                DECstation 5000/260
 171                DECsystem 5900/260
 172
 173          otherwise choose R3000.
 174
 175config MACH_JAZZ
 176        bool "Jazz family of machines"
 177        select ARC
 178        select ARC32
 179        select ARCH_MAY_HAVE_PC_FDC
 180        select CEVT_R4K
 181        select CSRC_R4K
 182        select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
 183        select GENERIC_ISA_DMA
 184        select HAVE_PCSPKR_PLATFORM
 185        select IRQ_CPU
 186        select I8253
 187        select I8259
 188        select ISA
 189        select SYS_HAS_CPU_R4X00
 190        select SYS_SUPPORTS_32BIT_KERNEL
 191        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
 192        select SYS_SUPPORTS_100HZ
 193        help
 194         This a family of machines based on the MIPS R4030 chipset which was
 195         used by several vendors to build RISC/os and Windows NT workstations.
 196         Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
 197         Olivetti M700-10 workstations.
 198
 199config MACH_JZ4740
 200        bool "Ingenic JZ4740 based machines"
 201        select SYS_HAS_CPU_MIPS32_R1
 202        select SYS_SUPPORTS_32BIT_KERNEL
 203        select SYS_SUPPORTS_LITTLE_ENDIAN
 204        select DMA_NONCOHERENT
 205        select IRQ_CPU
 206        select GENERIC_GPIO
 207        select ARCH_REQUIRE_GPIOLIB
 208        select SYS_HAS_EARLY_PRINTK
 209        select HAVE_PWM
 210        select HAVE_CLK
 211        select GENERIC_IRQ_CHIP
 212
 213config LANTIQ
 214        bool "Lantiq based platforms"
 215        select DMA_NONCOHERENT
 216        select IRQ_CPU
 217        select CEVT_R4K
 218        select CSRC_R4K
 219        select SYS_HAS_CPU_MIPS32_R1
 220        select SYS_HAS_CPU_MIPS32_R2
 221        select SYS_SUPPORTS_BIG_ENDIAN
 222        select SYS_SUPPORTS_32BIT_KERNEL
 223        select SYS_SUPPORTS_MULTITHREADING
 224        select SYS_HAS_EARLY_PRINTK
 225        select ARCH_REQUIRE_GPIOLIB
 226        select SWAP_IO_SPACE
 227        select BOOT_RAW
 228        select HAVE_CLK
 229        select MIPS_MACHINE
 230
 231config LASAT
 232        bool "LASAT Networks platforms"
 233        select CEVT_R4K
 234        select CSRC_R4K
 235        select DMA_NONCOHERENT
 236        select SYS_HAS_EARLY_PRINTK
 237        select HW_HAS_PCI
 238        select IRQ_CPU
 239        select PCI_GT64XXX_PCI0
 240        select MIPS_NILE4
 241        select R5000_CPU_SCACHE
 242        select SYS_HAS_CPU_R5000
 243        select SYS_SUPPORTS_32BIT_KERNEL
 244        select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
 245        select SYS_SUPPORTS_LITTLE_ENDIAN
 246
 247config MACH_LOONGSON
 248        bool "Loongson family of machines"
 249        select SYS_SUPPORTS_ZBOOT
 250        help
 251          This enables the support of Loongson family of machines.
 252
 253          Loongson is a family of general-purpose MIPS-compatible CPUs.
 254          developed at Institute of Computing Technology (ICT),
 255          Chinese Academy of Sciences (CAS) in the People's Republic
 256          of China. The chief architect is Professor Weiwu Hu.
 257
 258config MIPS_MALTA
 259        bool "MIPS Malta board"
 260        select ARCH_MAY_HAVE_PC_FDC
 261        select BOOT_ELF32
 262        select BOOT_RAW
 263        select CEVT_R4K
 264        select CSRC_R4K
 265        select DMA_NONCOHERENT
 266        select GENERIC_ISA_DMA
 267        select HAVE_PCSPKR_PLATFORM
 268        select IRQ_CPU
 269        select IRQ_GIC
 270        select HW_HAS_PCI
 271        select I8253
 272        select I8259
 273        select MIPS_BOARDS_GEN
 274        select MIPS_BONITO64
 275        select MIPS_CPU_SCACHE
 276        select PCI_GT64XXX_PCI0
 277        select MIPS_MSC
 278        select SWAP_IO_SPACE
 279        select SYS_HAS_CPU_MIPS32_R1
 280        select SYS_HAS_CPU_MIPS32_R2
 281        select SYS_HAS_CPU_MIPS64_R1
 282        select SYS_HAS_CPU_NEVADA
 283        select SYS_HAS_CPU_RM7000
 284        select SYS_HAS_EARLY_PRINTK
 285        select SYS_SUPPORTS_32BIT_KERNEL
 286        select SYS_SUPPORTS_64BIT_KERNEL
 287        select SYS_SUPPORTS_BIG_ENDIAN
 288        select SYS_SUPPORTS_LITTLE_ENDIAN
 289        select SYS_SUPPORTS_MIPS_CMP
 290        select SYS_SUPPORTS_MULTITHREADING
 291        select SYS_SUPPORTS_SMARTMIPS
 292        select SYS_SUPPORTS_ZBOOT
 293        help
 294          This enables support for the MIPS Technologies Malta evaluation
 295          board.
 296
 297config MIPS_SIM
 298        bool 'MIPS simulator (MIPSsim)'
 299        select CEVT_R4K
 300        select CSRC_R4K
 301        select DMA_NONCOHERENT
 302        select SYS_HAS_EARLY_PRINTK
 303        select IRQ_CPU
 304        select BOOT_RAW
 305        select SYS_HAS_CPU_MIPS32_R1
 306        select SYS_HAS_CPU_MIPS32_R2
 307        select SYS_HAS_EARLY_PRINTK
 308        select SYS_SUPPORTS_32BIT_KERNEL
 309        select SYS_SUPPORTS_BIG_ENDIAN
 310        select SYS_SUPPORTS_MULTITHREADING
 311        select SYS_SUPPORTS_LITTLE_ENDIAN
 312        help
 313          This option enables support for MIPS Technologies MIPSsim software
 314          emulator.
 315
 316config NEC_MARKEINS
 317        bool "NEC EMMA2RH Mark-eins board"
 318        select SOC_EMMA2RH
 319        select HW_HAS_PCI
 320        help
 321          This enables support for the NEC Electronics Mark-eins boards.
 322
 323config MACH_VR41XX
 324        bool "NEC VR4100 series based machines"
 325        select CEVT_R4K
 326        select CSRC_R4K
 327        select SYS_HAS_CPU_VR41XX
 328        select ARCH_REQUIRE_GPIOLIB
 329
 330config NXP_STB220
 331        bool "NXP STB220 board"
 332        select SOC_PNX833X
 333        help
 334         Support for NXP Semiconductors STB220 Development Board.
 335
 336config NXP_STB225
 337        bool "NXP 225 board"
 338        select SOC_PNX833X
 339        select SOC_PNX8335
 340        help
 341         Support for NXP Semiconductors STB225 Development Board.
 342
 343config PNX8550_JBS
 344        bool "NXP PNX8550 based JBS board"
 345        select PNX8550
 346        select SYS_SUPPORTS_LITTLE_ENDIAN
 347
 348config PNX8550_STB810
 349        bool "NXP PNX8550 based STB810 board"
 350        select PNX8550
 351        select SYS_SUPPORTS_LITTLE_ENDIAN
 352
 353config PMC_MSP
 354        bool "PMC-Sierra MSP chipsets"
 355        depends on EXPERIMENTAL
 356        select CEVT_R4K
 357        select CSRC_R4K
 358        select DMA_NONCOHERENT
 359        select SWAP_IO_SPACE
 360        select NO_EXCEPT_FILL
 361        select BOOT_RAW
 362        select SYS_HAS_CPU_MIPS32_R1
 363        select SYS_HAS_CPU_MIPS32_R2
 364        select SYS_SUPPORTS_32BIT_KERNEL
 365        select SYS_SUPPORTS_BIG_ENDIAN
 366        select IRQ_CPU
 367        select SERIAL_8250
 368        select SERIAL_8250_CONSOLE
 369        help
 370          This adds support for the PMC-Sierra family of Multi-Service
 371          Processor System-On-A-Chips.  These parts include a number
 372          of integrated peripherals, interfaces and DSPs in addition to
 373          a variety of MIPS cores.
 374
 375config PMC_YOSEMITE
 376        bool "PMC-Sierra Yosemite eval board"
 377        select CEVT_R4K
 378        select CSRC_R4K
 379        select DMA_COHERENT
 380        select HW_HAS_PCI
 381        select IRQ_CPU
 382        select IRQ_CPU_RM7K
 383        select IRQ_CPU_RM9K
 384        select SWAP_IO_SPACE
 385        select SYS_HAS_CPU_RM9000
 386        select SYS_HAS_EARLY_PRINTK
 387        select SYS_SUPPORTS_32BIT_KERNEL
 388        select SYS_SUPPORTS_64BIT_KERNEL
 389        select SYS_SUPPORTS_BIG_ENDIAN
 390        select SYS_SUPPORTS_HIGHMEM
 391        select SYS_SUPPORTS_SMP
 392        help
 393          Yosemite is an evaluation board for the RM9000x2 processor
 394          manufactured by PMC-Sierra.
 395
 396config POWERTV
 397        bool "Cisco PowerTV"
 398        select BOOT_ELF32
 399        select CEVT_R4K
 400        select CPU_MIPSR2_IRQ_VI
 401        select CPU_MIPSR2_IRQ_EI
 402        select CSRC_POWERTV
 403        select DMA_NONCOHERENT
 404        select HW_HAS_PCI
 405        select SYS_HAS_EARLY_PRINTK
 406        select SYS_HAS_CPU_MIPS32_R2
 407        select SYS_SUPPORTS_32BIT_KERNEL
 408        select SYS_SUPPORTS_BIG_ENDIAN
 409        select SYS_SUPPORTS_HIGHMEM
 410        select USB_OHCI_LITTLE_ENDIAN
 411        help
 412          This enables support for the Cisco PowerTV Platform.
 413
 414config SGI_IP22
 415        bool "SGI IP22 (Indy/Indigo2)"
 416        select ARC
 417        select ARC32
 418        select BOOT_ELF32
 419        select CEVT_R4K
 420        select CSRC_R4K
 421        select DEFAULT_SGI_PARTITION
 422        select DMA_NONCOHERENT
 423        select HW_HAS_EISA
 424        select I8253
 425        select I8259
 426        select IP22_CPU_SCACHE
 427        select IRQ_CPU
 428        select GENERIC_ISA_DMA_SUPPORT_BROKEN
 429        select SGI_HAS_I8042
 430        select SGI_HAS_INDYDOG
 431        select SGI_HAS_HAL2
 432        select SGI_HAS_SEEQ
 433        select SGI_HAS_WD93
 434        select SGI_HAS_ZILOG
 435        select SWAP_IO_SPACE
 436        select SYS_HAS_CPU_R4X00
 437        select SYS_HAS_CPU_R5000
 438        #
 439        # Disable EARLY_PRINTK for now since it leads to overwritten prom
 440        # memory during early boot on some machines.
 441        #
 442        # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
 443        # for a more details discussion
 444        #
 445        # select SYS_HAS_EARLY_PRINTK
 446        select SYS_SUPPORTS_32BIT_KERNEL
 447        select SYS_SUPPORTS_64BIT_KERNEL
 448        select SYS_SUPPORTS_BIG_ENDIAN
 449        help
 450          This are the SGI Indy, Challenge S and Indigo2, as well as certain
 451          OEM variants like the Tandem CMN B006S. To compile a Linux kernel
 452          that runs on these, say Y here.
 453
 454config SGI_IP27
 455        bool "SGI IP27 (Origin200/2000)"
 456        select ARC
 457        select ARC64
 458        select BOOT_ELF64
 459        select DEFAULT_SGI_PARTITION
 460        select DMA_COHERENT
 461        select SYS_HAS_EARLY_PRINTK
 462        select HW_HAS_PCI
 463        select NR_CPUS_DEFAULT_64
 464        select SYS_HAS_CPU_R10000
 465        select SYS_SUPPORTS_64BIT_KERNEL
 466        select SYS_SUPPORTS_BIG_ENDIAN
 467        select SYS_SUPPORTS_NUMA
 468        select SYS_SUPPORTS_SMP
 469        help
 470          This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
 471          workstations.  To compile a Linux kernel that runs on these, say Y
 472          here.
 473
 474config SGI_IP28
 475        bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
 476        depends on EXPERIMENTAL
 477        select ARC
 478        select ARC64
 479        select BOOT_ELF64
 480        select CEVT_R4K
 481        select CSRC_R4K
 482        select DEFAULT_SGI_PARTITION
 483        select DMA_NONCOHERENT
 484        select GENERIC_ISA_DMA_SUPPORT_BROKEN
 485        select IRQ_CPU
 486        select HW_HAS_EISA
 487        select I8253
 488        select I8259
 489        select SGI_HAS_I8042
 490        select SGI_HAS_INDYDOG
 491        select SGI_HAS_HAL2
 492        select SGI_HAS_SEEQ
 493        select SGI_HAS_WD93
 494        select SGI_HAS_ZILOG
 495        select SWAP_IO_SPACE
 496        select SYS_HAS_CPU_R10000
 497        #
 498        # Disable EARLY_PRINTK for now since it leads to overwritten prom
 499        # memory during early boot on some machines.
 500        #
 501        # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
 502        # for a more details discussion
 503        #
 504        # select SYS_HAS_EARLY_PRINTK
 505        select SYS_SUPPORTS_64BIT_KERNEL
 506        select SYS_SUPPORTS_BIG_ENDIAN
 507      help
 508        This is the SGI Indigo2 with R10000 processor.  To compile a Linux
 509        kernel that runs on these, say Y here.
 510
 511config SGI_IP32
 512        bool "SGI IP32 (O2)"
 513        select ARC
 514        select ARC32
 515        select BOOT_ELF32
 516        select CEVT_R4K
 517        select CSRC_R4K
 518        select DMA_NONCOHERENT
 519        select HW_HAS_PCI
 520        select IRQ_CPU
 521        select R5000_CPU_SCACHE
 522        select RM7000_CPU_SCACHE
 523        select SYS_HAS_CPU_R5000
 524        select SYS_HAS_CPU_R10000 if BROKEN
 525        select SYS_HAS_CPU_RM7000
 526        select SYS_HAS_CPU_NEVADA
 527        select SYS_SUPPORTS_64BIT_KERNEL
 528        select SYS_SUPPORTS_BIG_ENDIAN
 529        help
 530          If you want this kernel to run on SGI O2 workstation, say Y here.
 531
 532config SIBYTE_CRHINE
 533        bool "Sibyte BCM91120C-CRhine"
 534        depends on EXPERIMENTAL
 535        select BOOT_ELF32
 536        select DMA_COHERENT
 537        select SIBYTE_BCM1120
 538        select SWAP_IO_SPACE
 539        select SYS_HAS_CPU_SB1
 540        select SYS_SUPPORTS_BIG_ENDIAN
 541        select SYS_SUPPORTS_LITTLE_ENDIAN
 542
 543config SIBYTE_CARMEL
 544        bool "Sibyte BCM91120x-Carmel"
 545        depends on EXPERIMENTAL
 546        select BOOT_ELF32
 547        select DMA_COHERENT
 548        select SIBYTE_BCM1120
 549        select SWAP_IO_SPACE
 550        select SYS_HAS_CPU_SB1
 551        select SYS_SUPPORTS_BIG_ENDIAN
 552        select SYS_SUPPORTS_LITTLE_ENDIAN
 553
 554config SIBYTE_CRHONE
 555        bool "Sibyte BCM91125C-CRhone"
 556        depends on EXPERIMENTAL
 557        select BOOT_ELF32
 558        select DMA_COHERENT
 559        select SIBYTE_BCM1125
 560        select SWAP_IO_SPACE
 561        select SYS_HAS_CPU_SB1
 562        select SYS_SUPPORTS_BIG_ENDIAN
 563        select SYS_SUPPORTS_HIGHMEM
 564        select SYS_SUPPORTS_LITTLE_ENDIAN
 565
 566config SIBYTE_RHONE
 567        bool "Sibyte BCM91125E-Rhone"
 568        depends on EXPERIMENTAL
 569        select BOOT_ELF32
 570        select DMA_COHERENT
 571        select SIBYTE_BCM1125H
 572        select SWAP_IO_SPACE
 573        select SYS_HAS_CPU_SB1
 574        select SYS_SUPPORTS_BIG_ENDIAN
 575        select SYS_SUPPORTS_LITTLE_ENDIAN
 576
 577config SIBYTE_SWARM
 578        bool "Sibyte BCM91250A-SWARM"
 579        select BOOT_ELF32
 580        select DMA_COHERENT
 581        select HAVE_PATA_PLATFORM
 582        select NR_CPUS_DEFAULT_2
 583        select SIBYTE_SB1250
 584        select SWAP_IO_SPACE
 585        select SYS_HAS_CPU_SB1
 586        select SYS_SUPPORTS_BIG_ENDIAN
 587        select SYS_SUPPORTS_HIGHMEM
 588        select SYS_SUPPORTS_LITTLE_ENDIAN
 589        select ZONE_DMA32 if 64BIT
 590
 591config SIBYTE_LITTLESUR
 592        bool "Sibyte BCM91250C2-LittleSur"
 593        depends on EXPERIMENTAL
 594        select BOOT_ELF32
 595        select DMA_COHERENT
 596        select HAVE_PATA_PLATFORM
 597        select NR_CPUS_DEFAULT_2
 598        select SIBYTE_SB1250
 599        select SWAP_IO_SPACE
 600        select SYS_HAS_CPU_SB1
 601        select SYS_SUPPORTS_BIG_ENDIAN
 602        select SYS_SUPPORTS_HIGHMEM
 603        select SYS_SUPPORTS_LITTLE_ENDIAN
 604
 605config SIBYTE_SENTOSA
 606        bool "Sibyte BCM91250E-Sentosa"
 607        depends on EXPERIMENTAL
 608        select BOOT_ELF32
 609        select DMA_COHERENT
 610        select NR_CPUS_DEFAULT_2
 611        select SIBYTE_SB1250
 612        select SWAP_IO_SPACE
 613        select SYS_HAS_CPU_SB1
 614        select SYS_SUPPORTS_BIG_ENDIAN
 615        select SYS_SUPPORTS_LITTLE_ENDIAN
 616
 617config SIBYTE_BIGSUR
 618        bool "Sibyte BCM91480B-BigSur"
 619        select BOOT_ELF32
 620        select DMA_COHERENT
 621        select NR_CPUS_DEFAULT_4
 622        select SIBYTE_BCM1x80
 623        select SWAP_IO_SPACE
 624        select SYS_HAS_CPU_SB1
 625        select SYS_SUPPORTS_BIG_ENDIAN
 626        select SYS_SUPPORTS_HIGHMEM
 627        select SYS_SUPPORTS_LITTLE_ENDIAN
 628        select ZONE_DMA32 if 64BIT
 629
 630config SNI_RM
 631        bool "SNI RM200/300/400"
 632        select ARC if CPU_LITTLE_ENDIAN
 633        select ARC32 if CPU_LITTLE_ENDIAN
 634        select SNIPROM if CPU_BIG_ENDIAN
 635        select ARCH_MAY_HAVE_PC_FDC
 636        select BOOT_ELF32
 637        select CEVT_R4K
 638        select CSRC_R4K
 639        select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
 640        select DMA_NONCOHERENT
 641        select GENERIC_ISA_DMA
 642        select HAVE_PCSPKR_PLATFORM
 643        select HW_HAS_EISA
 644        select HW_HAS_PCI
 645        select IRQ_CPU
 646        select I8253
 647        select I8259
 648        select ISA
 649        select SWAP_IO_SPACE if CPU_BIG_ENDIAN
 650        select SYS_HAS_CPU_R4X00
 651        select SYS_HAS_CPU_R5000
 652        select SYS_HAS_CPU_R10000
 653        select R5000_CPU_SCACHE
 654        select SYS_HAS_EARLY_PRINTK
 655        select SYS_SUPPORTS_32BIT_KERNEL
 656        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
 657        select SYS_SUPPORTS_BIG_ENDIAN
 658        select SYS_SUPPORTS_HIGHMEM
 659        select SYS_SUPPORTS_LITTLE_ENDIAN
 660        help
 661          The SNI RM200/300/400 are MIPS-based machines manufactured by
 662          Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
 663          Technology and now in turn merged with Fujitsu.  Say Y here to
 664          support this machine type.
 665
 666config MACH_TX39XX
 667        bool "Toshiba TX39 series based machines"
 668
 669config MACH_TX49XX
 670        bool "Toshiba TX49 series based machines"
 671
 672config MIKROTIK_RB532
 673        bool "Mikrotik RB532 boards"
 674        select CEVT_R4K
 675        select CSRC_R4K
 676        select DMA_NONCOHERENT
 677        select HW_HAS_PCI
 678        select IRQ_CPU
 679        select SYS_HAS_CPU_MIPS32_R1
 680        select SYS_SUPPORTS_32BIT_KERNEL
 681        select SYS_SUPPORTS_LITTLE_ENDIAN
 682        select SWAP_IO_SPACE
 683        select BOOT_RAW
 684        select ARCH_REQUIRE_GPIOLIB
 685        help
 686          Support the Mikrotik(tm) RouterBoard 532 series,
 687          based on the IDT RC32434 SoC.
 688
 689config WR_PPMC
 690        bool "Wind River PPMC board"
 691        select CEVT_R4K
 692        select CSRC_R4K
 693        select IRQ_CPU
 694        select BOOT_ELF32
 695        select DMA_NONCOHERENT
 696        select HW_HAS_PCI
 697        select PCI_GT64XXX_PCI0
 698        select SWAP_IO_SPACE
 699        select SYS_HAS_CPU_MIPS32_R1
 700        select SYS_HAS_CPU_MIPS32_R2
 701        select SYS_HAS_CPU_MIPS64_R1
 702        select SYS_HAS_CPU_NEVADA
 703        select SYS_HAS_CPU_RM7000
 704        select SYS_SUPPORTS_32BIT_KERNEL
 705        select SYS_SUPPORTS_64BIT_KERNEL
 706        select SYS_SUPPORTS_BIG_ENDIAN
 707        select SYS_SUPPORTS_LITTLE_ENDIAN
 708        help
 709          This enables support for the Wind River MIPS32 4KC PPMC evaluation
 710          board, which is based on GT64120 bridge chip.
 711
 712config CAVIUM_OCTEON_SIMULATOR
 713        bool "Cavium Networks Octeon Simulator"
 714        select CEVT_R4K
 715        select 64BIT_PHYS_ADDR
 716        select DMA_COHERENT
 717        select SYS_SUPPORTS_64BIT_KERNEL
 718        select SYS_SUPPORTS_BIG_ENDIAN
 719        select SYS_SUPPORTS_HIGHMEM
 720        select SYS_SUPPORTS_HOTPLUG_CPU
 721        select SYS_HAS_CPU_CAVIUM_OCTEON
 722        select HOLES_IN_ZONE
 723        help
 724          The Octeon simulator is software performance model of the Cavium
 725          Octeon Processor. It supports simulating Octeon processors on x86
 726          hardware.
 727
 728config CAVIUM_OCTEON_REFERENCE_BOARD
 729        bool "Cavium Networks Octeon reference board"
 730        select CEVT_R4K
 731        select 64BIT_PHYS_ADDR
 732        select DMA_COHERENT
 733        select SYS_SUPPORTS_64BIT_KERNEL
 734        select SYS_SUPPORTS_BIG_ENDIAN
 735        select SYS_SUPPORTS_HIGHMEM
 736        select SYS_SUPPORTS_HOTPLUG_CPU
 737        select SYS_HAS_EARLY_PRINTK
 738        select SYS_HAS_CPU_CAVIUM_OCTEON
 739        select SWAP_IO_SPACE
 740        select HW_HAS_PCI
 741        select ARCH_SUPPORTS_MSI
 742        select ZONE_DMA32
 743        select USB_ARCH_HAS_OHCI
 744        select USB_ARCH_HAS_EHCI
 745        select HOLES_IN_ZONE
 746        help
 747          This option supports all of the Octeon reference boards from Cavium
 748          Networks. It builds a kernel that dynamically determines the Octeon
 749          CPU type and supports all known board reference implementations.
 750          Some of the supported boards are:
 751                EBT3000
 752                EBH3000
 753                EBH3100
 754                Thunder
 755                Kodama
 756                Hikari
 757          Say Y here for most Octeon reference boards.
 758
 759config NLM_XLR_BOARD
 760        bool "Netlogic XLR/XLS based systems"
 761        depends on EXPERIMENTAL
 762        select BOOT_ELF32
 763        select NLM_COMMON
 764        select NLM_XLR
 765        select SYS_HAS_CPU_XLR
 766        select SYS_SUPPORTS_SMP
 767        select HW_HAS_PCI
 768        select SWAP_IO_SPACE
 769        select SYS_SUPPORTS_32BIT_KERNEL
 770        select SYS_SUPPORTS_64BIT_KERNEL
 771        select 64BIT_PHYS_ADDR
 772        select SYS_SUPPORTS_BIG_ENDIAN
 773        select SYS_SUPPORTS_HIGHMEM
 774        select DMA_COHERENT
 775        select NR_CPUS_DEFAULT_32
 776        select CEVT_R4K
 777        select CSRC_R4K
 778        select IRQ_CPU
 779        select ZONE_DMA if 64BIT
 780        select SYNC_R4K
 781        select SYS_HAS_EARLY_PRINTK
 782        help
 783          Support for systems based on Netlogic XLR and XLS processors.
 784          Say Y here if you have a XLR or XLS based board.
 785
 786endchoice
 787
 788source "arch/mips/alchemy/Kconfig"
 789source "arch/mips/ath79/Kconfig"
 790source "arch/mips/bcm47xx/Kconfig"
 791source "arch/mips/bcm63xx/Kconfig"
 792source "arch/mips/jazz/Kconfig"
 793source "arch/mips/jz4740/Kconfig"
 794source "arch/mips/lantiq/Kconfig"
 795source "arch/mips/lasat/Kconfig"
 796source "arch/mips/pmc-sierra/Kconfig"
 797source "arch/mips/powertv/Kconfig"
 798source "arch/mips/sgi-ip27/Kconfig"
 799source "arch/mips/sibyte/Kconfig"
 800source "arch/mips/txx9/Kconfig"
 801source "arch/mips/vr41xx/Kconfig"
 802source "arch/mips/cavium-octeon/Kconfig"
 803source "arch/mips/loongson/Kconfig"
 804source "arch/mips/netlogic/Kconfig"
 805
 806endmenu
 807
 808config RWSEM_GENERIC_SPINLOCK
 809        bool
 810        default y
 811
 812config RWSEM_XCHGADD_ALGORITHM
 813        bool
 814
 815config ARCH_HAS_ILOG2_U32
 816        bool
 817        default n
 818
 819config ARCH_HAS_ILOG2_U64
 820        bool
 821        default n
 822
 823config GENERIC_HWEIGHT
 824        bool
 825        default y
 826
 827config GENERIC_CALIBRATE_DELAY
 828        bool
 829        default y
 830
 831config GENERIC_CLOCKEVENTS
 832        bool
 833        default y
 834
 835config GENERIC_CMOS_UPDATE
 836        bool
 837        default y
 838
 839config SCHED_OMIT_FRAME_POINTER
 840        bool
 841        default y
 842
 843#
 844# Select some configuration options automatically based on user selections.
 845#
 846config ARC
 847        bool
 848
 849config ARCH_MAY_HAVE_PC_FDC
 850        bool
 851
 852config BOOT_RAW
 853        bool
 854
 855config CEVT_BCM1480
 856        bool
 857
 858config CEVT_DS1287
 859        bool
 860
 861config CEVT_GT641XX
 862        bool
 863
 864config CEVT_R4K_LIB
 865        bool
 866
 867config CEVT_R4K
 868        select CEVT_R4K_LIB
 869        bool
 870
 871config CEVT_SB1250
 872        bool
 873
 874config CEVT_TXX9
 875        bool
 876
 877config CSRC_BCM1480
 878        bool
 879
 880config CSRC_IOASIC
 881        bool
 882
 883config CSRC_POWERTV
 884        bool
 885
 886config CSRC_R4K_LIB
 887        bool
 888
 889config CSRC_R4K
 890        select CSRC_R4K_LIB
 891        bool
 892
 893config CSRC_SB1250
 894        bool
 895
 896config GPIO_TXX9
 897        select GENERIC_GPIO
 898        select ARCH_REQUIRE_GPIOLIB
 899        bool
 900
 901config CFE
 902        bool
 903
 904config ARCH_DMA_ADDR_T_64BIT
 905        def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
 906
 907config DMA_COHERENT
 908        bool
 909
 910config DMA_NONCOHERENT
 911        bool
 912        select NEED_DMA_MAP_STATE
 913
 914config NEED_DMA_MAP_STATE
 915        bool
 916
 917config SYS_HAS_EARLY_PRINTK
 918        bool
 919
 920config HOTPLUG_CPU
 921        bool "Support for hot-pluggable CPUs"
 922        depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
 923        help
 924          Say Y here to allow turning CPUs off and on. CPUs can be
 925          controlled through /sys/devices/system/cpu.
 926          (Note: power management support will enable this option
 927            automatically on SMP systems. )
 928          Say N if you want to disable CPU hotplug.
 929
 930config SYS_SUPPORTS_HOTPLUG_CPU
 931        bool
 932
 933config I8259
 934        bool
 935
 936config MIPS_BONITO64
 937        bool
 938
 939config MIPS_MSC
 940        bool
 941
 942config MIPS_NILE4
 943        bool
 944
 945config MIPS_DISABLE_OBSOLETE_IDE
 946        bool
 947
 948config SYNC_R4K
 949        bool
 950
 951config MIPS_MACHINE
 952        def_bool n
 953
 954config NO_IOPORT
 955        def_bool n
 956
 957config GENERIC_ISA_DMA
 958        bool
 959        select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
 960        select ISA_DMA_API
 961
 962config GENERIC_ISA_DMA_SUPPORT_BROKEN
 963        bool
 964        select GENERIC_ISA_DMA
 965
 966config ISA_DMA_API
 967        bool
 968
 969config GENERIC_GPIO
 970        bool
 971
 972config HOLES_IN_ZONE
 973        bool
 974
 975#
 976# Endianess selection.  Sufficiently obscure so many users don't know what to
 977# answer,so we try hard to limit the available choices.  Also the use of a
 978# choice statement should be more obvious to the user.
 979#
 980choice
 981        prompt "Endianess selection"
 982        help
 983          Some MIPS machines can be configured for either little or big endian
 984          byte order. These modes require different kernels and a different
 985          Linux distribution.  In general there is one preferred byteorder for a
 986          particular system but some systems are just as commonly used in the
 987          one or the other endianness.
 988
 989config CPU_BIG_ENDIAN
 990        bool "Big endian"
 991        depends on SYS_SUPPORTS_BIG_ENDIAN
 992
 993config CPU_LITTLE_ENDIAN
 994        bool "Little endian"
 995        depends on SYS_SUPPORTS_LITTLE_ENDIAN
 996        help
 997
 998endchoice
 999
1000config EXPORT_UASM
1001        bool
1002
1003config SYS_SUPPORTS_APM_EMULATION
1004        bool
1005
1006config SYS_SUPPORTS_BIG_ENDIAN
1007        bool
1008
1009config SYS_SUPPORTS_LITTLE_ENDIAN
1010        bool
1011
1012config SYS_SUPPORTS_HUGETLBFS
1013        bool
1014        depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1015        default y
1016
1017config IRQ_CPU
1018        bool
1019
1020config IRQ_CPU_RM7K
1021        bool
1022
1023config IRQ_CPU_RM9K
1024        bool
1025
1026config IRQ_MSP_SLP
1027        bool
1028
1029config IRQ_MSP_CIC
1030        bool
1031
1032config IRQ_TXX9
1033        bool
1034
1035config IRQ_GT641XX
1036        bool
1037
1038config IRQ_GIC
1039        bool
1040
1041config MIPS_BOARDS_GEN
1042        bool
1043
1044config PCI_GT64XXX_PCI0
1045        bool
1046
1047config NO_EXCEPT_FILL
1048        bool
1049
1050config MIPS_RM9122
1051        bool
1052        select SERIAL_RM9000
1053
1054config SOC_EMMA2RH
1055        bool
1056        select CEVT_R4K
1057        select CSRC_R4K
1058        select DMA_NONCOHERENT
1059        select IRQ_CPU
1060        select SWAP_IO_SPACE
1061        select SYS_HAS_CPU_R5500
1062        select SYS_SUPPORTS_32BIT_KERNEL
1063        select SYS_SUPPORTS_64BIT_KERNEL
1064        select SYS_SUPPORTS_BIG_ENDIAN
1065
1066config SOC_PNX833X
1067        bool
1068        select CEVT_R4K
1069        select CSRC_R4K
1070        select IRQ_CPU
1071        select DMA_NONCOHERENT
1072        select SYS_HAS_CPU_MIPS32_R2
1073        select SYS_SUPPORTS_32BIT_KERNEL
1074        select SYS_SUPPORTS_LITTLE_ENDIAN
1075        select SYS_SUPPORTS_BIG_ENDIAN
1076        select GENERIC_GPIO
1077        select CPU_MIPSR2_IRQ_VI
1078
1079config SOC_PNX8335
1080        bool
1081        select SOC_PNX833X
1082
1083config PNX8550
1084        bool
1085        select SOC_PNX8550
1086
1087config SOC_PNX8550
1088        bool
1089        select DMA_NONCOHERENT
1090        select HW_HAS_PCI
1091        select SYS_HAS_CPU_MIPS32_R1
1092        select SYS_HAS_EARLY_PRINTK
1093        select SYS_SUPPORTS_32BIT_KERNEL
1094        select GENERIC_GPIO
1095
1096config SWAP_IO_SPACE
1097        bool
1098
1099config SERIAL_RM9000
1100        bool
1101
1102config SGI_HAS_INDYDOG
1103        bool
1104
1105config SGI_HAS_HAL2
1106        bool
1107
1108config SGI_HAS_SEEQ
1109        bool
1110
1111config SGI_HAS_WD93
1112        bool
1113
1114config SGI_HAS_ZILOG
1115        bool
1116
1117config SGI_HAS_I8042
1118        bool
1119
1120config DEFAULT_SGI_PARTITION
1121        bool
1122
1123config ARC32
1124        bool
1125
1126config SNIPROM
1127        bool
1128
1129config BOOT_ELF32
1130        bool
1131
1132config MIPS_L1_CACHE_SHIFT
1133        int
1134        default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1135        default "6" if MIPS_CPU_SCACHE
1136        default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1137        default "5"
1138
1139config HAVE_STD_PC_SERIAL_PORT
1140        bool
1141
1142config ARC_CONSOLE
1143        bool "ARC console support"
1144        depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1145
1146config ARC_MEMORY
1147        bool
1148        depends on MACH_JAZZ || SNI_RM || SGI_IP32
1149        default y
1150
1151config ARC_PROMLIB
1152        bool
1153        depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1154        default y
1155
1156config ARC64
1157        bool
1158
1159config BOOT_ELF64
1160        bool
1161
1162menu "CPU selection"
1163
1164choice
1165        prompt "CPU type"
1166        default CPU_R4X00
1167
1168config CPU_LOONGSON2E
1169        bool "Loongson 2E"
1170        depends on SYS_HAS_CPU_LOONGSON2E
1171        select CPU_LOONGSON2
1172        help
1173          The Loongson 2E processor implements the MIPS III instruction set
1174          with many extensions.
1175
1176          It has an internal FPGA northbridge, which is compatible to
1177          bonito64.
1178
1179config CPU_LOONGSON2F
1180        bool "Loongson 2F"
1181        depends on SYS_HAS_CPU_LOONGSON2F
1182        select CPU_LOONGSON2
1183        select GENERIC_GPIO
1184        select ARCH_REQUIRE_GPIOLIB
1185        help
1186          The Loongson 2F processor implements the MIPS III instruction set
1187          with many extensions.
1188
1189          Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1190          have a similar programming interface with FPGA northbridge used in
1191          Loongson2E.
1192
1193config CPU_MIPS32_R1
1194        bool "MIPS32 Release 1"
1195        depends on SYS_HAS_CPU_MIPS32_R1
1196        select CPU_HAS_PREFETCH
1197        select CPU_SUPPORTS_32BIT_KERNEL
1198        select CPU_SUPPORTS_HIGHMEM
1199        help
1200          Choose this option to build a kernel for release 1 or later of the
1201          MIPS32 architecture.  Most modern embedded systems with a 32-bit
1202          MIPS processor are based on a MIPS32 processor.  If you know the
1203          specific type of processor in your system, choose those that one
1204          otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1205          Release 2 of the MIPS32 architecture is available since several
1206          years so chances are you even have a MIPS32 Release 2 processor
1207          in which case you should choose CPU_MIPS32_R2 instead for better
1208          performance.
1209
1210config CPU_MIPS32_R2
1211        bool "MIPS32 Release 2"
1212        depends on SYS_HAS_CPU_MIPS32_R2
1213        select CPU_HAS_PREFETCH
1214        select CPU_SUPPORTS_32BIT_KERNEL
1215        select CPU_SUPPORTS_HIGHMEM
1216        help
1217          Choose this option to build a kernel for release 2 or later of the
1218          MIPS32 architecture.  Most modern embedded systems with a 32-bit
1219          MIPS processor are based on a MIPS32 processor.  If you know the
1220          specific type of processor in your system, choose those that one
1221          otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1222
1223config CPU_MIPS64_R1
1224        bool "MIPS64 Release 1"
1225        depends on SYS_HAS_CPU_MIPS64_R1
1226        select CPU_HAS_PREFETCH
1227        select CPU_SUPPORTS_32BIT_KERNEL
1228        select CPU_SUPPORTS_64BIT_KERNEL
1229        select CPU_SUPPORTS_HIGHMEM
1230        select CPU_SUPPORTS_HUGEPAGES
1231        help
1232          Choose this option to build a kernel for release 1 or later of the
1233          MIPS64 architecture.  Many modern embedded systems with a 64-bit
1234          MIPS processor are based on a MIPS64 processor.  If you know the
1235          specific type of processor in your system, choose those that one
1236          otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1237          Release 2 of the MIPS64 architecture is available since several
1238          years so chances are you even have a MIPS64 Release 2 processor
1239          in which case you should choose CPU_MIPS64_R2 instead for better
1240          performance.
1241
1242config CPU_MIPS64_R2
1243        bool "MIPS64 Release 2"
1244        depends on SYS_HAS_CPU_MIPS64_R2
1245        select CPU_HAS_PREFETCH
1246        select CPU_SUPPORTS_32BIT_KERNEL
1247        select CPU_SUPPORTS_64BIT_KERNEL
1248        select CPU_SUPPORTS_HIGHMEM
1249        select CPU_SUPPORTS_HUGEPAGES
1250        help
1251          Choose this option to build a kernel for release 2 or later of the
1252          MIPS64 architecture.  Many modern embedded systems with a 64-bit
1253          MIPS processor are based on a MIPS64 processor.  If you know the
1254          specific type of processor in your system, choose those that one
1255          otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1256
1257config CPU_R3000
1258        bool "R3000"
1259        depends on SYS_HAS_CPU_R3000
1260        select CPU_HAS_WB
1261        select CPU_SUPPORTS_32BIT_KERNEL
1262        select CPU_SUPPORTS_HIGHMEM
1263        help
1264          Please make sure to pick the right CPU type. Linux/MIPS is not
1265          designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1266          *not* work on R4000 machines and vice versa.  However, since most
1267          of the supported machines have an R4000 (or similar) CPU, R4x00
1268          might be a safe bet.  If the resulting kernel does not work,
1269          try to recompile with R3000.
1270
1271config CPU_TX39XX
1272        bool "R39XX"
1273        depends on SYS_HAS_CPU_TX39XX
1274        select CPU_SUPPORTS_32BIT_KERNEL
1275
1276config CPU_VR41XX
1277        bool "R41xx"
1278        depends on SYS_HAS_CPU_VR41XX
1279        select CPU_SUPPORTS_32BIT_KERNEL
1280        select CPU_SUPPORTS_64BIT_KERNEL
1281        help
1282          The options selects support for the NEC VR4100 series of processors.
1283          Only choose this option if you have one of these processors as a
1284          kernel built with this option will not run on any other type of
1285          processor or vice versa.
1286
1287config CPU_R4300
1288        bool "R4300"
1289        depends on SYS_HAS_CPU_R4300
1290        select CPU_SUPPORTS_32BIT_KERNEL
1291        select CPU_SUPPORTS_64BIT_KERNEL
1292        help
1293          MIPS Technologies R4300-series processors.
1294
1295config CPU_R4X00
1296        bool "R4x00"
1297        depends on SYS_HAS_CPU_R4X00
1298        select CPU_SUPPORTS_32BIT_KERNEL
1299        select CPU_SUPPORTS_64BIT_KERNEL
1300        help
1301          MIPS Technologies R4000-series processors other than 4300, including
1302          the R4000, R4400, R4600, and 4700.
1303
1304config CPU_TX49XX
1305        bool "R49XX"
1306        depends on SYS_HAS_CPU_TX49XX
1307        select CPU_HAS_PREFETCH
1308        select CPU_SUPPORTS_32BIT_KERNEL
1309        select CPU_SUPPORTS_64BIT_KERNEL
1310
1311config CPU_R5000
1312        bool "R5000"
1313        depends on SYS_HAS_CPU_R5000
1314        select CPU_SUPPORTS_32BIT_KERNEL
1315        select CPU_SUPPORTS_64BIT_KERNEL
1316        help
1317          MIPS Technologies R5000-series processors other than the Nevada.
1318
1319config CPU_R5432
1320        bool "R5432"
1321        depends on SYS_HAS_CPU_R5432
1322        select CPU_SUPPORTS_32BIT_KERNEL
1323        select CPU_SUPPORTS_64BIT_KERNEL
1324
1325config CPU_R5500
1326        bool "R5500"
1327        depends on SYS_HAS_CPU_R5500
1328        select CPU_SUPPORTS_32BIT_KERNEL
1329        select CPU_SUPPORTS_64BIT_KERNEL
1330        select CPU_SUPPORTS_HUGEPAGES
1331        help
1332          NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1333          instruction set.
1334
1335config CPU_R6000
1336        bool "R6000"
1337        depends on EXPERIMENTAL
1338        depends on SYS_HAS_CPU_R6000
1339        select CPU_SUPPORTS_32BIT_KERNEL
1340        help
1341          MIPS Technologies R6000 and R6000A series processors.  Note these
1342          processors are extremely rare and the support for them is incomplete.
1343
1344config CPU_NEVADA
1345        bool "RM52xx"
1346        depends on SYS_HAS_CPU_NEVADA
1347        select CPU_SUPPORTS_32BIT_KERNEL
1348        select CPU_SUPPORTS_64BIT_KERNEL
1349        help
1350          QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1351
1352config CPU_R8000
1353        bool "R8000"
1354        depends on EXPERIMENTAL
1355        depends on SYS_HAS_CPU_R8000
1356        select CPU_HAS_PREFETCH
1357        select CPU_SUPPORTS_64BIT_KERNEL
1358        help
1359          MIPS Technologies R8000 processors.  Note these processors are
1360          uncommon and the support for them is incomplete.
1361
1362config CPU_R10000
1363        bool "R10000"
1364        depends on SYS_HAS_CPU_R10000
1365        select CPU_HAS_PREFETCH
1366        select CPU_SUPPORTS_32BIT_KERNEL
1367        select CPU_SUPPORTS_64BIT_KERNEL
1368        select CPU_SUPPORTS_HIGHMEM
1369        help
1370          MIPS Technologies R10000-series processors.
1371
1372config CPU_RM7000
1373        bool "RM7000"
1374        depends on SYS_HAS_CPU_RM7000
1375        select CPU_HAS_PREFETCH
1376        select CPU_SUPPORTS_32BIT_KERNEL
1377        select CPU_SUPPORTS_64BIT_KERNEL
1378        select CPU_SUPPORTS_HIGHMEM
1379
1380config CPU_RM9000
1381        bool "RM9000"
1382        depends on SYS_HAS_CPU_RM9000
1383        select CPU_HAS_PREFETCH
1384        select CPU_SUPPORTS_32BIT_KERNEL
1385        select CPU_SUPPORTS_64BIT_KERNEL
1386        select CPU_SUPPORTS_HIGHMEM
1387        select WEAK_ORDERING
1388
1389config CPU_SB1
1390        bool "SB1"
1391        depends on SYS_HAS_CPU_SB1
1392        select CPU_SUPPORTS_32BIT_KERNEL
1393        select CPU_SUPPORTS_64BIT_KERNEL
1394        select CPU_SUPPORTS_HIGHMEM
1395        select WEAK_ORDERING
1396
1397config CPU_CAVIUM_OCTEON
1398        bool "Cavium Octeon processor"
1399        depends on SYS_HAS_CPU_CAVIUM_OCTEON
1400        select CPU_HAS_PREFETCH
1401        select CPU_SUPPORTS_64BIT_KERNEL
1402        select SYS_SUPPORTS_SMP
1403        select NR_CPUS_DEFAULT_16
1404        select WEAK_ORDERING
1405        select CPU_SUPPORTS_HIGHMEM
1406        select CPU_SUPPORTS_HUGEPAGES
1407        help
1408          The Cavium Octeon processor is a highly integrated chip containing
1409          many ethernet hardware widgets for networking tasks. The processor
1410          can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1411          Full details can be found at http://www.caviumnetworks.com.
1412
1413config CPU_BMIPS3300
1414        bool "BMIPS3300"
1415        depends on SYS_HAS_CPU_BMIPS3300
1416        select DMA_NONCOHERENT
1417        select IRQ_CPU
1418        select SWAP_IO_SPACE
1419        select SYS_SUPPORTS_32BIT_KERNEL
1420        select WEAK_ORDERING
1421        help
1422          Broadcom BMIPS3300 processors.
1423
1424config CPU_BMIPS4350
1425        bool "BMIPS4350"
1426        depends on SYS_HAS_CPU_BMIPS4350
1427        select CPU_SUPPORTS_32BIT_KERNEL
1428        select DMA_NONCOHERENT
1429        select IRQ_CPU
1430        select SWAP_IO_SPACE
1431        select SYS_SUPPORTS_SMP
1432        select SYS_SUPPORTS_HOTPLUG_CPU
1433        select WEAK_ORDERING
1434        help
1435          Broadcom BMIPS4350 ("VIPER") processors.
1436
1437config CPU_BMIPS4380
1438        bool "BMIPS4380"
1439        depends on SYS_HAS_CPU_BMIPS4380
1440        select CPU_SUPPORTS_32BIT_KERNEL
1441        select DMA_NONCOHERENT
1442        select IRQ_CPU
1443        select SWAP_IO_SPACE
1444        select SYS_SUPPORTS_SMP
1445        select SYS_SUPPORTS_HOTPLUG_CPU
1446        select WEAK_ORDERING
1447        help
1448          Broadcom BMIPS4380 processors.
1449
1450config CPU_BMIPS5000
1451        bool "BMIPS5000"
1452        depends on SYS_HAS_CPU_BMIPS5000
1453        select CPU_SUPPORTS_32BIT_KERNEL
1454        select CPU_SUPPORTS_HIGHMEM
1455        select DMA_NONCOHERENT
1456        select IRQ_CPU
1457        select SWAP_IO_SPACE
1458        select SYS_SUPPORTS_SMP
1459        select SYS_SUPPORTS_HOTPLUG_CPU
1460        select WEAK_ORDERING
1461        help
1462          Broadcom BMIPS5000 processors.
1463
1464config CPU_XLR
1465        bool "Netlogic XLR SoC"
1466        depends on SYS_HAS_CPU_XLR
1467        select CPU_SUPPORTS_32BIT_KERNEL
1468        select CPU_SUPPORTS_64BIT_KERNEL
1469        select CPU_SUPPORTS_HIGHMEM
1470        select WEAK_ORDERING
1471        select WEAK_REORDERING_BEYOND_LLSC
1472        select CPU_SUPPORTS_HUGEPAGES
1473        help
1474          Netlogic Microsystems XLR/XLS processors.
1475endchoice
1476
1477if CPU_LOONGSON2F
1478config CPU_NOP_WORKAROUNDS
1479        bool
1480
1481config CPU_JUMP_WORKAROUNDS
1482        bool
1483
1484config CPU_LOONGSON2F_WORKAROUNDS
1485        bool "Loongson 2F Workarounds"
1486        default y
1487        select CPU_NOP_WORKAROUNDS
1488        select CPU_JUMP_WORKAROUNDS
1489        help
1490          Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1491          require workarounds.  Without workarounds the system may hang
1492          unexpectedly.  For more information please refer to the gas
1493          -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1494
1495          Loongson 2F03 and later have fixed these issues and no workarounds
1496          are needed.  The workarounds have no significant side effect on them
1497          but may decrease the performance of the system so this option should
1498          be disabled unless the kernel is intended to be run on 2F01 or 2F02
1499          systems.
1500
1501          If unsure, please say Y.
1502endif # CPU_LOONGSON2F
1503
1504config SYS_SUPPORTS_ZBOOT
1505        bool
1506        select HAVE_KERNEL_GZIP
1507        select HAVE_KERNEL_BZIP2
1508        select HAVE_KERNEL_LZMA
1509        select HAVE_KERNEL_LZO
1510
1511config SYS_SUPPORTS_ZBOOT_UART16550
1512        bool
1513        select SYS_SUPPORTS_ZBOOT
1514
1515config CPU_LOONGSON2
1516        bool
1517        select CPU_SUPPORTS_32BIT_KERNEL
1518        select CPU_SUPPORTS_64BIT_KERNEL
1519        select CPU_SUPPORTS_HIGHMEM
1520
1521config SYS_HAS_CPU_LOONGSON2E
1522        bool
1523
1524config SYS_HAS_CPU_LOONGSON2F
1525        bool
1526        select CPU_SUPPORTS_CPUFREQ
1527        select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1528        select CPU_SUPPORTS_UNCACHED_ACCELERATED
1529
1530config SYS_HAS_CPU_MIPS32_R1
1531        bool
1532
1533config SYS_HAS_CPU_MIPS32_R2
1534        bool
1535
1536config SYS_HAS_CPU_MIPS64_R1
1537        bool
1538
1539config SYS_HAS_CPU_MIPS64_R2
1540        bool
1541
1542config SYS_HAS_CPU_R3000
1543        bool
1544
1545config SYS_HAS_CPU_TX39XX
1546        bool
1547
1548config SYS_HAS_CPU_VR41XX
1549        bool
1550
1551config SYS_HAS_CPU_R4300
1552        bool
1553
1554config SYS_HAS_CPU_R4X00
1555        bool
1556
1557config SYS_HAS_CPU_TX49XX
1558        bool
1559
1560config SYS_HAS_CPU_R5000
1561        bool
1562
1563config SYS_HAS_CPU_R5432
1564        bool
1565
1566config SYS_HAS_CPU_R5500
1567        bool
1568
1569config SYS_HAS_CPU_R6000
1570        bool
1571
1572config SYS_HAS_CPU_NEVADA
1573        bool
1574
1575config SYS_HAS_CPU_R8000
1576        bool
1577
1578config SYS_HAS_CPU_R10000
1579        bool
1580
1581config SYS_HAS_CPU_RM7000
1582        bool
1583
1584config SYS_HAS_CPU_RM9000
1585        bool
1586
1587config SYS_HAS_CPU_SB1
1588        bool
1589
1590config SYS_HAS_CPU_CAVIUM_OCTEON
1591        bool
1592
1593config SYS_HAS_CPU_BMIPS3300
1594        bool
1595
1596config SYS_HAS_CPU_BMIPS4350
1597        bool
1598
1599config SYS_HAS_CPU_BMIPS4380
1600        bool
1601
1602config SYS_HAS_CPU_BMIPS5000
1603        bool
1604
1605config SYS_HAS_CPU_XLR
1606        bool
1607
1608#
1609# CPU may reorder R->R, R->W, W->R, W->W
1610# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1611#
1612config WEAK_ORDERING
1613        bool
1614
1615#
1616# CPU may reorder reads and writes beyond LL/SC
1617# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1618#
1619config WEAK_REORDERING_BEYOND_LLSC
1620        bool
1621endmenu
1622
1623#
1624# These two indicate any level of the MIPS32 and MIPS64 architecture
1625#
1626config CPU_MIPS32
1627        bool
1628        default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1629
1630config CPU_MIPS64
1631        bool
1632        default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1633
1634#
1635# These two indicate the revision of the architecture, either Release 1 or Release 2
1636#
1637config CPU_MIPSR1
1638        bool
1639        default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1640
1641config CPU_MIPSR2
1642        bool
1643        default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1644
1645config SYS_SUPPORTS_32BIT_KERNEL
1646        bool
1647config SYS_SUPPORTS_64BIT_KERNEL
1648        bool
1649config CPU_SUPPORTS_32BIT_KERNEL
1650        bool
1651config CPU_SUPPORTS_64BIT_KERNEL
1652        bool
1653config CPU_SUPPORTS_CPUFREQ
1654        bool
1655config CPU_SUPPORTS_ADDRWINCFG
1656        bool
1657config CPU_SUPPORTS_HUGEPAGES
1658        bool
1659config CPU_SUPPORTS_UNCACHED_ACCELERATED
1660        bool
1661config MIPS_PGD_C0_CONTEXT
1662        bool
1663        default y if 64BIT && CPU_MIPSR2
1664
1665#
1666# Set to y for ptrace access to watch registers.
1667#
1668config HARDWARE_WATCHPOINTS
1669       bool
1670       default y if CPU_MIPSR1 || CPU_MIPSR2
1671
1672menu "Kernel type"
1673
1674choice
1675
1676        prompt "Kernel code model"
1677        help
1678          You should only select this option if you have a workload that
1679          actually benefits from 64-bit processing or if your machine has
1680          large memory.  You will only be presented a single option in this
1681          menu if your system does not support both 32-bit and 64-bit kernels.
1682
1683config 32BIT
1684        bool "32-bit kernel"
1685        depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1686        select TRAD_SIGNALS
1687        help
1688          Select this option if you want to build a 32-bit kernel.
1689config 64BIT
1690        bool "64-bit kernel"
1691        depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1692        select HAVE_SYSCALL_WRAPPERS
1693        help
1694          Select this option if you want to build a 64-bit kernel.
1695
1696endchoice
1697
1698choice
1699        prompt "Kernel page size"
1700        default PAGE_SIZE_4KB
1701
1702config PAGE_SIZE_4KB
1703        bool "4kB"
1704        depends on !CPU_LOONGSON2
1705        help
1706         This option select the standard 4kB Linux page size.  On some
1707         R3000-family processors this is the only available page size.  Using
1708         4kB page size will minimize memory consumption and is therefore
1709         recommended for low memory systems.
1710
1711config PAGE_SIZE_8KB
1712        bool "8kB"
1713        depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1714        help
1715          Using 8kB page size will result in higher performance kernel at
1716          the price of higher memory consumption.  This option is available
1717          only on R8000 and cnMIPS processors.  Note that you will need a
1718          suitable Linux distribution to support this.
1719
1720config PAGE_SIZE_16KB
1721        bool "16kB"
1722        depends on !CPU_R3000 && !CPU_TX39XX
1723        help
1724          Using 16kB page size will result in higher performance kernel at
1725          the price of higher memory consumption.  This option is available on
1726          all non-R3000 family processors.  Note that you will need a suitable
1727          Linux distribution to support this.
1728
1729config PAGE_SIZE_32KB
1730        bool "32kB"
1731        depends on CPU_CAVIUM_OCTEON
1732        help
1733          Using 32kB page size will result in higher performance kernel at
1734          the price of higher memory consumption.  This option is available
1735          only on cnMIPS cores.  Note that you will need a suitable Linux
1736          distribution to support this.
1737
1738config PAGE_SIZE_64KB
1739        bool "64kB"
1740        depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1741        help
1742          Using 64kB page size will result in higher performance kernel at
1743          the price of higher memory consumption.  This option is available on
1744          all non-R3000 family processor.  Not that at the time of this
1745          writing this option is still high experimental.
1746
1747endchoice
1748
1749config FORCE_MAX_ZONEORDER
1750        int "Maximum zone order"
1751        range 13 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1752        default "13" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1753        range 12 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1754        default "12" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1755        range 11 64
1756        default "11"
1757        help
1758          The kernel memory allocator divides physically contiguous memory
1759          blocks into "zones", where each zone is a power of two number of
1760          pages.  This option selects the largest power of two that the kernel
1761          keeps in the memory allocator.  If you need to allocate very large
1762          blocks of physically contiguous memory, then you may need to
1763          increase this value.
1764
1765          This config option is actually maximum order plus one. For example,
1766          a value of 11 means that the largest free memory block is 2^10 pages.
1767
1768          The page size is not necessarily 4KB.  Keep this in mind
1769          when choosing a value for this option.
1770
1771config BOARD_SCACHE
1772        bool
1773
1774config IP22_CPU_SCACHE
1775        bool
1776        select BOARD_SCACHE
1777
1778#
1779# Support for a MIPS32 / MIPS64 style S-caches
1780#
1781config MIPS_CPU_SCACHE
1782        bool
1783        select BOARD_SCACHE
1784
1785config R5000_CPU_SCACHE
1786        bool
1787        select BOARD_SCACHE
1788
1789config RM7000_CPU_SCACHE
1790        bool
1791        select BOARD_SCACHE
1792
1793config SIBYTE_DMA_PAGEOPS
1794        bool "Use DMA to clear/copy pages"
1795        depends on CPU_SB1
1796        help
1797          Instead of using the CPU to zero and copy pages, use a Data Mover
1798          channel.  These DMA channels are otherwise unused by the standard
1799          SiByte Linux port.  Seems to give a small performance benefit.
1800
1801config CPU_HAS_PREFETCH
1802        bool
1803
1804choice
1805        prompt "MIPS MT options"
1806
1807config MIPS_MT_DISABLED
1808        bool "Disable multithreading support."
1809        help
1810          Use this option if your workload can't take advantage of
1811          MIPS hardware multithreading support.  On systems that don't have
1812          the option of an MT-enabled processor this option will be the only
1813          option in this menu.
1814
1815config MIPS_MT_SMP
1816        bool "Use 1 TC on each available VPE for SMP"
1817        depends on SYS_SUPPORTS_MULTITHREADING
1818        select CPU_MIPSR2_IRQ_VI
1819        select CPU_MIPSR2_IRQ_EI
1820        select MIPS_MT
1821        select NR_CPUS_DEFAULT_2
1822        select SMP
1823        select SYS_SUPPORTS_SCHED_SMT if SMP
1824        select SYS_SUPPORTS_SMP
1825        select SMP_UP
1826        help
1827          This is a kernel model which is known a VSMP but lately has been
1828          marketesed into SMVP.
1829          Virtual SMP uses the processor's VPEs  to implement virtual
1830          processors. In currently available configuration of the 34K processor
1831          this allows for a dual processor. Both processors will share the same
1832          primary caches; each will obtain the half of the TLB for it's own
1833          exclusive use. For a layman this model can be described as similar to
1834          what Intel calls Hyperthreading.
1835
1836          For further information see http://www.linux-mips.org/wiki/34K#VSMP
1837
1838config MIPS_MT_SMTC
1839        bool "SMTC: Use all TCs on all VPEs for SMP"
1840        depends on CPU_MIPS32_R2
1841        #depends on CPU_MIPS64_R2               # once there is hardware ...
1842        depends on SYS_SUPPORTS_MULTITHREADING
1843        select CPU_MIPSR2_IRQ_VI
1844        select CPU_MIPSR2_IRQ_EI
1845        select MIPS_MT
1846        select NR_CPUS_DEFAULT_8
1847        select SMP
1848        select SYS_SUPPORTS_SMP
1849        select SMP_UP
1850        help
1851          This is a kernel model which is known a SMTC or lately has been
1852          marketesed into SMVP.
1853          is presenting the available TC's of the core as processors to Linux.
1854          On currently available 34K processors this means a Linux system will
1855          see up to 5 processors. The implementation of the SMTC kernel differs
1856          significantly from VSMP and cannot efficiently coexist in the same
1857          kernel binary so the choice between VSMP and SMTC is a compile time
1858          decision.
1859
1860          For further information see http://www.linux-mips.org/wiki/34K#SMTC
1861
1862endchoice
1863
1864config MIPS_MT
1865        bool
1866
1867config SCHED_SMT
1868        bool "SMT (multithreading) scheduler support"
1869        depends on SYS_SUPPORTS_SCHED_SMT
1870        default n
1871        help
1872          SMT scheduler support improves the CPU scheduler's decision making
1873          when dealing with MIPS MT enabled cores at a cost of slightly
1874          increased overhead in some places. If unsure say N here.
1875
1876config SYS_SUPPORTS_SCHED_SMT
1877        bool
1878
1879
1880config SYS_SUPPORTS_MULTITHREADING
1881        bool
1882
1883config MIPS_MT_FPAFF
1884        bool "Dynamic FPU affinity for FP-intensive threads"
1885        default y
1886        depends on MIPS_MT_SMP || MIPS_MT_SMTC
1887
1888config MIPS_VPE_LOADER
1889        bool "VPE loader support."
1890        depends on SYS_SUPPORTS_MULTITHREADING
1891        select CPU_MIPSR2_IRQ_VI
1892        select CPU_MIPSR2_IRQ_EI
1893        select MIPS_MT
1894        help
1895          Includes a loader for loading an elf relocatable object
1896          onto another VPE and running it.
1897
1898config MIPS_MT_SMTC_IM_BACKSTOP
1899        bool "Use per-TC register bits as backstop for inhibited IM bits"
1900        depends on MIPS_MT_SMTC
1901        default n
1902        help
1903          To support multiple TC microthreads acting as "CPUs" within
1904          a VPE, VPE-wide interrupt mask bits must be specially manipulated
1905          during interrupt handling. To support legacy drivers and interrupt
1906          controller management code, SMTC has a "backstop" to track and
1907          if necessary restore the interrupt mask. This has some performance
1908          impact on interrupt service overhead.
1909
1910config MIPS_MT_SMTC_IRQAFF
1911        bool "Support IRQ affinity API"
1912        depends on MIPS_MT_SMTC
1913        default n
1914        help
1915          Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1916          for SMTC Linux kernel. Requires platform support, of which
1917          an example can be found in the MIPS kernel i8259 and Malta
1918          platform code.  Adds some overhead to interrupt dispatch, and
1919          should be used only if you know what you are doing.
1920
1921config MIPS_VPE_LOADER_TOM
1922        bool "Load VPE program into memory hidden from linux"
1923        depends on MIPS_VPE_LOADER
1924        default y
1925        help
1926          The loader can use memory that is present but has been hidden from
1927          Linux using the kernel command line option "mem=xxMB". It's up to
1928          you to ensure the amount you put in the option and the space your
1929          program requires is less or equal to the amount physically present.
1930
1931# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1932config MIPS_VPE_APSP_API
1933        bool "Enable support for AP/SP API (RTLX)"
1934        depends on MIPS_VPE_LOADER
1935        help
1936
1937config MIPS_APSP_KSPD
1938        bool "Enable KSPD"
1939        depends on MIPS_VPE_APSP_API
1940        default y
1941        help
1942          KSPD is a kernel daemon that accepts syscall requests from the SP
1943          side, actions them and returns the results. It also handles the
1944          "exit" syscall notifying other kernel modules the SP program is
1945          exiting.  You probably want to say yes here.
1946
1947config MIPS_CMP
1948        bool "MIPS CMP framework support"
1949        depends on SYS_SUPPORTS_MIPS_CMP
1950        select SYNC_R4K
1951        select SYS_SUPPORTS_SMP
1952        select SYS_SUPPORTS_SCHED_SMT if SMP
1953        select WEAK_ORDERING
1954        default n
1955        help
1956          This is a placeholder option for the GCMP work. It will need to
1957          be handled differently...
1958
1959config SB1_PASS_1_WORKAROUNDS
1960        bool
1961        depends on CPU_SB1_PASS_1
1962        default y
1963
1964config SB1_PASS_2_WORKAROUNDS
1965        bool
1966        depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1967        default y
1968
1969config SB1_PASS_2_1_WORKAROUNDS
1970        bool
1971        depends on CPU_SB1 && CPU_SB1_PASS_2
1972        default y
1973
1974config 64BIT_PHYS_ADDR
1975        bool
1976
1977config ARCH_PHYS_ADDR_T_64BIT
1978       def_bool 64BIT_PHYS_ADDR
1979
1980config CPU_HAS_SMARTMIPS
1981        depends on SYS_SUPPORTS_SMARTMIPS
1982        bool "Support for the SmartMIPS ASE"
1983        help
1984          SmartMIPS is a extension of the MIPS32 architecture aimed at
1985          increased security at both hardware and software level for
1986          smartcards.  Enabling this option will allow proper use of the
1987          SmartMIPS instructions by Linux applications.  However a kernel with
1988          this option will not work on a MIPS core without SmartMIPS core.  If
1989          you don't know you probably don't have SmartMIPS and should say N
1990          here.
1991
1992config CPU_HAS_WB
1993        bool
1994
1995#
1996# Vectored interrupt mode is an R2 feature
1997#
1998config CPU_MIPSR2_IRQ_VI
1999        bool
2000
2001#
2002# Extended interrupt mode is an R2 feature
2003#
2004config CPU_MIPSR2_IRQ_EI
2005        bool
2006
2007config CPU_HAS_SYNC
2008        bool
2009        depends on !CPU_R3000
2010        default y
2011
2012config GENERIC_CLOCKEVENTS_BROADCAST
2013        bool
2014
2015#
2016# CPU non-features
2017#
2018config CPU_DADDI_WORKAROUNDS
2019        bool
2020
2021config CPU_R4000_WORKAROUNDS
2022        bool
2023        select CPU_R4400_WORKAROUNDS
2024
2025config CPU_R4400_WORKAROUNDS
2026        bool
2027
2028#
2029# - Highmem only makes sense for the 32-bit kernel.
2030# - The current highmem code will only work properly on physically indexed
2031#   caches such as R3000, SB1, R7000 or those that look like they're virtually
2032#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
2033#   moment we protect the user and offer the highmem option only on machines
2034#   where it's known to be safe.  This will not offer highmem on a few systems
2035#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2036#   indexed CPUs but we're playing safe.
2037# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2038#   know they might have memory configurations that could make use of highmem
2039#   support.
2040#
2041config HIGHMEM
2042        bool "High Memory Support"
2043        depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2044
2045config CPU_SUPPORTS_HIGHMEM
2046        bool
2047
2048config SYS_SUPPORTS_HIGHMEM
2049        bool
2050
2051config SYS_SUPPORTS_SMARTMIPS
2052        bool
2053
2054config ARCH_FLATMEM_ENABLE
2055        def_bool y
2056        depends on !NUMA && !CPU_LOONGSON2
2057
2058config ARCH_DISCONTIGMEM_ENABLE
2059        bool
2060        default y if SGI_IP27
2061        help
2062          Say Y to support efficient handling of discontiguous physical memory,
2063          for architectures which are either NUMA (Non-Uniform Memory Access)
2064          or have huge holes in the physical address space for other reasons.
2065          See <file:Documentation/vm/numa> for more.
2066
2067config ARCH_POPULATES_NODE_MAP
2068        def_bool y
2069
2070config ARCH_SPARSEMEM_ENABLE
2071        bool
2072        select SPARSEMEM_STATIC
2073
2074config NUMA
2075        bool "NUMA Support"
2076        depends on SYS_SUPPORTS_NUMA
2077        help
2078          Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2079          Access).  This option improves performance on systems with more
2080          than two nodes; on two node systems it is generally better to
2081          leave it disabled; on single node systems disable this option
2082          disabled.
2083
2084config SYS_SUPPORTS_NUMA
2085        bool
2086
2087config NODES_SHIFT
2088        int
2089        default "6"
2090        depends on NEED_MULTIPLE_NODES
2091
2092config HW_PERF_EVENTS
2093        bool "Enable hardware performance counter support for perf events"
2094        depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON)
2095        default y
2096        help
2097          Enable hardware performance counter support for perf events. If
2098          disabled, perf events will use software events only.
2099
2100source "mm/Kconfig"
2101
2102config SMP
2103        bool "Multi-Processing support"
2104        depends on SYS_SUPPORTS_SMP
2105        select IRQ_PER_CPU
2106        select USE_GENERIC_SMP_HELPERS
2107        help
2108          This enables support for systems with more than one CPU. If you have
2109          a system with only one CPU, like most personal computers, say N. If
2110          you have a system with more than one CPU, say Y.
2111
2112          If you say N here, the kernel will run on single and multiprocessor
2113          machines, but will use only one CPU of a multiprocessor machine. If
2114          you say Y here, the kernel will run on many, but not all,
2115          singleprocessor machines. On a singleprocessor machine, the kernel
2116          will run faster if you say N here.
2117
2118          People using multiprocessor machines who say Y here should also say
2119          Y to "Enhanced Real Time Clock Support", below.
2120
2121          See also the SMP-HOWTO available at
2122          <http://www.tldp.org/docs.html#howto>.
2123
2124          If you don't know what to do here, say N.
2125
2126config SMP_UP
2127        bool
2128
2129config SYS_SUPPORTS_MIPS_CMP
2130        bool
2131
2132config SYS_SUPPORTS_SMP
2133        bool
2134
2135config NR_CPUS_DEFAULT_1
2136        bool
2137
2138config NR_CPUS_DEFAULT_2
2139        bool
2140
2141config NR_CPUS_DEFAULT_4
2142        bool
2143
2144config NR_CPUS_DEFAULT_8
2145        bool
2146
2147config NR_CPUS_DEFAULT_16
2148        bool
2149
2150config NR_CPUS_DEFAULT_32
2151        bool
2152
2153config NR_CPUS_DEFAULT_64
2154        bool
2155
2156config NR_CPUS
2157        int "Maximum number of CPUs (2-64)"
2158        range 1 64 if NR_CPUS_DEFAULT_1
2159        depends on SMP
2160        default "1" if NR_CPUS_DEFAULT_1
2161        default "2" if NR_CPUS_DEFAULT_2
2162        default "4" if NR_CPUS_DEFAULT_4
2163        default "8" if NR_CPUS_DEFAULT_8
2164        default "16" if NR_CPUS_DEFAULT_16
2165        default "32" if NR_CPUS_DEFAULT_32
2166        default "64" if NR_CPUS_DEFAULT_64
2167        help
2168          This allows you to specify the maximum number of CPUs which this
2169          kernel will support.  The maximum supported value is 32 for 32-bit
2170          kernel and 64 for 64-bit kernels; the minimum value which makes
2171          sense is 1 for Qemu (useful only for kernel debugging purposes)
2172          and 2 for all others.
2173
2174          This is purely to save memory - each supported CPU adds
2175          approximately eight kilobytes to the kernel image.  For best
2176          performance should round up your number of processors to the next
2177          power of two.
2178
2179source "kernel/time/Kconfig"
2180
2181#
2182# Timer Interrupt Frequency Configuration
2183#
2184
2185choice
2186        prompt "Timer frequency"
2187        default HZ_250
2188        help
2189         Allows the configuration of the timer frequency.
2190
2191        config HZ_48
2192                bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2193
2194        config HZ_100
2195                bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2196
2197        config HZ_128
2198                bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2199
2200        config HZ_250
2201                bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2202
2203        config HZ_256
2204                bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2205
2206        config HZ_1000
2207                bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2208
2209        config HZ_1024
2210                bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2211
2212endchoice
2213
2214config SYS_SUPPORTS_48HZ
2215        bool
2216
2217config SYS_SUPPORTS_100HZ
2218        bool
2219
2220config SYS_SUPPORTS_128HZ
2221        bool
2222
2223config SYS_SUPPORTS_250HZ
2224        bool
2225
2226config SYS_SUPPORTS_256HZ
2227        bool
2228
2229config SYS_SUPPORTS_1000HZ
2230        bool
2231
2232config SYS_SUPPORTS_1024HZ
2233        bool
2234
2235config SYS_SUPPORTS_ARBIT_HZ
2236        bool
2237        default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2238                     !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2239                     !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2240                     !SYS_SUPPORTS_1024HZ
2241
2242config HZ
2243        int
2244        default 48 if HZ_48
2245        default 100 if HZ_100
2246        default 128 if HZ_128
2247        default 250 if HZ_250
2248        default 256 if HZ_256
2249        default 1000 if HZ_1000
2250        default 1024 if HZ_1024
2251
2252source "kernel/Kconfig.preempt"
2253
2254config KEXEC
2255        bool "Kexec system call (EXPERIMENTAL)"
2256        depends on EXPERIMENTAL
2257        help
2258          kexec is a system call that implements the ability to shutdown your
2259          current kernel, and to start another kernel.  It is like a reboot
2260          but it is independent of the system firmware.   And like a reboot
2261          you can start any kernel with it, not just Linux.
2262
2263          The name comes from the similarity to the exec system call.
2264
2265          It is an ongoing process to be certain the hardware in a machine
2266          is properly shutdown, so do not be surprised if this code does not
2267          initially work for you.  It may help to enable device hotplugging
2268          support.  As of this writing the exact hardware interface is
2269          strongly in flux, so no good recommendation can be made.
2270
2271config SECCOMP
2272        bool "Enable seccomp to safely compute untrusted bytecode"
2273        depends on PROC_FS
2274        default y
2275        help
2276          This kernel feature is useful for number crunching applications
2277          that may need to compute untrusted bytecode during their
2278          execution. By using pipes or other transports made available to
2279          the process as file descriptors supporting the read/write
2280          syscalls, it's possible to isolate those applications in
2281          their own address space using seccomp. Once seccomp is
2282          enabled via /proc/<pid>/seccomp, it cannot be disabled
2283          and the task is only allowed to execute a few safe syscalls
2284          defined by each seccomp mode.
2285
2286          If unsure, say Y. Only embedded should say N here.
2287
2288config USE_OF
2289        bool "Flattened Device Tree support"
2290        select OF
2291        select OF_EARLY_FLATTREE
2292        help
2293          Include support for flattened device tree machine descriptions.
2294
2295endmenu
2296
2297config LOCKDEP_SUPPORT
2298        bool
2299        default y
2300
2301config STACKTRACE_SUPPORT
2302        bool
2303        default y
2304
2305source "init/Kconfig"
2306
2307source "kernel/Kconfig.freezer"
2308
2309menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2310
2311config HW_HAS_EISA
2312        bool
2313config HW_HAS_PCI
2314        bool
2315
2316config PCI
2317        bool "Support for PCI controller"
2318        depends on HW_HAS_PCI
2319        select PCI_DOMAINS
2320        help
2321          Find out whether you have a PCI motherboard. PCI is the name of a
2322          bus system, i.e. the way the CPU talks to the other stuff inside
2323          your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2324          say Y, otherwise N.
2325
2326config PCI_DOMAINS
2327        bool
2328
2329source "drivers/pci/Kconfig"
2330
2331#
2332# ISA support is now enabled via select.  Too many systems still have the one
2333# or other ISA chip on the board that users don't know about so don't expect
2334# users to choose the right thing ...
2335#
2336config ISA
2337        bool
2338
2339config EISA
2340        bool "EISA support"
2341        depends on HW_HAS_EISA
2342        select ISA
2343        select GENERIC_ISA_DMA
2344        ---help---
2345          The Extended Industry Standard Architecture (EISA) bus was
2346          developed as an open alternative to the IBM MicroChannel bus.
2347
2348          The EISA bus provided some of the features of the IBM MicroChannel
2349          bus while maintaining backward compatibility with cards made for
2350          the older ISA bus.  The EISA bus saw limited use between 1988 and
2351          1995 when it was made obsolete by the PCI bus.
2352
2353          Say Y here if you are building a kernel for an EISA-based machine.
2354
2355          Otherwise, say N.
2356
2357source "drivers/eisa/Kconfig"
2358
2359config TC
2360        bool "TURBOchannel support"
2361        depends on MACH_DECSTATION
2362        help
2363          TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2364          processors.  TURBOchannel programming specifications are available
2365          at:
2366          <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2367          and:
2368          <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2369          Linux driver support status is documented at:
2370          <http://www.linux-mips.org/wiki/DECstation>
2371
2372#config ACCESSBUS
2373#       bool "Access.Bus support"
2374#       depends on TC
2375
2376config MMU
2377        bool
2378        default y
2379
2380config I8253
2381        bool
2382        select CLKSRC_I8253
2383        select CLKEVT_I8253
2384        select MIPS_EXTERNAL_TIMER
2385
2386config ZONE_DMA32
2387        bool
2388
2389source "drivers/pcmcia/Kconfig"
2390
2391source "drivers/pci/hotplug/Kconfig"
2392
2393config RAPIDIO
2394        bool "RapidIO support"
2395        depends on PCI
2396        default n
2397        help
2398          If you say Y here, the kernel will include drivers and
2399          infrastructure code to support RapidIO interconnect devices.
2400
2401source "drivers/rapidio/Kconfig"
2402
2403endmenu
2404
2405menu "Executable file formats"
2406
2407source "fs/Kconfig.binfmt"
2408
2409config TRAD_SIGNALS
2410        bool
2411
2412config MIPS32_COMPAT
2413        bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2414        depends on 64BIT
2415        help
2416          Select this option if you want Linux/MIPS 32-bit binary
2417          compatibility. Since all software available for Linux/MIPS is
2418          currently 32-bit you should say Y here.
2419
2420config COMPAT
2421        bool
2422        depends on MIPS32_COMPAT
2423        default y
2424
2425config SYSVIPC_COMPAT
2426        bool
2427        depends on COMPAT && SYSVIPC
2428        default y
2429
2430config MIPS32_O32
2431        bool "Kernel support for o32 binaries"
2432        depends on MIPS32_COMPAT
2433        help
2434          Select this option if you want to run o32 binaries.  These are pure
2435          32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2436          existing binaries are in this format.
2437
2438          If unsure, say Y.
2439
2440config MIPS32_N32
2441        bool "Kernel support for n32 binaries"
2442        depends on MIPS32_COMPAT
2443        help
2444          Select this option if you want to run n32 binaries.  These are
2445          64-bit binaries using 32-bit quantities for addressing and certain
2446          data that would normally be 64-bit.  They are used in special
2447          cases.
2448
2449          If unsure, say N.
2450
2451config BINFMT_ELF32
2452        bool
2453        default y if MIPS32_O32 || MIPS32_N32
2454
2455endmenu
2456
2457menu "Power management options"
2458
2459config ARCH_HIBERNATION_POSSIBLE
2460        def_bool y
2461        depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2462
2463config ARCH_SUSPEND_POSSIBLE
2464        def_bool y
2465        depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2466
2467source "kernel/power/Kconfig"
2468
2469endmenu
2470
2471source "arch/mips/kernel/cpufreq/Kconfig"
2472
2473source "net/Kconfig"
2474
2475source "drivers/Kconfig"
2476
2477source "fs/Kconfig"
2478
2479source "arch/mips/Kconfig.debug"
2480
2481source "security/Kconfig"
2482
2483source "crypto/Kconfig"
2484
2485source "lib/Kconfig"
2486
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.