vserver 2.0 rc7
[linux-2.6.git] / arch / mips / Kconfig
index 5f2b277..2915d6d 100644 (file)
@@ -11,7 +11,7 @@ config MIPS64
          only select this option if you have hardware that actually has a
          64-bit processor and if your application will actually benefit from
          64-bit processing, otherwise say N.  You must say Y for kernels for
          only select this option if you have hardware that actually has a
          64-bit processor and if your application will actually benefit from
          64-bit processing, otherwise say N.  You must say Y for kernels for
-         SGI IP27 (Origin 200 and 2000).  If in doubt say N.
+         SGI IP27 (Origin 200 and 2000) and SGI IP32 (O2).  If in doubt say N.
 
 config 64BIT
        def_bool MIPS64
 
 config 64BIT
        def_bool MIPS64
@@ -29,6 +29,10 @@ menu "Machine selection"
 
 config MACH_JAZZ
        bool "Support for the Jazz family of machines"
 
 config MACH_JAZZ
        bool "Support for the Jazz family of machines"
+       select ARC
+       select ARC32
+       select GENERIC_ISA_DMA
+       select I8259
        select ISA
        help
         This a family of machines based on the MIPS R4030 chipset which was
        select ISA
        help
         This a family of machines based on the MIPS R4030 chipset which was
@@ -39,6 +43,7 @@ config MACH_JAZZ
 config ACER_PICA_61
        bool "Support for Acer PICA 1 chipset (EXPERIMENTAL)"
        depends on MACH_JAZZ && EXPERIMENTAL
 config ACER_PICA_61
        bool "Support for Acer PICA 1 chipset (EXPERIMENTAL)"
        depends on MACH_JAZZ && EXPERIMENTAL
+       select DMA_NONCOHERENT
        help
          This is a machine with a R4400 133/150 MHz CPU. To compile a Linux
          kernel that runs on these, say Y here. For details about Linux on
        help
          This is a machine with a R4400 133/150 MHz CPU. To compile a Linux
          kernel that runs on these, say Y here. For details about Linux on
@@ -48,6 +53,7 @@ config ACER_PICA_61
 config MIPS_MAGNUM_4000
        bool "Support for MIPS Magnum 4000"
        depends on MACH_JAZZ
 config MIPS_MAGNUM_4000
        bool "Support for MIPS Magnum 4000"
        depends on MACH_JAZZ
+       select DMA_NONCOHERENT
        help
          This is a machine with a R4000 100 MHz CPU. To compile a Linux
          kernel that runs on these, say Y here. For details about Linux on
        help
          This is a machine with a R4000 100 MHz CPU. To compile a Linux
          kernel that runs on these, say Y here. For details about Linux on
@@ -57,43 +63,50 @@ config MIPS_MAGNUM_4000
 config OLIVETTI_M700
        bool "Support for Olivetti M700-10"
        depends on MACH_JAZZ
 config OLIVETTI_M700
        bool "Support for Olivetti M700-10"
        depends on MACH_JAZZ
+       select DMA_NONCOHERENT
        help
          This is a machine with a R4000 100 MHz CPU. To compile a Linux
          kernel that runs on these, say Y here. For details about Linux on
          the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
          <http://www.linux-mips.org/>.
 
        help
          This is a machine with a R4000 100 MHz CPU. To compile a Linux
          kernel that runs on these, say Y here. For details about Linux on
          the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
          <http://www.linux-mips.org/>.
 
-config BAGET_MIPS
-       bool "Support for BAGET MIPS series (EXPERIMENTAL)"
-       depends on MIPS32 && EXPERIMENTAL
-       help
-         This enables support for the Baget, a Russian embedded system.  For
-         more details about the Baget see the Linux/MIPS FAQ on
-         <http://www.linux-mips.org/>.
-
 config MACH_VR41XX
        bool "Support for NEC VR41XX-based machines"
 
 config MACH_VR41XX
        bool "Support for NEC VR41XX-based machines"
 
+config NEC_CMBVR4133
+       bool "Support for NEC CMB-VR4133"
+       depends on MACH_VR41XX
+       select CPU_VR41XX
+       select DMA_NONCOHERENT
+       select IRQ_CPU
+       select HW_HAS_PCI
+       select PCI_VR41XX
+
+config ROCKHOPPER
+       bool "Support for Rockhopper baseboard"
+       depends on NEC_CMBVR4133
+       select I8259
+       select HAVE_STD_PC_SERIAL_PORT
+
 config CASIO_E55
        bool "Support for CASIO CASSIOPEIA E-10/15/55/65"
        depends on MACH_VR41XX
 config CASIO_E55
        bool "Support for CASIO CASSIOPEIA E-10/15/55/65"
        depends on MACH_VR41XX
+       select DMA_NONCOHERENT
        select IRQ_CPU
        select ISA
 
 config IBM_WORKPAD
        bool "Support for IBM WorkPad z50"
        depends on MACH_VR41XX
        select IRQ_CPU
        select ISA
 
 config IBM_WORKPAD
        bool "Support for IBM WorkPad z50"
        depends on MACH_VR41XX
+       select DMA_NONCOHERENT
        select IRQ_CPU
        select ISA
 
        select IRQ_CPU
        select ISA
 
-config NEC_EAGLE
-       bool "Support for NEC Eagle/Hawk board"
-       select IRQ_CPU
-       depends on MACH_VR41XX
-
 config TANBAC_TB0226
        bool "Support for TANBAC TB0226 (Mbase)"
        depends on MACH_VR41XX
 config TANBAC_TB0226
        bool "Support for TANBAC TB0226 (Mbase)"
        depends on MACH_VR41XX
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        select IRQ_CPU
        help
          The TANBAC TB0226 (Mbase) is a MIPS-based platform manufactured by TANBAC.
        select IRQ_CPU
        help
          The TANBAC TB0226 (Mbase) is a MIPS-based platform manufactured by TANBAC.
@@ -102,6 +115,8 @@ config TANBAC_TB0226
 config TANBAC_TB0229
        bool "Support for TANBAC TB0229 (VR4131DIMM)"
        depends on MACH_VR41XX
 config TANBAC_TB0229
        bool "Support for TANBAC TB0229 (VR4131DIMM)"
        depends on MACH_VR41XX
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        select IRQ_CPU
        help
          The TANBAC TB0229 (VR4131DIMM) is a MIPS-based platform manufactured by TANBAC.
        select IRQ_CPU
        help
          The TANBAC TB0229 (VR4131DIMM) is a MIPS-based platform manufactured by TANBAC.
