ide: introduce HAVE_IDE
[safe/jmp/linux-2.6] / arch / mips / Kconfig
index 7080e71..ade230d 100644 (file)
@@ -1,8 +1,11 @@
 config MIPS
        bool
        default y
+       select HAVE_IDE
+       select HAVE_OPROFILE
        # Horrible source of confusion.  Die, die, die ...
        select EMBEDDED
+       select RTC_LIB
 
 mainmenu "Linux/MIPS Kernel Configuration"
 
@@ -20,6 +23,8 @@ config MACH_ALCHEMY
 
 config BASLER_EXCITE
        bool "Basler eXcite smart camera"
+       select CEVT_R4K
+       select CSRC_R4K
        select DMA_COHERENT
        select HW_HAS_PCI
        select IRQ_CPU
@@ -28,43 +33,61 @@ config BASLER_EXCITE
        select MIPS_RM9122
        select SYS_HAS_CPU_RM9000
        select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_KGDB
        help
          The eXcite is a smart camera platform manufactured by
          Basler Vision Technologies AG.
 
-config BASLER_EXCITE_PROTOTYPE
-       bool "Support for pre-release units"
-       depends on BASLER_EXCITE
-       default n
+config BCM47XX
+       bool "BCM47XX based boards"
+       select CEVT_R4K
+       select CSRC_R4K
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
+       select IRQ_CPU
+       select SYS_HAS_CPU_MIPS32_R1
+       select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_LITTLE_ENDIAN
+       select SSB
+       select SSB_DRIVER_MIPS
+       select SSB_DRIVER_EXTIF
+       select SSB_PCICORE_HOSTMODE if PCI
+       select GENERIC_GPIO
+       select SYS_HAS_EARLY_PRINTK
+       select CFE
        help
-         Pre-series (prototype) units are different from later ones in
-         some ways. Select this option if you have one of these. Please
-         note that a kernel built with this option selected will not be
-         able to run on normal units.
+        Support for BCM47XX based boards
 
 config MIPS_COBALT
        bool "Cobalt Server"
+       select CEVT_R4K
+       select CSRC_R4K
+       select CEVT_GT641XX
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select I8253
        select I8259
        select IRQ_CPU
+       select IRQ_GT641XX
        select PCI_GT64XXX_PCI0
        select SYS_HAS_CPU_NEVADA
        select SYS_HAS_EARLY_PRINTK
        select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
+       select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select GENERIC_HARDIRQS_NO__DO_IRQ
 
 config MACH_DECSTATION
        bool "DECstations"
        select BOOT_ELF32
+       select CEVT_R4K
+       select CSRC_R4K
+       select CPU_DADDI_WORKAROUNDS if 64BIT
+       select CPU_R4000_WORKAROUNDS if 64BIT
+       select CPU_R4400_WORKAROUNDS if 64BIT
        select DMA_NONCOHERENT
        select NO_IOPORT
-       select SYS_HAS_EARLY_PRINTK
        select IRQ_CPU
        select SYS_HAS_CPU_R3000
        select SYS_HAS_CPU_R4X00
@@ -82,37 +105,23 @@ config MACH_DECSTATION
          If you have one of the following DECstation Models you definitely
          want to choose R4xx0 for the CPU Type:
 
-               DECstation 5000/50
-               DECstation 5000/150
-               DECstation 5000/260
-               DECsystem 5900/260
+               DECstation 5000/50
+               DECstation 5000/150
+               DECstation 5000/260
+               DECsystem 5900/260
 
          otherwise choose R3000.
 
-config MIPS_EV64120
-       bool "Galileo EV64120 Evaluation board (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select PCI_GT64XXX_PCI0
-       select SYS_HAS_CPU_R5000
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_KGDB
-       help
-         This is an evaluation board based on the Galileo GT-64120
-         single-chip system controller that contains a MIPS R5000 compatible
-         core running at 75/100MHz.  Their website is located at
-         <http://www.marvell.com/>.  Say Y here if you wish to build a
-         kernel for this platform.
-
 config MACH_JAZZ
        bool "Jazz family of machines"
        select ARC
        select ARC32
        select ARCH_MAY_HAVE_PC_FDC
+       select CEVT_R4K
+       select CSRC_R4K
+       select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
        select GENERIC_ISA_DMA
+       select IRQ_CPU
        select I8253
        select I8259
        select ISA
@@ -129,9 +138,12 @@ config MACH_JAZZ
 
 config LASAT
        bool "LASAT Networks platforms"
+       select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select SYS_HAS_EARLY_PRINTK
        select HW_HAS_PCI
+       select IRQ_CPU
        select PCI_GT64XXX_PCI0
        select MIPS_NILE4
        select R5000_CPU_SCACHE
@@ -141,9 +153,38 @@ config LASAT
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select GENERIC_HARDIRQS_NO__DO_IRQ
 
