From 797798c1bed106a20d4c1ac689ae8a5b1069c5b2 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Wed, 10 Aug 2005 15:17:11 +0000 Subject: [PATCH] A little more Kconfig untangeling. Signed-off-by: Ralf Baechle --- arch/mips/Kconfig | 57 ++++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 20 deletions(-) diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 8ac03cfcb2d2..5af30d385aca 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -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