@@ -109,25 +124,53 @@ config TANBAC_TB0229
 
 config VICTOR_MPC30X
        bool "Support for Victor MP-C303/304"
 
 config VICTOR_MPC30X
        bool "Support for Victor MP-C303/304"
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        select IRQ_CPU
        depends on MACH_VR41XX
 
 config ZAO_CAPCELLA
        bool "Support for ZAO Networks Capcella"
        depends on MACH_VR41XX
        select IRQ_CPU
        depends on MACH_VR41XX
 
 config ZAO_CAPCELLA
        bool "Support for ZAO Networks Capcella"
        depends on MACH_VR41XX
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        select IRQ_CPU
 
        select IRQ_CPU
 
+config PCI_VR41XX
+       bool "Add PCI control unit support of NEC VR4100 series"
+       depends on MACH_VR41XX && PCI
+
+config VRC4171
+       tristate "Add NEC VRC4171 companion chip support"
+       depends on MACH_VR41XX && ISA
+       ---help---
+         The NEC VRC4171/4171A is a companion chip for NEC VR4111/VR4121.
+
+config VRC4173
+       tristate "Add NEC VRC4173 companion chip support"
+       depends on MACH_VR41XX && PCI_VR41XX
+       ---help---
+         The NEC VRC4173 is a companion chip for NEC VR4122/VR4131.
+
 config TOSHIBA_JMR3927
        bool "Support for Toshiba JMR-TX3927 board"
        depends on MIPS32
 config TOSHIBA_JMR3927
        bool "Support for Toshiba JMR-TX3927 board"
        depends on MIPS32
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
+       select SWAP_IO_SPACE
 
 config MIPS_COBALT
        bool "Support for Cobalt Server (EXPERIMENTAL)"
        depends on EXPERIMENTAL
 
 config MIPS_COBALT
        bool "Support for Cobalt Server (EXPERIMENTAL)"
        depends on EXPERIMENTAL
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
+       select I8259
        select IRQ_CPU
 
 config MACH_DECSTATION
        bool "Support for DECstations"
        select IRQ_CPU
 
 config MACH_DECSTATION
        bool "Support for DECstations"
+       select BOOT_ELF32
+       select DMA_NONCOHERENT
        select IRQ_CPU
        depends on MIPS32 || EXPERIMENTAL
        ---help---
        select IRQ_CPU
        depends on MIPS32 || EXPERIMENTAL
        ---help---
@@ -148,6 +191,9 @@ config MACH_DECSTATION
 config MIPS_EV64120
        bool "Support for Galileo EV64120 Evaluation board (EXPERIMENTAL)"
        depends on EXPERIMENTAL
 config MIPS_EV64120
        bool "Support for Galileo EV64120 Evaluation board (EXPERIMENTAL)"
        depends on EXPERIMENTAL
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
+       select MIPS_GT64120
        help
          This is an evaluation board based on the Galileo GT-64120
          single-chip system controller that contains a MIPS R5000 compatible
        help
          This is an evaluation board based on the Galileo GT-64120
          single-chip system controller that contains a MIPS R5000 compatible
@@ -162,9 +208,12 @@ config EVB_PCI1
 config MIPS_EV96100
        bool "Support for Galileo EV96100 Evaluation board (EXPERIMENTAL)"
        depends on EXPERIMENTAL
 config MIPS_EV96100
        bool "Support for Galileo EV96100 Evaluation board (EXPERIMENTAL)"
        depends on EXPERIMENTAL
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        select IRQ_CPU
        select MIPS_GT96100
        select RM7000_CPU_SCACHE
        select IRQ_CPU
        select MIPS_GT96100
        select RM7000_CPU_SCACHE
+       select SWAP_IO_SPACE
        help
          This is an evaluation board based on the Galileo GT-96100 LAN/WAN
          communications controllers containing a MIPS R5000 compatible core
        help
          This is an evaluation board based on the Galileo GT-96100 LAN/WAN
          communications controllers containing a MIPS R5000 compatible core
@@ -173,6 +222,8 @@ config MIPS_EV96100
 
 config MIPS_IVR
        bool "Support for Globespan IVR board"
 
 config MIPS_IVR
        bool "Support for Globespan IVR board"
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        help
          This is an evaluation board built by Globespan to showcase thir
          iVR (Internet Video Recorder) design. It utilizes a QED RM5231
        help
          This is an evaluation board built by Globespan to showcase thir
          iVR (Internet Video Recorder) design. It utilizes a QED RM5231
@@ -182,6 +233,9 @@ config MIPS_IVR
 
 config LASAT
        bool "Support for LASAT Networks platforms"
 
 config LASAT
        bool "Support for LASAT Networks platforms"
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
+       select MIPS_GT64120
        select R5000_CPU_SCACHE
 
 config PICVUE
        select R5000_CPU_SCACHE
 
 config PICVUE
@@ -200,13 +254,10 @@ config LASAT_SYSCTL
        bool "LASAT sysctl interface"
        depends on LASAT
 
        bool "LASAT sysctl interface"
        depends on LASAT
 
-config HP_LASERJET
-       bool "Support for Hewlett Packard LaserJet board"
-       depends on BROKEN
-       select IRQ_CPU
-
 config MIPS_ITE8172
        bool "Support for ITE 8172G board"
 config MIPS_ITE8172
        bool "Support for ITE 8172G board"
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        help
          Ths is an evaluation board made by ITE <http://www.ite.com.tw/>
          with ATX form factor that utilizes a MIPS R5000 to work with its
        help
          Ths is an evaluation board made by ITE <http://www.ite.com.tw/>
          with ATX form factor that utilizes a MIPS R5000 to work with its
@@ -225,54 +276,101 @@ config IT8172_REVC
 
 config MIPS_ATLAS
        bool "Support for MIPS Atlas board"
 
 config MIPS_ATLAS
        bool "Support for MIPS Atlas board"
+       select BOOT_ELF32
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
+       select MIPS_GT64120
+       select SWAP_IO_SPACE
        help
          This enables support for the QED R5231-based MIPS Atlas evaluation
          board.
 
 config MIPS_MALTA
        bool "Support for MIPS Malta board"
        help
          This enables support for the QED R5231-based MIPS Atlas evaluation
          board.
 
 config MIPS_MALTA
        bool "Support for MIPS Malta board"
+       select BOOT_ELF32
        select HAVE_STD_PC_SERIAL_PORT
        select HAVE_STD_PC_SERIAL_PORT
+       select DMA_NONCOHERENT
+       select GENERIC_ISA_DMA
+       select HW_HAS_PCI
+       select I8259
+       select MIPS_GT64120
+       select SWAP_IO_SPACE
        help
          This enables support for the VR5000-based MIPS Malta evaluation
          board.
 
 config MIPS_SEAD
        bool "Support for MIPS SEAD board (EXPERIMENTAL)"
        help
          This enables support for the VR5000-based MIPS Malta evaluation
          board.
 
 config MIPS_SEAD
        bool "Support for MIPS SEAD board (EXPERIMENTAL)"
-       select IRQ_CPU
        depends on EXPERIMENTAL
        depends on EXPERIMENTAL
