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