Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6
[powerpc.git] / arch / mips / Kconfig
index bafd775..767de84 100644 (file)
@@ -6,8 +6,6 @@ config MIPS
 
 mainmenu "Linux/MIPS Kernel Configuration"
 
-source "init/Kconfig"
-
 menu "Machine selection"
 
 choice
@@ -19,12 +17,14 @@ config MIPS_MTX1
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select SOC_AU1500
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_BOSPORUS
        bool "AMD Alchemy Bosporus board"
        select SOC_AU1500
        select DMA_NONCOHERENT
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_PB1000
@@ -33,6 +33,7 @@ config MIPS_PB1000
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_PB1100
@@ -41,6 +42,7 @@ config MIPS_PB1100
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_PB1500
@@ -48,6 +50,7 @@ config MIPS_PB1500
        select SOC_AU1500
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_PB1550
@@ -56,6 +59,7 @@ config MIPS_PB1550
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select MIPS_DISABLE_OBSOLETE_IDE
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_PB1200
@@ -63,6 +67,7 @@ config MIPS_PB1200
        select SOC_AU1200
        select DMA_NONCOHERENT
        select MIPS_DISABLE_OBSOLETE_IDE
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_DB1000
@@ -70,12 +75,14 @@ config MIPS_DB1000
        select SOC_AU1000
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_DB1100
        bool "AMD Alchemy DB1100 board"
        select SOC_AU1100
        select DMA_NONCOHERENT
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_DB1500
@@ -84,6 +91,7 @@ config MIPS_DB1500
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select MIPS_DISABLE_OBSOLETE_IDE
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
@@ -93,6 +101,7 @@ config MIPS_DB1550
        select HW_HAS_PCI
        select DMA_NONCOHERENT
        select MIPS_DISABLE_OBSOLETE_IDE
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_DB1200
@@ -100,12 +109,14 @@ config MIPS_DB1200
        select SOC_AU1200
        select DMA_COHERENT
        select MIPS_DISABLE_OBSOLETE_IDE
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_MIRAGE
        bool "AMD Alchemy Mirage board"
        select DMA_NONCOHERENT
        select SOC_AU1500
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_COBALT
@@ -115,6 +126,7 @@ config MIPS_COBALT
        select I8259
        select IRQ_CPU
        select MIPS_GT64111
+       select SYS_HAS_CPU_NEVADA
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -125,6 +137,8 @@ config MACH_DECSTATION
        select DMA_NONCOHERENT
        select EARLY_PRINTK
        select IRQ_CPU
+       select SYS_HAS_CPU_R3000
+       select SYS_HAS_CPU_R4X00
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -149,6 +163,7 @@ config MIPS_EV64120
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select MIPS_GT64120
+       select SYS_HAS_CPU_R5000
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
@@ -168,6 +183,8 @@ config MIPS_EV96100
        select MIPS_GT96100
        select RM7000_CPU_SCACHE
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_R5000
+       select SYS_HAS_CPU_RM7000
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_BIG_ENDIAN
@@ -182,6 +199,7 @@ config MIPS_IVR
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select ITE_BOARD_GEN
+       select SYS_HAS_CPU_NEVADA
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -197,6 +215,8 @@ config MIPS_ITE8172
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select ITE_BOARD_GEN
+       select SYS_HAS_CPU_R5432
+       select SYS_HAS_CPU_NEVADA
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -215,6 +235,7 @@ config MACH_JAZZ
        select GENERIC_ISA_DMA
        select I8259
        select ISA
+       select SYS_HAS_CPU_R4X00
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        help
@@ -230,6 +251,7 @@ config LASAT
        select MIPS_GT64120
        select MIPS_NILE4
        select R5000_CPU_SCACHE
+       select SYS_HAS_CPU_R5000
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -246,6 +268,11 @@ config MIPS_ATLAS
        select MIPS_MSC
        select RM7000_CPU_SCACHE
        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
@@ -269,6 +296,11 @@ config MIPS_MALTA
        select MIPS_GT64120
        select MIPS_MSC
        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