+       select IRQ_CPU
+       select DMA_NONCOHERENT
 
 config MOMENCO_OCELOT
        bool "Support for Momentum Ocelot board"
 
 config MOMENCO_OCELOT
        bool "Support for Momentum Ocelot board"
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        select IRQ_CPU
        select IRQ_CPU_RM7K
        select IRQ_CPU
        select IRQ_CPU_RM7K
+       select MIPS_GT64120
        select RM7000_CPU_SCACHE
        select RM7000_CPU_SCACHE
+       select SWAP_IO_SPACE
        help
          The Ocelot is a MIPS-based Single Board Computer (SBC) made by
          Momentum Computer <http://www.momenco.com/>.
 
 config MOMENCO_OCELOT_G
        bool "Support for Momentum Ocelot-G board"
        help
          The Ocelot is a MIPS-based Single Board Computer (SBC) made by
          Momentum Computer <http://www.momenco.com/>.
 
 config MOMENCO_OCELOT_G
        bool "Support for Momentum Ocelot-G board"
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        select IRQ_CPU
        select IRQ_CPU_RM7K
        select IRQ_CPU
        select IRQ_CPU_RM7K
+       select PCI_MARVELL
        select RM7000_CPU_SCACHE
        select RM7000_CPU_SCACHE
+       select SWAP_IO_SPACE
        help
          The Ocelot is a MIPS-based Single Board Computer (SBC) made by
          Momentum Computer <http://www.momenco.com/>.
 
 config MOMENCO_OCELOT_C
        bool "Support for Momentum Ocelot-C board"
        help
          The Ocelot is a MIPS-based Single Board Computer (SBC) made by
          Momentum Computer <http://www.momenco.com/>.
 
 config MOMENCO_OCELOT_C
        bool "Support for Momentum Ocelot-C board"
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        select IRQ_CPU
        select IRQ_CPU
+       select IRQ_MV64340
+       select PCI_MARVELL
        select RM7000_CPU_SCACHE
        select RM7000_CPU_SCACHE
+       select SWAP_IO_SPACE
        help
          The Ocelot is a MIPS-based Single Board Computer (SBC) made by
          Momentum Computer <http://www.momenco.com/>.
 
        help
          The Ocelot is a MIPS-based Single Board Computer (SBC) made by
          Momentum Computer <http://www.momenco.com/>.
 
+config MOMENCO_OCELOT_3
+       bool "Support for Momentum Ocelot-3 board"
+       select BOOT_ELF32
+       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
+       help
+         The Ocelot-3 is based off Discovery III System Controller and
+         PMC-Sierra Rm79000 core.
+
 config MOMENCO_JAGUAR_ATX
        bool "Support for Momentum Jaguar board"
 config MOMENCO_JAGUAR_ATX
        bool "Support for Momentum Jaguar board"
+       select BOOT_ELF32
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        select IRQ_CPU
        select IRQ_CPU_RM7K
        select IRQ_CPU
        select IRQ_CPU_RM7K
+       select IRQ_MV64340
        select LIMITED_DMA
        select LIMITED_DMA
+       select PCI_MARVELL
        select RM7000_CPU_SCACHE
        select RM7000_CPU_SCACHE
+       select SWAP_IO_SPACE
        help
          The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
          Momentum Computer <http://www.momenco.com/>.
        help
          The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
          Momentum Computer <http://www.momenco.com/>.
@@ -286,6 +384,12 @@ config JAGUAR_DMALOW
 
 config PMC_YOSEMITE
        bool "Support for PMC-Sierra Yosemite eval board"
 
 config PMC_YOSEMITE
        bool "Support for PMC-Sierra Yosemite eval board"
+       select DMA_COHERENT
+       select HW_HAS_PCI
+       select IRQ_CPU
+       select IRQ_CPU_RM7K
+       select IRQ_CPU_RM9K
+       select SWAP_IO_SPACE
        help
          Yosemite is an evaluation board for the RM9000x2 processor
          manufactured by PMC-Sierra
        help
          Yosemite is an evaluation board for the RM9000x2 processor
          manufactured by PMC-Sierra
@@ -297,8 +401,11 @@ config HYPERTRANSPORT
 config DDB5074
        bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
        depends on EXPERIMENTAL
 config DDB5074
        bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
        depends on EXPERIMENTAL
+       select DMA_NONCOHERENT
        select HAVE_STD_PC_SERIAL_PORT
        select HAVE_STD_PC_SERIAL_PORT
+       select HW_HAS_PCI
        select IRQ_CPU
        select IRQ_CPU
+       select I8259
        select ISA
        help
          This enables support for the VR5000-based NEC DDB Vrc-5074
        select ISA
        help
          This enables support for the VR5000-based NEC DDB Vrc-5074
@@ -306,19 +413,25 @@ config DDB5074
 
 config DDB5476
        bool "Support for NEC DDB Vrc-5476"
 
 config DDB5476
        bool "Support for NEC DDB Vrc-5476"
+       select DMA_NONCOHERENT
        select HAVE_STD_PC_SERIAL_PORT
        select HAVE_STD_PC_SERIAL_PORT
+       select HW_HAS_PCI
        select IRQ_CPU
        select IRQ_CPU
+       select I8259
        select ISA
        help
          This enables support for the R5432-based NEC DDB Vrc-5476
          evaluation board.
 
          Features : kernel debugging, serial terminal, NFS root fs, on-board
        select ISA
        help
          This enables support for the R5432-based NEC DDB Vrc-5476
          evaluation board.
 
          Features : kernel debugging, serial terminal, NFS root fs, on-board
-         ether port USB, AC97, PCI, PCI VGA card & framebuffer console, 
+         ether port USB, AC97, PCI, PCI VGA card & framebuffer console,
          IDE controller, PS2 keyboard, PS2 mouse, etc.
 
 config DDB5477
        bool "Support for NEC DDB Vrc-5477"
          IDE controller, PS2 keyboard, PS2 mouse, etc.
 
 config DDB5477
        bool "Support for NEC DDB Vrc-5477"
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
+       select I8259
        select IRQ_CPU
        help
          This enables support for the R5432-based NEC DDB Vrc-5477,
        select IRQ_CPU
        help
          This enables support for the R5432-based NEC DDB Vrc-5477,
@@ -331,15 +444,21 @@ config DDB5477_BUS_FREQUENCY
        int "bus frequency (in kHZ, 0 for auto-detect)"
        depends on DDB5477
        default 0
        int "bus frequency (in kHZ, 0 for auto-detect)"
        depends on DDB5477
        default 0
-       
+
 config NEC_OSPREY
        bool "Support for NEC Osprey board"
 config NEC_OSPREY
        bool "Support for NEC Osprey board"
+       select DMA_NONCOHERENT
        select IRQ_CPU
 
 config SGI_IP22
        bool "Support for SGI IP22 (Indy/Indigo2)"
        select IRQ_CPU
 
 config SGI_IP22
        bool "Support for SGI IP22 (Indy/Indigo2)"