+config LEMOTE_FULONG
+       bool "Lemote Fulong mini-PC"
+       select ARCH_SPARSEMEM_ENABLE
+       select CEVT_R4K
+       select CSRC_R4K
+       select SYS_HAS_CPU_LOONGSON2
+       select DMA_NONCOHERENT
+       select BOOT_ELF32
+       select BOARD_SCACHE
+       select HAVE_STD_PC_SERIAL_PORT
+       select HW_HAS_PCI
+       select I8259
+       select ISA
+       select IRQ_CPU
+       select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_64BIT_KERNEL
+       select SYS_SUPPORTS_LITTLE_ENDIAN
+       select SYS_SUPPORTS_HIGHMEM
+       select SYS_HAS_EARLY_PRINTK
+       select GENERIC_HARDIRQS_NO__DO_IRQ
+       select GENERIC_ISA_DMA_SUPPORT_BROKEN
+       select CPU_HAS_WB
+       help
+         Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
+         an FPGA northbridge
+
 config MIPS_ATLAS
        bool "MIPS Atlas board"
        select BOOT_ELF32
+       select BOOT_RAW
+       select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select SYS_HAS_EARLY_PRINTK
        select IRQ_CPU
@@ -174,11 +215,14 @@ config MIPS_MALTA
        bool "MIPS Malta board"
        select ARCH_MAY_HAVE_PC_FDC
        select BOOT_ELF32
-       select HAVE_STD_PC_SERIAL_PORT
+       select BOOT_RAW
+       select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select GENERIC_ISA_DMA
        select IRQ_CPU
        select HW_HAS_PCI
+       select I8253
        select I8259
        select MIPS_BOARDS_GEN
        select MIPS_BONITO64
@@ -203,8 +247,9 @@ config MIPS_MALTA
          board.
 
 config MIPS_SEAD
-       bool "MIPS SEAD board (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
+       bool "MIPS SEAD board"
+       select CEVT_R4K
+       select CSRC_R4K
        select IRQ_CPU
        select DMA_NONCOHERENT
        select SYS_HAS_EARLY_PRINTK
@@ -221,32 +266,14 @@ config MIPS_SEAD
          This enables support for the MIPS Technologies SEAD evaluation
          board.
 
-config WR_PPMC
-       bool "Wind River PPMC board"
-       select IRQ_CPU
-       select BOOT_ELF32
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select PCI_GT64XXX_PCI0
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_HAS_CPU_MIPS32_R2
-       select SYS_HAS_CPU_MIPS64_R1
-       select SYS_HAS_CPU_NEVADA
-       select SYS_HAS_CPU_RM7000
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-       help
-         This enables support for the Wind River MIPS32 4KC PPMC evaluation
-         board, which is based on GT64120 bridge chip.
-
 config MIPS_SIM
        bool 'MIPS simulator (MIPSsim)'
+       select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select SYS_HAS_EARLY_PRINTK
        select IRQ_CPU
+       select BOOT_RAW
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_HAS_CPU_MIPS32_R2
        select SYS_HAS_EARLY_PRINTK
@@ -258,60 +285,28 @@ config MIPS_SIM
          This option enables support for MIPS Technologies MIPSsim software
          emulator.
 
-config MOMENCO_OCELOT
-       bool "Momentum Ocelot board"
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select IRQ_CPU
-       select IRQ_CPU_RM7K
-       select PCI_GT64XXX_PCI0
-       select RM7000_CPU_SCACHE
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_RM7000
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_KGDB
-       help
-         The Ocelot is a MIPS-based Single Board Computer (SBC) made by
-         Momentum Computer <http://www.momenco.com/>.
-
-config MOMENCO_OCELOT_3
-       bool "Momentum Ocelot-3 board"
-       select BOOT_ELF32
+config MARKEINS
+       bool "NEC EMMA2RH Mark-eins"
+       select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select IRQ_CPU
-       select IRQ_CPU_RM7K
-       select IRQ_MV64340
-       select PCI_MARVELL
-       select RM7000_CPU_SCACHE
        select SWAP_IO_SPACE
-       select SYS_HAS_CPU_RM9000
        select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_LITTLE_ENDIAN
+       select SYS_HAS_CPU_R5000
        help
-         The Ocelot-3 is based off Discovery III System Controller and
-         PMC-Sierra Rm79000 core.
+         This enables support for the R5432-based NEC Mark-eins
+         boards with R5500 CPU.
 
-config MOMENCO_OCELOT_C
-       bool "Momentum Ocelot-C board"
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select IRQ_CPU
-       select IRQ_MV64340
-       select PCI_MARVELL
-       select RM7000_CPU_SCACHE
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_RM7000
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
-       select SYS_SUPPORTS_BIG_ENDIAN
+config MACH_VR41XX
+       bool "NEC VR4100 series based machines"
+       select CEVT_R4K
+       select CSRC_R4K
+       select SYS_HAS_CPU_VR41XX
        select GENERIC_HARDIRQS_NO__DO_IRQ
-       help
-         The Ocelot is a MIPS-based Single Board Computer (SBC) made by
-         Momentum Computer <http://www.momenco.com/>.
 
 config PNX8550_JBS
        bool "Philips PNX8550 based JBS board"