@@ -283,6 +315,9 @@ config MIPS_SEAD
        select IRQ_CPU
        select DMA_NONCOHERENT
        select MIPS_BOARDS_GEN
+       select SYS_HAS_CPU_MIPS32_R1
+       select SYS_HAS_CPU_MIPS32_R2
+       select SYS_HAS_CPU_MIPS64_R1
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_BIG_ENDIAN
@@ -295,6 +330,8 @@ config MIPS_SIM
        bool 'Support for MIPS simulator (MIPSsim)'
        select DMA_NONCOHERENT
        select IRQ_CPU
+       select SYS_HAS_CPU_MIPS32_R1
+       select SYS_HAS_CPU_MIPS32_R2
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -314,6 +351,7 @@ config MOMENCO_JAGUAR_ATX
        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
@@ -330,6 +368,7 @@ config MOMENCO_OCELOT
        select MIPS_GT64120
        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
@@ -348,6 +387,7 @@ config MOMENCO_OCELOT_3
        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
@@ -364,6 +404,7 @@ config MOMENCO_OCELOT_C
        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
@@ -380,6 +421,7 @@ config MOMENCO_OCELOT_G
        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
@@ -413,6 +455,7 @@ config DDB5074
        select IRQ_CPU
        select I8259
        select ISA
+       select SYS_HAS_CPU_R5000
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -429,6 +472,7 @@ config DDB5476
        select IRQ_CPU
        select I8259
        select ISA
+       select SYS_HAS_CPU_R5432
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -447,6 +491,7 @@ config DDB5477
        select HW_HAS_PCI
        select I8259
        select IRQ_CPU
+       select SYS_HAS_CPU_R5432
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -459,6 +504,7 @@ config DDB5477
 
 config MACH_VR41XX
        bool "Support for NEC VR4100 series based machines"
+       select SYS_HAS_CPU_VR41XX
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
 
@@ -470,6 +516,7 @@ config PMC_YOSEMITE
        select IRQ_CPU_RM7K
        select IRQ_CPU_RM9K
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_RM9000
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
@@ -486,6 +533,7 @@ config QEMU
        select I8259
        select ISA
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        help
@@ -506,6 +554,8 @@ config SGI_IP22
        select IP22_CPU_SCACHE
        select IRQ_CPU
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_R4X00
+       select SYS_HAS_CPU_R5000
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
@@ -522,6 +572,7 @@ config SGI_IP27
        select DMA_IP27
        select HW_HAS_PCI
        select PCI_DOMAINS
+       select SYS_HAS_CPU_R10000
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        help
@@ -541,17 +592,33 @@ config SGI_IP32
        select HW_HAS_PCI
        select R5000_CPU_SCACHE
        select RM7000_CPU_SCACHE
+       select SYS_HAS_CPU_R5000
+       select SYS_HAS_CPU_R10000 if BROKEN
+       select SYS_HAS_CPU_RM7000
+       select SYS_HAS_CPU_NEVADA
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        help
          If you want this kernel to run on SGI O2 workstation, say Y here.
 
+config SIBYTE_BIGSUR
+       bool "Support for Sibyte BigSur"
+       select BOOT_ELF32
+       select DMA_COHERENT
+       select PCI_DOMAINS
+       select SIBYTE_BCM1x80
+       select SWAP_IO_SPACE
+       select SYS_HAS_CPU_SB1
+       select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_LITTLE_ENDIAN
+
 config SIBYTE_SWARM
        bool "Support for Sibyte BCM91250A-SWARM"
        select BOOT_ELF32
        select DMA_COHERENT
        select SIBYTE_SB1250
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -563,6 +630,7 @@ config SIBYTE_SENTOSA
        select DMA_COHERENT
        select SIBYTE_SB1250
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
@@ -573,6 +641,7 @@ config SIBYTE_RHONE
        select DMA_COHERENT
        select SIBYTE_BCM1125H
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
@@ -583,6 +652,7 @@ config SIBYTE_CARMEL
        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
 
@@ -593,6 +663,7 @@ config SIBYTE_PTSWARM
        select DMA_COHERENT
        select SIBYTE_SB1250
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -604,6 +675,7 @@ config SIBYTE_LITTLESUR
        select DMA_COHERENT
        select SIBYTE_SB1250
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -615,6 +687,7 @@ config SIBYTE_CRHINE
        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
 