+       select ARC
+       select ARC32
+       select BOOT_ELF32
+       select DMA_NONCOHERENT
        select IP22_CPU_SCACHE
        select IRQ_CPU
        select IP22_CPU_SCACHE
        select IRQ_CPU
+       select SWAP_IO_SPACE
        help
          This are the SGI Indy, Challenge S and Indigo2, as well as certain
          OEM variants like the Tandem CMN B006S. To compile a Linux kernel
        help
          This are the SGI Indy, Challenge S and Indigo2, as well as certain
          OEM variants like the Tandem CMN B006S. To compile a Linux kernel
@@ -348,6 +467,11 @@ config SGI_IP22
 config SGI_IP27
        bool "Support for SGI IP27 (Origin200/2000)"
        depends on MIPS64
 config SGI_IP27
        bool "Support for SGI IP27 (Origin200/2000)"
        depends on MIPS64
+       select ARC
+       select ARC64
+       select DMA_IP27
+       select HW_HAS_PCI
+       select PCI_DOMAINS
        help
          This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
          workstations.  To compile a Linux kernel that runs on these, say Y
        help
          This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
          workstations.  To compile a Linux kernel that runs on these, say Y
@@ -389,9 +513,9 @@ config MAPPED_KERNEL
        bool "Mapped kernel support"
        depends on SGI_IP27
        help
        bool "Mapped kernel support"
        depends on SGI_IP27
        help
-         Change the way a Linux kernel is loaded unto memory on a MIPS64
+         Change the way a Linux kernel is loaded into memory on a MIPS64
          machine.  This is required in order to support text replication and
          machine.  This is required in order to support text replication and
-         NUMA.  If you need to undersatand it, read the source code.
+         NUMA.  If you need to understand it, read the source code.
 
 config REPLICATE_KTEXT
        bool "Kernel text replication support"
 
 config REPLICATE_KTEXT
        bool "Kernel text replication support"
@@ -410,7 +534,14 @@ config REPLICATE_EXHANDLERS
 
 config SGI_IP32
        bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
 
 config SGI_IP32
        bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
+       depends on MIPS64 && EXPERIMENTAL
+       select ARC
+       select ARC32
+       select BOOT_ELF32
+       select OWN_DMA
+       select DMA_IP32
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
        select R5000_CPU_SCACHE
        select RM7000_CPU_SCACHE
        help
        select R5000_CPU_SCACHE
        select RM7000_CPU_SCACHE
        help
@@ -423,85 +554,113 @@ config SOC_AU1X00
 choice
        prompt "Au1X00 SOC Type"
        depends on SOC_AU1X00
 choice
        prompt "Au1X00 SOC Type"
        depends on SOC_AU1X00
-        help
-           Say Y here to enable support for one of three AMD/Alchemy
-           SOCs. For additional documentation see www.amd.com.
+       help
+         Say Y here to enable support for one of three AMD/Alchemy
+         SOCs. For additional documentation see www.amd.com.
 
 config SOC_AU1000
 
 config SOC_AU1000
-        bool "SOC_AU1000"
+       bool "SOC_AU1000"
 config SOC_AU1100
 config SOC_AU1100
-        bool "SOC_AU1100"
+       bool "SOC_AU1100"
 config SOC_AU1500
 config SOC_AU1500
-        bool "SOC_AU1500"
+       bool "SOC_AU1500"
 config SOC_AU1550
 config SOC_AU1550
-        bool "SOC_AU1550"
+       bool "SOC_AU1550"
 
 endchoice
 
 
 endchoice
 
-choice  
-        prompt "AMD/Alchemy Au1x00 board support"
-        depends on SOC_AU1X00
+choice
+       prompt "AMD/Alchemy Au1x00 board support"
+       depends on SOC_AU1X00
        help
          These are evaluation boards built by AMD/Alchemy to
          showcase their Au1X00 Internet Edge Processors. The SOC design
        help
          These are evaluation boards built by AMD/Alchemy to
          showcase their Au1X00 Internet Edge Processors. The SOC design
-         is based on the MIPS32 architecture running at 266/400/500MHz 
-          with many integrated peripherals. Further information can be 
-          found at their website, <http://www.amd.com/>. Say Y here if you 
-          wish to build a kernel for this platform.
+         is based on the MIPS32 architecture running at 266/400/500MHz
+         with many integrated peripherals. Further information can be
+         found at their website, <http://www.amd.com/>. Say Y here if you
+         wish to build a kernel for this platform.
 
 config MIPS_PB1000
        bool "PB1000 board"
        depends on SOC_AU1000
 
 config MIPS_PB1000
        bool "PB1000 board"
        depends on SOC_AU1000
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
+       select SWAP_IO_SPACE
 
 config MIPS_PB1100
        bool "PB1100 board"
        depends on SOC_AU1100
 
 config MIPS_PB1100
        bool "PB1100 board"
        depends on SOC_AU1100
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
+       select SWAP_IO_SPACE
 
 config MIPS_PB1500
        bool "PB1500 board"
        depends on SOC_AU1500
 
 config MIPS_PB1500
        bool "PB1500 board"
        depends on SOC_AU1500
+       select DMA_COHERENT
+       select HW_HAS_PCI
 
 config MIPS_PB1550
        bool "PB1550 board"
        depends on SOC_AU1550
 
 config MIPS_PB1550
        bool "PB1550 board"
        depends on SOC_AU1550
+       select DMA_COHERENT
+       select HW_HAS_PCI
+       select MIPS_DISABLE_OBSOLETE_IDE
 
 config MIPS_DB1000
        bool "DB1000 board"
        depends on SOC_AU1000
 
 config MIPS_DB1000
        bool "DB1000 board"
        depends on SOC_AU1000
+       select DMA_NONCOHERENT
+       select HW_HAS_PCI
 
 config MIPS_DB1100
        bool "DB1100 board"
        depends on SOC_AU1100
 
 config MIPS_DB1100
        bool "DB1100 board"
        depends on SOC_AU1100
+       select DMA_NONCOHERENT
 
 config MIPS_DB1500
        bool "DB1500 board"
        depends on SOC_AU1500
 
 config MIPS_DB1500
        bool "DB1500 board"
        depends on SOC_AU1500
+       select DMA_COHERENT
+       select HW_HAS_PCI
+       select MIPS_DISABLE_OBSOLETE_IDE
 
 config MIPS_DB1550
        bool "DB1550 board"
        depends on SOC_AU1550
 
 config MIPS_DB1550
        bool "DB1550 board"
        depends on SOC_AU1550
+       select HW_HAS_PCI
+       select DMA_COHERENT
+       select MIPS_DISABLE_OBSOLETE_IDE
 
 config MIPS_BOSPORUS
        bool "Bosporus board"
        depends on SOC_AU1500
 
 config MIPS_BOSPORUS
        bool "Bosporus board"
        depends on SOC_AU1500