@@ -323,33 +318,31 @@ config PNX8550_STB810
        select PNX8550
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
-config DDB5477
-       bool "NEC DDB Vrc-5477"
-       select DDB5XXX_COMMON
+config PMC_MSP
+       bool "PMC-Sierra MSP chipsets"
+       depends on EXPERIMENTAL
        select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select I8259
-       select IRQ_CPU
-       select SYS_HAS_CPU_R5432
+       select SWAP_IO_SPACE
+       select NO_EXCEPT_FILL
+       select BOOT_RAW
+       select SYS_HAS_CPU_MIPS32_R1
+       select SYS_HAS_CPU_MIPS32_R2
        select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
-       select SYS_SUPPORTS_KGDB
+       select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_KGDB
-       select SYS_SUPPORTS_LITTLE_ENDIAN
+       select IRQ_CPU
+       select SERIAL_8250
+       select SERIAL_8250_CONSOLE
        help
-         This enables support for the R5432-based NEC DDB Vrc-5477,
-         or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
-
-         Features : kernel debugging, serial terminal, NFS root fs, on-board
-         ether port USB, AC97, PCI, etc.
-
-config MACH_VR41XX
-       bool "NEC VR4100 series based machines"
-       select SYS_HAS_CPU_VR41XX
-       select GENERIC_HARDIRQS_NO__DO_IRQ
+         This adds support for the PMC-Sierra family of Multi-Service
+         Processor System-On-A-Chips.  These parts include a number
+         of integrated peripherals, interfaces and DSPs in addition to
+         a variety of MIPS cores.
 
 config PMC_YOSEMITE
        bool "PMC-Sierra Yosemite eval board"
+       select CEVT_R4K
+       select CSRC_R4K
        select DMA_COHERENT
        select HW_HAS_PCI
        select IRQ_CPU
@@ -368,55 +361,27 @@ config PMC_YOSEMITE
          Yosemite is an evaluation board for the RM9000x2 processor
          manufactured by PMC-Sierra.
 
-config QEMU
-       bool "Qemu"
-       select DMA_COHERENT
-       select GENERIC_ISA_DMA
-       select HAVE_STD_PC_SERIAL_PORT
-       select I8253
-       select I8259
-       select ISA
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-       select ARCH_SPARSEMEM_ENABLE
-       select GENERIC_HARDIRQS_NO__DO_IRQ
-       select NR_CPUS_DEFAULT_1
-       select SYS_SUPPORTS_SMP
-       help
-         Qemu is a software emulator which among other architectures also
-         can simulate a MIPS32 4Kc system.  This patch adds support for the
-         system architecture that currently is being simulated by Qemu.  It
-         will eventually be removed again when Qemu has the capability to
-         simulate actual MIPS hardware platforms.  More information on Qemu
-         can be found at http://www.linux-mips.org/wiki/Qemu.
-
-config MARKEINS
-       bool "NEC EMMA2RH Mark-eins"
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select IRQ_CPU
-       select SWAP_IO_SPACE
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-       select SYS_HAS_CPU_R5000
-       help
-         This enables support for the R5432-based NEC Mark-eins
-         boards with R5500 CPU.
-
 config SGI_IP22
        bool "SGI IP22 (Indy/Indigo2)"
        select ARC
        select ARC32
        select BOOT_ELF32
+       select CEVT_R4K
+       select CSRC_R4K
+       select DEFAULT_SGI_PARTITION
        select DMA_NONCOHERENT
        select HW_HAS_EISA
+       select I8253
+       select I8259
        select IP22_CPU_SCACHE
        select IRQ_CPU
        select GENERIC_ISA_DMA_SUPPORT_BROKEN
+       select SGI_HAS_DS1286
+       select SGI_HAS_I8042
+       select SGI_HAS_INDYDOG
+       select SGI_HAS_SEEQ
+       select SGI_HAS_WD93
+       select SGI_HAS_ZILOG
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_R4X00
        select SYS_HAS_CPU_R5000
@@ -434,11 +399,11 @@ config SGI_IP27
        select ARC
        select ARC64
        select BOOT_ELF64
+       select DEFAULT_SGI_PARTITION
        select DMA_IP27
        select SYS_HAS_EARLY_PRINTK
        select HW_HAS_PCI
        select NR_CPUS_DEFAULT_64
-       select PCI_DOMAINS
        select SYS_HAS_CPU_R10000
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
@@ -451,14 +416,46 @@ config SGI_IP27
          workstations.  To compile a Linux kernel that runs on these, say Y
          here.
 
-config SGI_IP32
-       bool "SGI IP32 (O2) (EXPERIMENTAL)"
+config SGI_IP28
+       bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
        depends on EXPERIMENTAL
        select ARC
