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
        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
        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
        select SOC_AU1500
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 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
        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
        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
        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
 
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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 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
        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 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
        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
        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
        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
        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
 
 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
 
        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
        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
        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
        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
        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_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        help
        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
-       select PCI_DOMAINS
 
 config SIBYTE_SWARM
        bool "Support for Sibyte BCM91250A-SWARM"
        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
        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
 
        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
 
        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
 
        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
        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
        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
 
        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
        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
        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
        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
        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
 
 config SOC_AU1X00
        bool
+       select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_32BIT_KERNEL
 
 config PNX8550
 
 config SOC_PNX8550
        bool
-       select SYS_SUPPORTS_32BIT_KERNEL
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select SYS_HAS_CPU_R4X00
+       select SYS_SUPPORTS_32BIT_KERNEL
 
 config SWAP_IO_SPACE
        bool
 
 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
 
 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
 
 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
 
 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
 
 config CPU_R3000
        bool "R3000"
+       depends on SYS_HAS_CPU_R3000
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
        help
 
 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
 
 config CPU_R4300
        bool "R4300"
+       depends on SYS_HAS_CPU_R4300
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
 
 config CPU_R4X00
        bool "R4x00"
+       depends on SYS_HAS_CPU_R4X00
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
 
 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
 
 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
 
 config CPU_NEVADA
        bool "RM52xx"
+       depends on SYS_HAS_CPU_NEVADA
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
 config CPU_R8000
        bool "R8000"
        depends on EXPERIMENTAL
+       depends on SYS_HAS_CPU_R8000
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_64BIT_KERNEL
        help
 
 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
 
 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
 
 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
 
 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
 
 #