@@ -625,6 +698,7 @@ config SIBYTE_CRHONE
        select DMA_COHERENT
        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
@@ -642,6 +716,7 @@ config SNI_RM200_PCI
        select HW_HAS_PCI
        select I8259
        select ISA
+       select SYS_HAS_CPU_R4X00
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_BIG_ENDIAN if EXPERIMENTAL
@@ -659,6 +734,7 @@ config TOSHIBA_JMR3927
        select HW_HAS_PCI
        select MIPS_TX3927
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_TX39XX
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        select TOSHIBA_BOARDS
@@ -671,6 +747,7 @@ config TOSHIBA_RBTX4927
        select I8259
        select ISA
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_TX49XX
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
@@ -689,6 +766,7 @@ config TOSHIBA_RBTX4938
        select I8259
        select ISA
        select SWAP_IO_SPACE
+       select SYS_HAS_CPU_TX49XX
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SYS_SUPPORTS_BIG_ENDIAN
@@ -868,6 +946,7 @@ config SOC_AU1200
 
 config SOC_AU1X00
        bool
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_32BIT_KERNEL
 
 config PNX8550
@@ -876,9 +955,10 @@ config PNX8550
 
 config SOC_PNX8550
        bool
-       select SYS_SUPPORTS_32BIT_KERNEL
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select SYS_HAS_CPU_MIPS32_R1
+       select SYS_SUPPORTS_32BIT_KERNEL
 
 config SWAP_IO_SPACE
        bool
@@ -970,6 +1050,7 @@ choice
 
 config CPU_MIPS32_R1
        bool "MIPS32 Release 1"
+       depends on SYS_HAS_CPU_MIPS32_R1
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        help
@@ -985,6 +1066,7 @@ config CPU_MIPS32_R1
 
 config CPU_MIPS32_R2
        bool "MIPS32 Release 2"
+       depends on SYS_HAS_CPU_MIPS32_R2
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        help
@@ -996,6 +1078,7 @@ config CPU_MIPS32_R2
 
 config CPU_MIPS64_R1
        bool "MIPS64 Release 1"
+       depends on SYS_HAS_CPU_MIPS64_R1
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
@@ -1012,6 +1095,7 @@ config CPU_MIPS64_R1
 
 config CPU_MIPS64_R2
        bool "MIPS64 Release 2"
+       depends on SYS_HAS_CPU_MIPS64_R2
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
@@ -1024,6 +1108,7 @@ config CPU_MIPS64_R2
 
 config CPU_R3000
        bool "R3000"
+       depends on SYS_HAS_CPU_R3000
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
        help
@@ -1036,10 +1121,12 @@ config CPU_R3000
 
 config CPU_TX39XX
        bool "R39XX"
+       depends on SYS_HAS_CPU_TX39XX
        select CPU_SUPPORTS_32BIT_KERNEL
 
 config CPU_VR41XX
        bool "R41xx"
+       depends on SYS_HAS_CPU_VR41XX
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
@@ -1050,6 +1137,7 @@ config CPU_VR41XX
 
 config CPU_R4300
        bool "R4300"
+       depends on SYS_HAS_CPU_R4300
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
@@ -1057,6 +1145,7 @@ config CPU_R4300
 
 config CPU_R4X00
        bool "R4x00"
+       depends on SYS_HAS_CPU_R4X00
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
@@ -1065,11 +1154,13 @@ config CPU_R4X00
 
 config CPU_TX49XX
        bool "R49XX"
+       depends on SYS_HAS_CPU_TX49XX
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
 
 config CPU_R5000
        bool "R5000"
+       depends on SYS_HAS_CPU_R5000
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
@@ -1077,12 +1168,14 @@ config CPU_R5000
 
 config CPU_R5432
        bool "R5432"
+       depends on SYS_HAS_CPU_R5432
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
 
 config CPU_R6000
        bool "R6000"
        depends on EXPERIMENTAL