+       select ARC64
+       select BOOT_ELF64
+       select CEVT_R4K
+       select CSRC_R4K
+       select DEFAULT_SGI_PARTITION
+       select DMA_NONCOHERENT
+       select GENERIC_ISA_DMA_SUPPORT_BROKEN
+       select IRQ_CPU
+       select HW_HAS_EISA
+       select I8253
+       select I8259
+       select SGI_HAS_DS1286
+       select SGI_HAS_I8042
+       select SGI_HAS_INDYDOG
+       select SGI_HAS_SEEQ
+       select SGI_HAS_WD93
+       select SGI_HAS_ZILOG
+       select SWAP_IO_SPACE
+       select SYS_HAS_CPU_R10000
+       select SYS_HAS_EARLY_PRINTK
+       select SYS_SUPPORTS_64BIT_KERNEL
+       select SYS_SUPPORTS_BIG_ENDIAN
+      help
+        This is the SGI Indigo2 with R10000 processor.  To compile a Linux
+        kernel that runs on these, say Y here.
+
+config SGI_IP32
+       bool "SGI IP32 (O2)"
+       select ARC
        select ARC32
        select BOOT_ELF32
+       select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select IRQ_CPU
        select R5000_CPU_SCACHE
        select RM7000_CPU_SCACHE
        select SYS_HAS_CPU_R5000
@@ -470,41 +467,38 @@ config SGI_IP32
        help
          If you want this kernel to run on SGI O2 workstation, say Y here.
 
-config SIBYTE_BIGSUR
-       bool "Sibyte BCM91480B-BigSur"
+config SIBYTE_CRHINE
+       bool "Sibyte BCM91120C-CRhine"
+       depends on EXPERIMENTAL
        select BOOT_ELF32
        select DMA_COHERENT
-       select NR_CPUS_DEFAULT_4
-       select PCI_DOMAINS
-       select SIBYTE_BCM1x80
+       select SIBYTE_BCM1120
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
-config SIBYTE_SWARM
-       bool "Sibyte BCM91250A-SWARM"
+config SIBYTE_CARMEL
+       bool "Sibyte BCM91120x-Carmel"
+       depends on EXPERIMENTAL
        select BOOT_ELF32
        select DMA_COHERENT
-       select NR_CPUS_DEFAULT_2
-       select SIBYTE_SB1250
+       select SIBYTE_BCM1120
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_HIGHMEM
-       select SYS_SUPPORTS_KGDB
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
-config SIBYTE_SENTOSA
-       bool "Sibyte BCM91250E-Sentosa"
+config SIBYTE_CRHONE
+       bool "Sibyte BCM91125C-CRhone"
        depends on EXPERIMENTAL
        select BOOT_ELF32
        select DMA_COHERENT
-       select NR_CPUS_DEFAULT_2
-       select SIBYTE_SB1250
+       select SIBYTE_BCM1125
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config SIBYTE_RHONE
@@ -518,20 +512,8 @@ config SIBYTE_RHONE
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
-config SIBYTE_CARMEL
-       bool "Sibyte BCM91120x-Carmel"
-       depends on EXPERIMENTAL
-       select BOOT_ELF32
-       select DMA_COHERENT
-       select SIBYTE_BCM1120
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_SB1
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config SIBYTE_PTSWARM
-       bool "Sibyte BCM91250PT-PTSWARM"
-       depends on EXPERIMENTAL
+config SIBYTE_SWARM
+       bool "Sibyte BCM91250A-SWARM"
        select BOOT_ELF32
        select DMA_COHERENT
        select NR_CPUS_DEFAULT_2
@@ -540,7 +522,9 @@ config SIBYTE_PTSWARM
        select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_HIGHMEM
+       select SYS_SUPPORTS_KGDB
        select SYS_SUPPORTS_LITTLE_ENDIAN
+       select ZONE_DMA32 if 64BIT
 
 config SIBYTE_LITTLESUR
        bool "Sibyte BCM91250C2-LittleSur"
@@ -555,35 +539,41 @@ config SIBYTE_LITTLESUR
        select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
-config SIBYTE_CRHINE
-       bool "Sibyte BCM91120C-CRhine"
+config SIBYTE_SENTOSA
+       bool "Sibyte BCM91250E-Sentosa"
        depends on EXPERIMENTAL
        select BOOT_ELF32
        select DMA_COHERENT
-       select SIBYTE_BCM1120
+       select NR_CPUS_DEFAULT_2
+       select SIBYTE_SB1250
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
-config SIBYTE_CRHONE
-       bool "Sibyte BCM91125C-CRhone"
-       depends on EXPERIMENTAL
+config SIBYTE_BIGSUR
+       bool "Sibyte BCM91480B-BigSur"
        select BOOT_ELF32
        select DMA_COHERENT
-       select SIBYTE_BCM1125
+       select NR_CPUS_DEFAULT_4
+       select SIBYTE_BCM1x80
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_LITTLE_ENDIAN
+       select ZONE_DMA32 if 64BIT
 
 config SNI_RM
        bool "SNI RM200/300/400"
        select ARC if CPU_LITTLE_ENDIAN
        select ARC32 if CPU_LITTLE_ENDIAN
+       select SNIPROM if CPU_BIG_ENDIAN
        select ARCH_MAY_HAVE_PC_FDC
        select BOOT_ELF32