+       select DMA_NONCOHERENT
 
 config MIPS_MIRAGE
        bool "Mirage board"
        depends on SOC_AU1500
 
 config MIPS_MIRAGE
        bool "Mirage board"
        depends on SOC_AU1500
+       select DMA_NONCOHERENT
 
 config MIPS_XXS1500
        bool "MyCable XXS1500 board"
        depends on SOC_AU1500
 
 config MIPS_XXS1500
        bool "MyCable XXS1500 board"
        depends on SOC_AU1500
+       select DMA_NONCOHERENT
 
 config MIPS_MTX1
        bool "4G Systems MTX-1 board"
        depends on SOC_AU1500
 
 config MIPS_MTX1
        bool "4G Systems MTX-1 board"
        depends on SOC_AU1500
+       select HW_HAS_PCI
+       select DMA_NONCOHERENT
 
 endchoice
 
 config SIBYTE_SB1xxx_SOC
        bool "Support for Broadcom BCM1xxx SOCs (EXPERIMENTAL)"
        depends on EXPERIMENTAL
 
 endchoice
 
 config SIBYTE_SB1xxx_SOC
        bool "Support for Broadcom BCM1xxx SOCs (EXPERIMENTAL)"
        depends on EXPERIMENTAL
+       select BOOT_ELF32
+       select DMA_COHERENT
+       select SWAP_IO_SPACE
 
 choice
        prompt "BCM1xxx SOC-based board"
 
 choice
        prompt "BCM1xxx SOC-based board"
@@ -584,6 +743,7 @@ endchoice
 
 config SIBYTE_SB1250
        bool
 
 config SIBYTE_SB1250
        bool
+       select HW_HAS_PCI
 
 config SIBYTE_BCM1120
        bool
 
 config SIBYTE_BCM1120
        bool
@@ -591,10 +751,12 @@ config SIBYTE_BCM1120
 
 config SIBYTE_BCM1125
        bool
 
 config SIBYTE_BCM1125
        bool
+       select HW_HAS_PCI
        select SIBYTE_BCM112X
 
 config SIBYTE_BCM1125H
        bool
        select SIBYTE_BCM112X
 
 config SIBYTE_BCM1125H
        bool
+       select HW_HAS_PCI
        select SIBYTE_BCM112X
 
 config SIBYTE_BCM112X
        select SIBYTE_BCM112X
 
 config SIBYTE_BCM112X
@@ -607,6 +769,7 @@ choice
 config CPU_SB1_PASS_1
        bool "1250 Pass1"
        depends on SIBYTE_SB1250
 config CPU_SB1_PASS_1
        bool "1250 Pass1"
        depends on SIBYTE_SB1250
+       select CPU_HAS_PREFETCH
 
 config CPU_SB1_PASS_2_1250
        bool "1250 An"
 
 config CPU_SB1_PASS_2_1250
        bool "1250 An"
@@ -618,12 +781,14 @@ config CPU_SB1_PASS_2_1250
 config CPU_SB1_PASS_2_2
        bool "1250 Bn"
        depends on SIBYTE_SB1250
 config CPU_SB1_PASS_2_2
        bool "1250 Bn"
        depends on SIBYTE_SB1250
+       select CPU_HAS_PREFETCH
        help
          Also called BCM1250 Pass 2.2
 
 config CPU_SB1_PASS_4
        bool "1250 Cn"
        depends on SIBYTE_SB1250
        help
          Also called BCM1250 Pass 2.2
 
 config CPU_SB1_PASS_4
        bool "1250 Cn"
        depends on SIBYTE_SB1250
+       select CPU_HAS_PREFETCH
        help
          Also called BCM1250 Pass 3
 
        help
          Also called BCM1250 Pass 3
 
@@ -635,17 +800,13 @@ config CPU_SB1_PASS_2_112x
 config CPU_SB1_PASS_3
        bool "112x An"
        depends on SIBYTE_BCM112X
 config CPU_SB1_PASS_3
        bool "112x An"
        depends on SIBYTE_BCM112X
+       select CPU_HAS_PREFETCH
 
 endchoice
 
 config CPU_SB1_PASS_2
        bool
 
 
 endchoice
 
 config CPU_SB1_PASS_2
        bool
 
-config SIBYTE_HAS_PCI
-       bool
-       depends on SIBYTE_SB1250 || SIBYTE_BCM1125 || SIBYTE_BCM1125H
-       default y
-
 config SIBYTE_HAS_LDT
        bool
        depends on PCI && (SIBYTE_SB1250 || SIBYTE_BCM1125H)
 config SIBYTE_HAS_LDT
        bool
        depends on PCI && (SIBYTE_SB1250 || SIBYTE_BCM1125H)
@@ -710,7 +871,14 @@ config SIBYTE_TBPROF
 
 config SNI_RM200_PCI
        bool "Support for SNI RM200 PCI"
 
 config SNI_RM200_PCI
        bool "Support for SNI RM200 PCI"
+       select ARC
+       select ARC32
+       select BOOT_ELF32
+       select DMA_NONCOHERENT
+       select GENERIC_ISA_DMA
        select HAVE_STD_PC_SERIAL_PORT
        select HAVE_STD_PC_SERIAL_PORT
+       select HW_HAS_PCI
+       select I8259
        select ISA
        help
          The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
        select ISA
        help
          The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
@@ -720,8 +888,20 @@ config SNI_RM200_PCI
 
 config TOSHIBA_RBTX4927
        bool "Support for Toshiba TBTX49[23]7 board"
 
 config TOSHIBA_RBTX4927
        bool "Support for Toshiba TBTX49[23]7 board"
-       select ISA
        depends on MIPS32
        depends on MIPS32
+       select DMA_NONCOHERENT
+       select HAS_TXX9_SERIAL
+       select HW_HAS_PCI
+       select I8259
+       select ISA
+       select SWAP_IO_SPACE
+       help
+         This Toshiba board is based on the TX4927 processor. Say Y here to
+         support this machine type
+
+config TOSHIBA_FPCIB0
+       bool "FPCIB0 Backplane Support"
+       depends on TOSHIBA_RBTX4927
 
 config RWSEM_GENERIC_SPINLOCK
        bool
 
 config RWSEM_GENERIC_SPINLOCK
        bool
@@ -730,6 +910,10 @@ config RWSEM_GENERIC_SPINLOCK
 config RWSEM_XCHGADD_ALGORITHM
        bool
 
 config RWSEM_XCHGADD_ALGORITHM
        bool
 
+config GENERIC_CALIBRATE_DELAY
+       bool
+       default y
+
 config HAVE_DEC_LOCK
        bool
        default y
 config HAVE_DEC_LOCK
        bool
        default y
@@ -744,18 +928,12 @@ config ARC
 
 config DMA_COHERENT
        bool
 
 config DMA_COHERENT
        bool
