A little more Kconfig untangeling.
authorRalf Baechle <ralf@linux-mips.org>
Wed, 10 Aug 2005 15:17:11 +0000 (15:17 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Sat, 29 Oct 2005 18:32:01 +0000 (19:32 +0100)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/Kconfig

index 8ac03cfcb2d2fa58eeef9ae32d7162b189a13a57..5af30d385aca7a3f64a48e2698188dc140b0b21c 100644 (file)
@@ -562,6 +562,7 @@ config QEMU
        select SWAP_IO_SPACE
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_HIGHMEM
        help
         Qemu is a software emulator which among other architectures also
         can simulate a MIPS32 4Kc system.  This patch adds support for the
@@ -759,6 +760,10 @@ config MIPS_PB1200
        select DMA_NONCOHERENT
        select MIPS_DISABLE_OBSOLETE_IDE
        select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_HIGHMEM
+       select SYS_SUPPORTS_HIGHMEM
+       select SYS_SUPPORTS_HIGHMEM
+       select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config MIPS_DB1000
@@ -829,6 +834,7 @@ config SNI_RM200_PCI
        select ISA
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
+       select SYS_SUPPORTS_HIGHMEM
        help
          The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
          Nixdorf Informationssysteme (SNI), parent company of Pyramid
@@ -913,6 +919,7 @@ config I8259
 config LIMITED_DMA
        bool
        select HIGHMEM
+       select SYS_SUPPORTS_HIGHMEM
 
 config MIPS_BONITO64
        bool
@@ -1105,8 +1112,8 @@ choice
 
 config CPU_MIPS32_R1
        bool "MIPS32 Release 1"
-       select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_HAS_PREFETCH
+       select CPU_SUPPORTS_32BIT_KERNEL
        help
          Choose this option to build a kernel for release 2 or later of the
          MIPS32 architecture.  Most modern embedded systems with a 32-bit
@@ -1120,8 +1127,8 @@ config CPU_MIPS32_R1
 
 config CPU_MIPS32_R2
        bool "MIPS32 Release 2"
-       select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_HAS_PREFETCH
+       select CPU_SUPPORTS_32BIT_KERNEL
        help
          Choose this option to build a kernel for release 1 or later of the
          MIPS32 architecture.  Most modern embedded systems with a 32-bit
@@ -1131,9 +1138,9 @@ config CPU_MIPS32_R2
 
 config CPU_MIPS64_R1
        bool "MIPS64 Release 1"
+       select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
-       select CPU_HAS_PREFETCH
        help
          Choose this option to build a kernel for release 1 or later of the
          MIPS64 architecture.  Many modern embedded systems with a 64-bit
@@ -1147,9 +1154,9 @@ config CPU_MIPS64_R1
 
 config CPU_MIPS64_R2
        bool "MIPS64 Release 2"
+       select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
-       select CPU_HAS_PREFETCH
        help
          Choose this option to build a kernel for release 2 or later of the
          MIPS64 architecture.  Many modern embedded systems with a 64-bit
@@ -1160,6 +1167,7 @@ config CPU_MIPS64_R2
 config CPU_R3000
        bool "R3000"
        select CPU_SUPPORTS_32BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
        help
          Please make sure to pick the right CPU type. Linux/MIPS is not
          designed to be generic, i.e. Kernels compiled for R3000 CPUs will
@@ -1239,6 +1247,7 @@ config CPU_R10000
        bool "R10000"
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
        help
          MIPS Technologies R10000-series processors.
 
@@ -1246,16 +1255,19 @@ config CPU_RM7000
        bool "RM7000"
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
 
 config CPU_RM9000
        bool "RM9000"
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
 
 config CPU_SB1
        bool "SB1"
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
 
 endchoice
 
@@ -1442,6 +1454,17 @@ config CPU_HAS_SYNC
        depends on !CPU_R3000
        default y
 
+#
+# Use the generic interrupt handling code in kernel/irq/:
+#
+config GENERIC_HARDIRQS
+       bool
+       default y
+
+config GENERIC_IRQ_PROBE
+       bool
+       default y
+
 #
 # - Highmem only makes sense for the 32-bit kernel.
 # - The current highmem code will only work properly on physically indexed
@@ -1451,14 +1474,19 @@ config CPU_HAS_SYNC
 #   where it's known to be safe.  This will not offer highmem on a few systems
 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
 #   indexed CPUs but we're playing safe.
-# - We should not offer highmem for system of which we already know that they
-#   don't have memory configurations that could gain from highmem support in
-#   the kernel because they don't support configurations with RAM at physical
-#   addresses > 0x20000000.
+# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
+#   know they might have memory configurations that could make use of highmem
+#   support.
 #
 config HIGHMEM
        bool "High Memory Support"
-       depends on 32BIT && (CPU_R3000 || CPU_SB1 || CPU_R7000 || CPU_RM9000 || CPU_R10000) && !(MACH_DECSTATION || MOMENCO_JAGUAR_ATX)
+       depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
+
+config CPU_SUPPORTS_HIGHMEM
+       bool
+
+config SYS_SUPPORTS_HIGHMEM
+       bool
 
 config ARCH_FLATMEM_ENABLE
        def_bool y
@@ -1708,17 +1736,6 @@ 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