+       select CEVT_R4K
+       select CSRC_R4K
+       select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
        select DMA_NONCOHERENT
        select GENERIC_ISA_DMA
        select HW_HAS_EISA
@@ -611,9 +601,11 @@ config SNI_RM
 
 config TOSHIBA_JMR3927
        bool "Toshiba JMR-TX3927 board"
+       select CEVT_TXX9
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select MIPS_TX3927
+       select IRQ_TXX9
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_TX39XX
        select SYS_SUPPORTS_32BIT_KERNEL
@@ -622,11 +614,16 @@ config TOSHIBA_JMR3927
        select GENERIC_HARDIRQS_NO__DO_IRQ
 
 config TOSHIBA_RBTX4927
-       bool "Toshiba TBTX49[23]7 board"
+       bool "Toshiba RBTX49[23]7 board"
+       select CEVT_R4K
+       select CSRC_R4K
+       select CEVT_TXX9
        select DMA_NONCOHERENT
        select HAS_TXX9_SERIAL
        select HW_HAS_PCI
-       select I8259
+       select IRQ_CPU
+       select IRQ_TXX9
+       select I8259 if TOSHIBA_FPCIB0
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_TX49XX
        select SYS_SUPPORTS_32BIT_KERNEL
@@ -641,12 +638,14 @@ config TOSHIBA_RBTX4927
 
 config TOSHIBA_RBTX4938
        bool "Toshiba RBTX4938 board"
-       select HAVE_STD_PC_SERIAL_PORT
+       select CEVT_R4K
+       select CSRC_R4K
+       select CEVT_TXX9
        select DMA_NONCOHERENT
-       select GENERIC_ISA_DMA
        select HAS_TXX9_SERIAL
        select HW_HAS_PCI
-       select I8259
+       select IRQ_CPU
+       select IRQ_TXX9
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_TX49XX
        select SYS_SUPPORTS_32BIT_KERNEL
@@ -654,15 +653,38 @@ config TOSHIBA_RBTX4938
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_KGDB
        select GENERIC_HARDIRQS_NO__DO_IRQ
+       select GENERIC_GPIO
        help
          This Toshiba board is based on the TX4938 processor. Say Y here to
          support this machine type
 
+config WR_PPMC
+       bool "Wind River PPMC board"
+       select CEVT_R4K
+       select CSRC_R4K
+       select IRQ_CPU
+       select BOOT_ELF32
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
+       select PCI_GT64XXX_PCI0
+       select SWAP_IO_SPACE
+       select SYS_HAS_CPU_MIPS32_R1
+       select SYS_HAS_CPU_MIPS32_R2
+       select SYS_HAS_CPU_MIPS64_R1
+       select SYS_HAS_CPU_NEVADA
+       select SYS_HAS_CPU_RM7000
+       select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_64BIT_KERNEL
+       select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_LITTLE_ENDIAN
+       help
+         This enables support for the Wind River MIPS32 4KC PPMC evaluation
+         board, which is based on GT64120 bridge chip.
+
 endchoice
 
 source "arch/mips/au1000/Kconfig"
-source "arch/mips/ddb5xxx/Kconfig"
-source "arch/mips/gt64120/ev64120/Kconfig"
+source "arch/mips/basler/excite/Kconfig"
 source "arch/mips/jazz/Kconfig"
 source "arch/mips/lasat/Kconfig"
 source "arch/mips/pmc-sierra/Kconfig"
@@ -671,10 +693,14 @@ source "arch/mips/sibyte/Kconfig"
 source "arch/mips/tx4927/Kconfig"
 source "arch/mips/tx4938/Kconfig"
 source "arch/mips/vr41xx/Kconfig"
-source "arch/mips/philips/pnx8550/common/Kconfig"
 
 endmenu
 
+config GENERIC_LOCKBREAK
+       bool
+       default y
+       depends on SMP && PREEMPT
+
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
@@ -690,6 +716,10 @@ config ARCH_HAS_ILOG2_U64
        bool
        default n
 
+config ARCH_SUPPORTS_OPROFILE
+       bool
+       default y if !MIPS_MT_SMTC
+
 config GENERIC_FIND_NEXT_BIT
        bool
        default y
@@ -702,10 +732,18 @@ config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
+config GENERIC_CLOCKEVENTS
+       bool
+       default y
+
 config GENERIC_TIME
        bool
        default y
 
+config GENERIC_CMOS_UPDATE
+       bool
+       default y
+
 config SCHED_NO_NO_OMIT_FRAME_POINTER
        bool
        default y
@@ -723,15 +761,41 @@ config ARC
 config ARCH_MAY_HAVE_PC_FDC
        bool
 
-config DMA_COHERENT
+config BOOT_RAW
        bool
 
-config DMA_IP27
+config CEVT_BCM1480
        bool
 
-config DMA_IP32
+config CEVT_GT641XX
+       bool
+
+config CEVT_R4K
+       bool
+
+config CEVT_SB1250
+       bool
+
+config CEVT_TXX9
+       bool
+
+config CSRC_BCM1480
+       bool
+
+config CSRC_R4K
+       bool
+
+config CSRC_SB1250
+       bool
+
+config CFE
+       bool
+
+config DMA_COHERENT
+       bool
+
+config DMA_IP27
        bool