-       depends on SIBYTE_SB1xxx_SOC
-       default y
 
 config DMA_IP27
        bool
 
 config DMA_IP27
        bool
-       depends on SGI_IP27
-       default y
 
 config DMA_NONCOHERENT
        bool
 
 config DMA_NONCOHERENT
        bool
-       depends on ZAO_CAPCELLA || VICTOR_MPC30X || TOSHIBA_JMR3927 || TOSHIBA_RBTX4927 || SNI_RM200_PCI || SGI_IP32 || SGI_IP22 || NEC_EAGLE || NEC_OSPREY || DDB5477 || DDB5476 || DDB5074 || MOMENCO_OCELOT || MOMENCO_OCELOT_C || MOMENCO_OCELOT_G || MOMENCO_JAGUAR_ATX || MIPS_BOSPORUS || MIPS_DB1000 || MIPS_DB1100 || MIPS_DB1500 || MIPS_SEAD || MIPS_MALTA || MIPS_MAGNUM_4000 || MIPS_MIRAGE || MIPS_MTX1 || MIPS_XXS1500 || OLIVETTI_M700 || MIPS_ATLAS || LASAT || MIPS_ITE8172 || IBM_WORKPAD || HP_LASERJET || MIPS_IVR || MIPS_EV96100 || MIPS_EV64120 || MACH_DECSTATION || MIPS_COBALT || MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000 || MIPS_PB1550 || CASIO_E55 || ACER_PICA_61 || TANBAC_TB0226 || TANBAC_TB0229
-       default y
 
 config EARLY_PRINTK
        bool
 
 config EARLY_PRINTK
        bool
@@ -791,10 +969,13 @@ config MIPS_NILE4
        depends on LASAT
        default y
 
        depends on LASAT
        default y
 
+config MIPS_DISABLE_OBSOLETE_IDE
+       bool
+
 config CPU_LITTLE_ENDIAN
        bool "Generate little endian code"
 config CPU_LITTLE_ENDIAN
        bool "Generate little endian code"
-       default y if ACER_PICA_61 || CASIO_E55 || DDB5074 || DDB5476 || DDB5477 || MACH_DECSTATION || HP_LASERJET || IBM_WORKPAD || LASAT || MIPS_COBALT || MIPS_ITE8172 || MIPS_IVR || SOC_AU1X00 || NEC_OSPREY || NEC_EAGLE || OLIVETTI_M700 || SNI_RM200_PCI || VICTOR_MPC30X || ZAO_CAPCELLA
-       default n if BAGET_MIPS || MIPS_EV64120 || MIPS_EV96100 || MOMENCO_OCELOT || MOMENCO_OCELOT_G || SGI_IP22 || SGI_IP27 || SGI_IP32 || TOSHIBA_JMR3927
+       default y if ACER_PICA_61 || CASIO_E55 || DDB5074 || DDB5476 || DDB5477 || MACH_DECSTATION || IBM_WORKPAD || LASAT || MIPS_COBALT || MIPS_ITE8172 || MIPS_IVR || SOC_AU1X00 || NEC_OSPREY || OLIVETTI_M700 || SNI_RM200_PCI || VICTOR_MPC30X || ZAO_CAPCELLA
+       default n if MIPS_EV64120 || MIPS_EV96100 || MOMENCO_OCELOT || MOMENCO_OCELOT_G || SGI_IP22 || SGI_IP27 || SGI_IP32 || TOSHIBA_JMR3927
        help
          Some MIPS machines can be configured for either little or big endian
          byte order. These modes require different kernels. Say Y if your
        help
          Some MIPS machines can be configured for either little or big endian
          byte order. These modes require different kernels. Say Y if your
@@ -806,18 +987,8 @@ config IRQ_CPU
 config IRQ_CPU_RM7K
        bool
 
 config IRQ_CPU_RM7K
        bool
 
-config DUMMY_KEYB
+config IRQ_MV64340
        bool
        bool
-       depends on ZAO_CAPCELLA || VICTOR_MPC30X || SIBYTE_SB1xxx_SOC || NEC_EAGLE || NEC_OSPREY || DDB5477 || CASIO_E55 || TANBAC_TB0226 || TANBAC_TB0229
-       default y
-
-config VRC4171
-       tristate "NEC VRC4171 Support"
-       depends on IBM_WORKPAD
-
-config VRC4173
-       tristate "NEC VRC4173 Support"
-       depends on NEC_EAGLE || VICTOR_MPC30X
 
 config DDB5XXX_COMMON
        bool
 
 config DDB5XXX_COMMON
        bool
@@ -839,16 +1010,15 @@ config MIPS_GT64120
        depends on MIPS_EV64120 || MIPS_EV96100 || LASAT || MIPS_ATLAS || MIPS_MALTA || MOMENCO_OCELOT
        default y
 
        depends on MIPS_EV64120 || MIPS_EV96100 || LASAT || MIPS_ATLAS || MIPS_MALTA || MOMENCO_OCELOT
        default y
 
-config MIPS_MV64340
-       bool
-       depends on MOMENCO_JAGUAR_ATX || MOMENCO_OCELOT_C
-       default y
-
 config MIPS_TX3927
        bool
        depends on TOSHIBA_JMR3927
 config MIPS_TX3927
        bool
        depends on TOSHIBA_JMR3927
+       select HAS_TXX9_SERIAL
        default y
 
        default y
 
+config PCI_MARVELL
+       bool
+
 config ITE_BOARD_GEN
        bool
        depends on MIPS_IVR || MIPS_ITE8172
 config ITE_BOARD_GEN
        bool
        depends on MIPS_IVR || MIPS_ITE8172
@@ -856,8 +1026,6 @@ config ITE_BOARD_GEN
 
 config SWAP_IO_SPACE
        bool
 
 config SWAP_IO_SPACE
        bool
-       depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927 || SIBYTE_SB1xxx_SOC || SGI_IP22 || MOMENCO_OCELOT_C || MOMENCO_OCELOT_G || MOMENCO_OCELOT || MOMENCO_JAGUAR_ATX || MIPS_MALTA || MIPS_ATLAS || MIPS_EV96100 || MIPS_PB1100 || MIPS_PB1000
-       default y
 
 #
 # Unfortunately not all GT64120 systems run the chip at the same clock.
 
 #
 # Unfortunately not all GT64120 systems run the chip at the same clock.
@@ -881,16 +1049,11 @@ config SYSCLK_100
 
 endchoice
 
 
 endchoice
 
-config AU1000_USB_DEVICE
+config AU1X00_USB_DEVICE
        bool
        depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
        default n
 
        bool
        depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
        default n
 
-config COBALT_LCD
-       bool
-       depends on MIPS_COBALT
-       default y
-
 config MIPS_GT96100
        bool
        depends on MIPS_EV96100
 config MIPS_GT96100
        bool
        depends on MIPS_EV96100