+       depends on SYS_HAS_CPU_R6000
        select CPU_SUPPORTS_32BIT_KERNEL
        help
          MIPS Technologies R6000 and R6000A series processors.  Note these
@@ -1090,6 +1183,7 @@ config CPU_R6000
 
 config CPU_NEVADA
        bool "RM52xx"
+       depends on SYS_HAS_CPU_NEVADA
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
@@ -1098,6 +1192,7 @@ config CPU_NEVADA
 config CPU_R8000
        bool "R8000"
        depends on EXPERIMENTAL
+       depends on SYS_HAS_CPU_R8000
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_64BIT_KERNEL
        help
@@ -1106,6 +1201,7 @@ config CPU_R8000
 
 config CPU_R10000
        bool "R10000"
+       depends on SYS_HAS_CPU_R10000
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
@@ -1115,6 +1211,7 @@ config CPU_R10000
 
 config CPU_RM7000
        bool "RM7000"
+       depends on SYS_HAS_CPU_RM7000
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
@@ -1122,6 +1219,7 @@ config CPU_RM7000
 
 config CPU_RM9000
        bool "RM9000"
+       depends on SYS_HAS_CPU_RM9000
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
@@ -1129,12 +1227,70 @@ config CPU_RM9000
 
 config CPU_SB1
        bool "SB1"
+       depends on SYS_HAS_CPU_SB1
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
 
 endchoice
 
+config SYS_HAS_CPU_MIPS32_R1
+       bool
+
+config SYS_HAS_CPU_MIPS32_R2
+       bool
+
+config SYS_HAS_CPU_MIPS64_R1
+       bool
+
+config SYS_HAS_CPU_MIPS64_R2
+       bool
+
+config SYS_HAS_CPU_R3000
+       bool
+
+config SYS_HAS_CPU_TX39XX
+       bool
+
+config SYS_HAS_CPU_VR41XX
+       bool
+
+config SYS_HAS_CPU_R4300
+       bool
+
+config SYS_HAS_CPU_R4X00
+       bool
+
+config SYS_HAS_CPU_TX49XX
+       bool
+
+config SYS_HAS_CPU_R5000
+       bool
+
+config SYS_HAS_CPU_R5432
+       bool
+
+config SYS_HAS_CPU_R6000
+       bool
+
+config SYS_HAS_CPU_NEVADA
+       bool
+
+config SYS_HAS_CPU_R8000
+       bool
+
+config SYS_HAS_CPU_R10000
+       bool
+
+config SYS_HAS_CPU_RM7000
+       bool
+
+config SYS_HAS_CPU_RM9000
+       bool
+
+config SYS_HAS_CPU_SB1
+       bool
+
 endmenu
 
 #
@@ -1316,7 +1472,7 @@ config SB1_PASS_2_1_WORKAROUNDS
 
 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_R1 || CPU_MIPS64_R1) && 32BIT
+       depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
 
 config CPU_ADVANCED
        bool "Override CPU Options"
@@ -1337,14 +1493,6 @@ config CPU_HAS_LLSC
          for better performance, N if you don't know.  You must say Y here
          for multiprocessor machines.
 
-config CPU_HAS_LLDSCD
-       bool "lld/scd Instructions available" if CPU_ADVANCED
-       default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32_R1
-       help
-         Say Y here if your CPU has the lld and scd instructions, the 64-bit
-         equivalents of ll and sc.  Say Y here for better performance, N if
-         you don't know.  You must say Y here for multiprocessor machines.
-
 config CPU_HAS_WB
        bool "Writeback Buffer available" if CPU_ADVANCED
        default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
@@ -1429,7 +1577,7 @@ source "mm/Kconfig"
 
 config SMP
        bool "Multi-Processing support"
-       depends on CPU_RM9000 || (SIBYTE_SB1250 && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
+       depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
        ---help---
          This enables support for systems with more than one CPU. If you have
          a system with only one CPU, like most personal computers, say N. If
@@ -1486,6 +1634,8 @@ config RWSEM_GENERIC_SPINLOCK
        bool
        default y
 
+source "init/Kconfig"
+
 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
 
 config HW_HAS_EISA