-       select DMA_NEED_PCI_MAP_STATE
 
 config DMA_NONCOHERENT
        bool
@@ -757,9 +821,9 @@ config EARLY_PRINTK
 config SYS_HAS_EARLY_PRINTK
        bool
 
-config GENERIC_ISA_DMA
+config HOTPLUG_CPU
        bool
-       select ZONE_DMA
+       default n
 
 config I8259
        bool
@@ -779,9 +843,13 @@ config MIPS_DISABLE_OBSOLETE_IDE
 config NO_IOPORT
        def_bool n
 
+config GENERIC_ISA_DMA
+       bool
+       select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
+
 config GENERIC_ISA_DMA_SUPPORT_BROKEN
        bool
-       select ZONE_DMA
+       select GENERIC_ISA_DMA
 
 config GENERIC_GPIO
        bool
@@ -829,12 +897,17 @@ config IRQ_CPU_RM7K
 config IRQ_CPU_RM9K
        bool
 
-config IRQ_MV64340
+config IRQ_MSP_SLP
        bool
 
-config DDB5XXX_COMMON
+config IRQ_MSP_CIC
+       bool
+
+config IRQ_TXX9
+       bool
+
+config IRQ_GT641XX
        bool
-       select SYS_SUPPORTS_KGDB
 
 config MIPS_BOARDS_GEN
        bool
@@ -842,6 +915,9 @@ config MIPS_BOARDS_GEN
 config PCI_GT64XXX_PCI0
        bool
 
+config NO_EXCEPT_FILL
+       bool
+
 config MIPS_TX3927
        bool
        select HAS_TXX9_SERIAL
@@ -850,9 +926,6 @@ config MIPS_RM9122
        bool
        select SERIAL_RM9000
 
-config PCI_MARVELL
-       bool
-
 config PNX8550
        bool
        select SOC_PNX8550
@@ -879,38 +952,41 @@ config EMMA2RH
 config SERIAL_RM9000
        bool
 
-#
-# Unfortunately not all GT64120 systems run the chip at the same clock.
-# As the user for the clock rate and try to minimize the available options.
-#
-choice
-       prompt "Galileo Chip Clock"
-       #default SYSCLK_83 if MIPS_EV64120
-       depends on MIPS_EV64120 || MOMENCO_OCELOT
-       default SYSCLK_83 if MIPS_EV64120
-       default SYSCLK_100 if MOMENCO_OCELOT
+config SGI_HAS_DS1286
+       bool
 
-config SYSCLK_75
-       bool "75" if MIPS_EV64120
+config SGI_HAS_INDYDOG
+       bool
 
-config SYSCLK_83
-       bool "83.3" if MIPS_EV64120
+config SGI_HAS_SEEQ
+       bool
 
-config SYSCLK_100
-       bool "100" if MIPS_EV64120 || MOMENCO_OCELOT
+config SGI_HAS_WD93
+       bool
 
-endchoice
+config SGI_HAS_ZILOG
+       bool
+
+config SGI_HAS_I8042
+       bool
+
+config DEFAULT_SGI_PARTITION
+       bool
 
 config ARC32
        bool
 
+config SNIPROM
+       bool
+
 config BOOT_ELF32
        bool
 
 config MIPS_L1_CACHE_SHIFT
        int
-       default "4" if MACH_DECSTATION || SNI_RM
-       default "7" if SGI_IP27
+       default "4" if MACH_DECSTATION
+       default "7" if SGI_IP27 || SGI_IP28 || SNI_RM
+       default "4" if PMC_MSP4200_EVAL
        default "5"
 
 config HAVE_STD_PC_SERIAL_PORT
@@ -918,7 +994,7 @@ config HAVE_STD_PC_SERIAL_PORT
 
 config ARC_CONSOLE
        bool "ARC console support"
-       depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
+       depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
 
 config ARC_MEMORY
        bool
@@ -927,7 +1003,7 @@ config ARC_MEMORY
 
 config ARC_PROMLIB
        bool
-       depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
+       depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
        default y
 
 config ARC64
@@ -942,6 +1018,16 @@ choice
        prompt "CPU type"
        default CPU_R4X00
 
+config CPU_LOONGSON2
+       bool "Loongson 2"
+       depends on SYS_HAS_CPU_LOONGSON2
+       select CPU_SUPPORTS_32BIT_KERNEL
+       select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
+       help
+         The Loongson 2E processor implements the MIPS III instruction set
+         with many extensions.
+
 config CPU_MIPS32_R1
        bool "MIPS32 Release 1"
        depends on SYS_HAS_CPU_MIPS32_R1
@@ -1152,6 +1238,9 @@ config CPU_SB1
 
 endchoice
 
+config SYS_HAS_CPU_LOONGSON2
+       bool
+
 config SYS_HAS_CPU_MIPS32_R1
        bool
 