@@ -911,7 +1074,7 @@ config IT8712
 
 config BOOT_ELF32
        bool
 
 config BOOT_ELF32
        bool
-       depends on MACH_DECSTATION || MIPS_ATLAS || MIPS_MALTA || MOMENCO_JAGUAR_ATX || SIBYTE_SB1xxx_SOC || SGI_IP32 || SGI_IP22 || SNI_RM200_PCI
+       depends on MACH_DECSTATION || MIPS_ATLAS || MIPS_MALTA || MOMENCO_JAGUAR_ATX || MOMENCO_OCELOT_3 || SIBYTE_SB1xxx_SOC || SGI_IP32 || SGI_IP22 || SNI_RM200_PCI
        default y
 
 config MIPS_L1_CACHE_SHIFT
        default y
 
 config MIPS_L1_CACHE_SHIFT
@@ -960,11 +1123,6 @@ config FB
          (e.g. an accelerated X server) and that are not frame buffer
          device-aware may cause unexpected results. If unsure, say N.
 
          (e.g. an accelerated X server) and that are not frame buffer
          device-aware may cause unexpected results. If unsure, say N.
 
-config FB_G364
-       bool
-       depends on MIPS_MAGNUM_4000 || OLIVETTI_M700
-       default y
-
 config HAVE_STD_PC_SERIAL_PORT
        bool
 
 config HAVE_STD_PC_SERIAL_PORT
        bool
 
@@ -1012,13 +1170,8 @@ config TOSHIBA_BOARDS
        depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
        default y
 
        depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
        default y
 
-config TANBAC_TB0219
-       bool "Added TANBAC TB0219 Base board support"
-       depends on TANBAC_TB0229
-
 endmenu
 
 endmenu
 
-
 menu "CPU selection"
 
 choice
 menu "CPU selection"
 
 choice
@@ -1084,9 +1237,9 @@ config CPU_R6000
          processors are extremly rare and the support for them is incomplete.
 
 config CPU_NEVADA
          processors are extremly rare and the support for them is incomplete.
 
 config CPU_NEVADA
-       bool "R52xx"
+       bool "RM52xx"
        help
        help
-         MIPS Technologies R52x0-series ("Nevada") processors.
+         QED / PMC-Sierra RM52xx-series ("Nevada") processors.
 
 config CPU_R8000
        bool "R8000"
 
 config CPU_R8000
        bool "R8000"
@@ -1121,7 +1274,17 @@ config PAGE_SIZE_4KB
         This option select the standard 4kB Linux page size.  On some
         R3000-family processors this is the only available page size.  Using
         4kB page size will minimize memory consumption and is therefore
         This option select the standard 4kB Linux page size.  On some
         R3000-family processors this is the only available page size.  Using
         4kB page size will minimize memory consumption and is therefore
-        recommended for low memory systems. 
+        recommended for low memory systems.
+
+config PAGE_SIZE_8KB
+       bool "8kB"
+       depends on EXPERIMENTAL && CPU_R8000
+       help
+         Using 8kB page size will result in higher performance kernel at
+         the price of higher memory consumption.  This option is available
+         only on the R8000 processor.  Not that at the time of this writing
+         this option is still high experimental; there are also issues with
+         compatibility of user applications.
 
 config PAGE_SIZE_16KB
        bool "16kB"
 
 config PAGE_SIZE_16KB
        bool "16kB"
@@ -1170,7 +1333,7 @@ config SIBYTE_DMA_PAGEOPS
 
 config CPU_HAS_PREFETCH
        bool "Enable prefetches" if CPU_SB1 && !CPU_SB1_PASS_2
 
 config CPU_HAS_PREFETCH
        bool "Enable prefetches" if CPU_SB1 && !CPU_SB1_PASS_2
-       default y if CPU_MIPS32 || CPU_MIPS64 || CPU_RM7000 || CPU_RM9000
+       default y if CPU_MIPS32 || CPU_MIPS64 || CPU_RM7000 || CPU_RM9000 || CPU_R10000
 
 config VTAG_ICACHE
        bool "Support for Virtual Tagged I-cache" if CPU_MIPS64 || CPU_MIPS32
 
 config VTAG_ICACHE
        bool "Support for Virtual Tagged I-cache" if CPU_MIPS64 || CPU_MIPS32
@@ -1251,7 +1414,7 @@ config CPU_HAS_SYNC
 #
 config HIGHMEM
        bool "High Memory Support"
 #
 config HIGHMEM
        bool "High Memory Support"
-       depends on MIPS32 && (CPU_R3000 || CPU_SB1 || CPU_R7000 || CPU_RM9000 || CPU_R10000) && !(BAGET_MIPS || MACH_DECSTATION || MOMENCO_JAGUAR_ATX)
+       depends on MIPS32 && (CPU_R3000 || CPU_SB1 || CPU_R7000 || CPU_RM9000 || CPU_R10000) && !(MACH_DECSTATION || MOMENCO_JAGUAR_ATX)
 
 config SMP
        bool "Multi-Processing support"
 
 config SMP
        bool "Multi-Processing support"
@@ -1299,21 +1462,6 @@ config PREEMPT
          This allows applications to run more reliably even when the system is
          under load.
 
          This allows applications to run more reliably even when the system is
          under load.
 
-config DEBUG_SPINLOCK
-       bool "Spinlock debugging"
-       depends on DEBUG_KERNEL
-       help
-         Say Y here and build SMP to catch missing spinlock initialization
-         and certain other kinds of spinlock errors commonly made.  This is
-         best used in conjunction with the NMI watchdog so that spinlock
-         deadlocks are also debuggable.
-
-config DEBUG_SPINLOCK_SLEEP
-       bool "Sleep-inside-spinlock checking"
-       help
-         If you say Y here, various routines which may sleep will become very
-         noisy if they are called with a spinlock held.
-
 config RTC_DS1742
        bool "DS1742 BRAM/RTC support"
        depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
 config RTC_DS1742
        bool "DS1742 BRAM/RTC support"
        depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
@@ -1336,9 +1484,12 @@ endmenu
 
 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
 
 
 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
 
+config HW_HAS_PCI
+       bool
+
 config PCI
        bool "Support for PCI controller"
 config PCI
        bool "Support for PCI controller"
-       depends on MIPS_DB1000 || DDB5074 || DDB5476 || DDB5477 || HP_LASERJET || LASAT || MIPS_IVR || MIPS_ATLAS || MIPS_COBALT || MIPS_EV64120 || MIPS_EV96100 || MIPS_ITE8172 || MIPS_MALTA || MOMENCO_OCELOT || MOMENCO_OCELOT_C || MOMENCO_OCELOT_G || MOMENCO_JAGUAR_ATX || MIPS_PB1000 || MIPS_PB1100 || SOC_AU1500 || SOC_AU1550 || NEC_EAGLE || SGI_IP27 || SGI_IP32 || SIBYTE_HAS_PCI || SNI_RM200_PCI || TANBAC_TB0226 || TANBAC_TB0229 || TOSHIBA_JMR3927 || TOSHIBA_RBTX4927 || VICTOR_MPC30X || ZAO_CAPCELLA
+       depends on HW_HAS_PCI
        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
        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
@@ -1350,6 +1501,10 @@ config PCI
          information about which PCI hardware does work under Linux and which
          doesn't.
 
          information about which PCI hardware does work under Linux and which
          doesn't.
 
+config PCI_DOMAINS
+       bool
+       depends on PCI
+
 source "drivers/pci/Kconfig"
 
 #
 source "drivers/pci/Kconfig"
 
 #
@@ -1416,9 +1571,24 @@ config TRAD_SIGNALS
        bool
        default y if MIPS32
 
        bool
        default y if MIPS32
 
+config BUILD_ELF64
+       bool "Use 64-bit ELF format for building"
+       depends on MIPS64
+       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"
 config BINFMT_IRIX
        bool "Include IRIX binary compatibility"
-       depends on !CPU_LITTLE_ENDIAN && MIPS32
+       depends on !CPU_LITTLE_ENDIAN && MIPS32 && BROKEN
 
 config MIPS32_COMPAT
        bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
 
 config MIPS32_COMPAT
        bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
@@ -1464,141 +1634,11 @@ config PM
 
 endmenu
 
 
 endmenu
 
-menu "MIPS initrd options"
-       depends on BLK_DEV_INITRD
-
-config EMBEDDED_RAMDISK
-       bool "Embed root filesystem ramdisk into the kernel"
-
-config EMBEDDED_RAMDISK_IMAGE
-       string "Filename of gziped ramdisk image"
-       depends on EMBEDDED_RAMDISK
-       default "ramdisk.gz"
-       help
-         This is the filename of the ramdisk image to be built into the
-         kernel.  Relative pathnames are relative to arch/mips/ramdisk/.  
-         The ramdisk image is not part of the kernel distribution; you must
-         provide one yourself.
-
-endmenu
-
 source "drivers/Kconfig"
 
 source "fs/Kconfig"
 
 source "drivers/Kconfig"
 
 source "fs/Kconfig"
 
-menu "Kernel hacking"
-
-config CROSSCOMPILE
-       bool "Are you using a crosscompiler"
-       help
-         Say Y here if you are compiling the kernel on a different
-         architecture than the one it is intended to run on.
-
-config CMDLINE
-       string "Default kernel command string"
-       default ""
-       help
-          On some platforms, there is currently no way for the boot loader to
-          pass arguments to the kernel. For these platforms, you can supply
-          some command-line options at build time by entering them here.  In
-          other cases you can specify kernel args so that you don't have
-         to set them up in board prom initialization routines.
-
-config DEBUG_KERNEL
-       bool "Kernel debugging"
-
-config DEBUG_STACK_USAGE
-       bool "Enable stack utilization instrumentation"
-       depends on DEBUG_KERNEL
-       help
-         Enables the display of the minimum amount of free stack which each
-         task has ever had available in the sysrq-T and sysrq-P debug output.
-
-         This option will slow down process creation somewhat.
-
-config DEBUG_SLAB
-       bool "Debug memory allocations"
-       depends on DEBUG_KERNEL && !CPU_HAS_LLDSCD
-       help
-         Say Y here to have the kernel do limited verification on memory
-         allocation as well as poisoning memory on free to catch use of freed
-         memory.
-
-config KGDB
-       bool "Remote GDB kernel debugging"
-       depends on DEBUG_KERNEL
-       select DEBUG_INFO
-       help
-         If you say Y here, it will be possible to remotely debug the MIPS
-         kernel using gdb. This enlarges your kernel image disk size by
-         several megabytes and requires a machine with more than 16 MB,
-         better 32 MB RAM to avoid excessive linking time. This is only
-         useful for kernel hackers. If unsure, say N.
-
-config GDB_CONSOLE
-       bool "Console output to GDB"
-       depends on KGDB
-       help
-         If you are using GDB for remote debugging over a serial port and
-         would like kernel messages to be formatted into GDB $O packets so
-         that GDB prints them as program output, say 'Y'.
-
-config DEBUG_INFO
-       bool "Compile the kernel with debug info"
-       depends on DEBUG_KERNEL
-       help
-         If you say Y here the resulting kernel image will include
-         debugging info resulting in a larger kernel image.
-         Say Y here only if you plan to use gdb to debug the kernel.
-         If you don't debug the kernel, you can say N.
-
-config SB1XXX_CORELIS
-       bool "Corelis Debugger"
-       depends on SIBYTE_SB1xxx_SOC
-       select DEBUG_INFO
-       help
-         Select compile flags that produce code that can be processed by the
-         Corelis mksym utility and UDB Emulator.
-
-config RUNTIME_DEBUG
-       bool "Enable run-time debugging"
-       depends on DEBUG_KERNEL
-       help
-         If you say Y here, some debugging macros will do run-time checking.
-         If you say N here, those macros will mostly turn to no-ops.  See 
-         include/asm-mips/debug.h for debuging macros.
-         If unsure, say N.
-
-
-config MAGIC_SYSRQ
-       bool "Magic SysRq key"
-       depends on DEBUG_KERNEL
-       help
-         If you say Y here, you will have some control over the system even
-         if the system crashes for example during kernel debugging (e.g., you
-         will be able to flush the buffer cache to disk, reboot the system
-         immediately or dump some status information). This is accomplished
-         by pressing various keys while holding SysRq (Alt+PrintScreen). It
-         also works on a serial console (on PC hardware at least), if you
-         send a BREAK and then within 5 seconds a command keypress. The
-         keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
-         unless you really know what this hack does.
-
-config MIPS_UNCACHED
-       bool "Run uncached"
-       depends on DEBUG_KERNEL && !SMP && !SGI_IP27
-       help
-         If you say Y here there kernel will disable all CPU caches.  This will
-         reduce the system's performance dramatically but can help finding
-         otherwise hard to track bugs.  It can also useful if you're doing
-         hardware debugging with a logic analyzer and need to see all traffic
-         on the bus.
-
-config DEBUG_HIGHMEM
-       bool "Highmem debugging"
-       depends on DEBUG_KERNEL && HIGHMEM
-
-endmenu
+source "arch/mips/Kconfig.debug"
 
 source "kernel/vserver/Kconfig"
 
 
 source "kernel/vserver/Kconfig"
 
@@ -1607,3 +1647,18 @@ source "security/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
+
+#
+# Use the generic interrupt handling code in kernel/irq/:
+#
+config GENERIC_HARDIRQS
+       bool
+       default y
+
+config GENERIC_IRQ_PROBE
+       bool
+       default y
+
+config ISA_DMA_API
+       bool
+       default y