@@ -1209,8 +1298,19 @@ config SYS_HAS_CPU_RM9000
 config SYS_HAS_CPU_SB1
        bool
 
+#
+# CPU may reorder R->R, R->W, W->R, W->W
+# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
+#
 config WEAK_ORDERING
        bool
+
+#
+# CPU may reorder reads and writes beyond LL/SC
+# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
+#
+config WEAK_REORDERING_BEYOND_LLSC
+       bool
 endmenu
 
 #
@@ -1360,11 +1460,12 @@ config MIPS_MT_SMP
        depends on SYS_SUPPORTS_MULTITHREADING
        select CPU_MIPSR2_IRQ_VI
        select CPU_MIPSR2_IRQ_EI
-       select CPU_MIPSR2_SRS
        select MIPS_MT
        select NR_CPUS_DEFAULT_2
        select SMP
+       select SYS_SUPPORTS_SCHED_SMT if SMP
        select SYS_SUPPORTS_SMP
+       select SMP_UP
        help
          This is a kernel model which is also known a VSMP or lately
          has been marketesed into SMVP.
@@ -1374,40 +1475,53 @@ config MIPS_MT_SMTC
        depends on CPU_MIPS32_R2
        #depends on CPU_MIPS64_R2               # once there is hardware ...
        depends on SYS_SUPPORTS_MULTITHREADING
+       select GENERIC_CLOCKEVENTS_BROADCAST
        select CPU_MIPSR2_IRQ_VI
        select CPU_MIPSR2_IRQ_EI
-       select CPU_MIPSR2_SRS
        select MIPS_MT
        select NR_CPUS_DEFAULT_8
        select SMP
        select SYS_SUPPORTS_SMP
+       select SMP_UP
        help
          This is a kernel model which is known a SMTC or lately has been
          marketesed into SMVP.
 
-config MIPS_VPE_LOADER
-       bool "VPE loader support."
-       depends on SYS_SUPPORTS_MULTITHREADING
-       select CPU_MIPSR2_IRQ_VI
-       select CPU_MIPSR2_IRQ_EI
-       select CPU_MIPSR2_SRS
-       select MIPS_MT
-       help
-         Includes a loader for loading an elf relocatable object
-         onto another VPE and running it.
-
 endchoice
 
 config MIPS_MT
        bool
 
+config SCHED_SMT
+       bool "SMT (multithreading) scheduler support"
+       depends on SYS_SUPPORTS_SCHED_SMT
+       default n
+       help
+         SMT scheduler support improves the CPU scheduler's decision making
+         when dealing with MIPS MT enabled cores at a cost of slightly
+         increased overhead in some places. If unsure say N here.
+
+config SYS_SUPPORTS_SCHED_SMT
+       bool
+
+
 config SYS_SUPPORTS_MULTITHREADING
        bool
 
 config MIPS_MT_FPAFF
        bool "Dynamic FPU affinity for FP-intensive threads"
-       depends on MIPS_MT
        default y
+       depends on MIPS_MT_SMP || MIPS_MT_SMTC
+
+config MIPS_VPE_LOADER
+       bool "VPE loader support."
+       depends on SYS_SUPPORTS_MULTITHREADING
+       select CPU_MIPSR2_IRQ_VI
+       select CPU_MIPSR2_IRQ_EI
+       select MIPS_MT
+       help
+         Includes a loader for loading an elf relocatable object
+         onto another VPE and running it.
 
 config MIPS_MT_SMTC_INSTANT_REPLAY
        bool "Low-latency Dispatch of Deferred SMTC IPIs"
@@ -1423,6 +1537,32 @@ config MIPS_MT_SMTC_INSTANT_REPLAY
          it off), but ensures that IPIs are handled promptly even under
          heavy I/O interrupt load.
 
+config MIPS_MT_SMTC_IM_BACKSTOP
+       bool "Use per-TC register bits as backstop for inhibited IM bits"
+       depends on MIPS_MT_SMTC
+       default y
+       help
+         To support multiple TC microthreads acting as "CPUs" within
+         a VPE, VPE-wide interrupt mask bits must be specially manipulated
+         during interrupt handling. To support legacy drivers and interrupt
+         controller management code, SMTC has a "backstop" to track and
+         if necessary restore the interrupt mask. This has some performance
+         impact on interrupt service overhead. Disable it only if you know
+         what you are doing.
+
+config MIPS_MT_SMTC_IRQAFF
+       bool "Support IRQ affinity API"
+       depends on MIPS_MT_SMTC
+       default n
+       help
+         Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
+         for SMTC Linux kernel. Requires platform support, of which
+         an example can be found in the MIPS kernel i8259 and Malta
+         platform code.  It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
+         be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to
+         interrupt dispatch, and should be used only if you know what
+         you are doing.
+
 config MIPS_VPE_LOADER_TOM
        bool "Load VPE program into memory hidden from linux"
        depends on MIPS_VPE_LOADER
@@ -1465,8 +1605,7 @@ config SB1_PASS_2_1_WORKAROUNDS
        default y
 
 config 64BIT_PHYS_ADDR
-       bool "Support for 64-bit physical address space"
-       depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
+       bool
 
 config CPU_HAS_LLSC
        bool
@@ -1498,16 +1637,26 @@ config CPU_MIPSR2_IRQ_VI
 config CPU_MIPSR2_IRQ_EI
        bool
 
+config CPU_HAS_SYNC
+       bool
+       depends on !CPU_R3000
+       default y
+
+config GENERIC_CLOCKEVENTS_BROADCAST
+       bool
+
 #
-# Shadow registers are an R2 feature
+# CPU non-features
 #
-config CPU_MIPSR2_SRS
+config CPU_DADDI_WORKAROUNDS
        bool
 
-config CPU_HAS_SYNC
+config CPU_R4000_WORKAROUNDS
+       bool
+       select CPU_R4400_WORKAROUNDS
+
+config CPU_R4400_WORKAROUNDS
        bool
-       depends on !CPU_R3000
-       default y
 
 #
 # Use the generic interrupt handling code in kernel/irq/:
@@ -1562,6 +1711,9 @@ config ARCH_DISCONTIGMEM_ENABLE
          or have huge holes in the physical address space for other reasons.
          See <file:Documentation/vm/numa> for more.
 
+config ARCH_POPULATES_NODE_MAP
+       def_bool y
+
 config ARCH_SPARSEMEM_ENABLE
        bool
        select SPARSEMEM_STATIC
@@ -1604,11 +1756,14 @@ config SMP
          People using multiprocessor machines who say Y here should also say
          Y to "Enhanced Real Time Clock Support", below.
 
-         See also the <file:Documentation/smp.txt> and the SMP-HOWTO
-         available at <http://www.tldp.org/docs.html#howto>.
+         See also the SMP-HOWTO available at
+         <http://www.tldp.org/docs.html#howto>.
 
          If you don't know what to do here, say N.
 
+config SMP_UP
+       bool
+
 config SYS_SUPPORTS_SMP
        bool
 
@@ -1656,6 +1811,8 @@ config NR_CPUS
          performance should round up your number of processors to the next
          power of two.
 
+source "kernel/time/Kconfig"
+
 #
 # Timer Interrupt Frequency Configuration
 #
@@ -1748,7 +1905,7 @@ config KEXEC
          but it is independent of the system firmware.   And like a reboot
          you can start any kernel with it, not just Linux.
 
-         The name comes from the similiarity to the exec system call.
+         The name comes from the similarity to the exec system call.
 
          It is an ongoing process to be certain the hardware in a machine
          is properly shutdown, so do not be surprised if this code does not
@@ -1758,7 +1915,7 @@ config KEXEC
 
 config SECCOMP
        bool "Enable seccomp to safely compute untrusted bytecode"
-       depends on PROC_FS && BROKEN
+       depends on PROC_FS
        default y
        help
          This kernel feature is useful for number crunching applications
@@ -1799,20 +1956,15 @@ config HW_HAS_PCI
 config PCI
        bool "Support for PCI controller"
        depends on HW_HAS_PCI
+       select PCI_DOMAINS
        help
          Find out whether you have a PCI motherboard. PCI is the name of a
          bus system, i.e. the way the CPU talks to the other stuff inside
          your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
          say Y, otherwise N.
 
-         The PCI-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>, contains valuable
-         information about which PCI hardware does work under Linux and which
-         doesn't.
-
 config PCI_DOMAINS
        bool
-       depends on PCI
 
 source "drivers/pci/Kconfig"
 
@@ -1864,6 +2016,9 @@ config MMU
 config I8253
        bool
 
+config ZONE_DMA32
+       bool
+
 source "drivers/pcmcia/Kconfig"
 
 source "drivers/pci/hotplug/Kconfig"
@@ -1877,21 +2032,6 @@ source "fs/Kconfig.binfmt"
 config TRAD_SIGNALS
        bool
 
-config BUILD_ELF64
-       bool "Use 64-bit ELF format for building"
-       depends on 64BIT
-       help
-         A 64-bit kernel is usually built using the 64-bit ELF binary object
-         format as it's one that allows arbitrary 64-bit constructs.  For
-         kernels that are loaded within the KSEG compatibility segments the
-         32-bit ELF format can optionally be used resulting in a somewhat
-         smaller binary, but this option is not explicitly supported by the
-         toolchain and since binutils 2.14 it does not even work at all.
-
-         Say Y to use the 64-bit format or N to use the 32-bit one.
-
-         If unsure say Y.
-
 config BINFMT_IRIX
        bool "Include IRIX binary compatibility"
        depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
@@ -1943,6 +2083,10 @@ endmenu
 
 menu "Power management options"
 
+config ARCH_SUSPEND_POSSIBLE
+       def_bool y
+       depends on !SMP
+
 source "kernel/power/Kconfig"
 
 endmenu
@@ -1953,8 +2097,6 @@ source "drivers/Kconfig"
 
 source "fs/Kconfig"
 
-source "arch/mips/oprofile/Kconfig"
-
 source "arch/mips/Kconfig.debug"
 
 source "security/Kconfig"