sh: Consolidate Kconfig.sh/Kconfig.sh64.
Fold in the sh64-specific bits in to the main Kconfig.sh, and move
this back as arch/sh/Kconfig.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
diff --git a/arch/sh/Kconfig.sh b/arch/sh/Kconfig
similarity index 97%
rename from arch/sh/Kconfig.sh
rename to arch/sh/Kconfig
index 23eea5c..7cfd172 100644
--- a/arch/sh/Kconfig.sh
+++ b/arch/sh/Kconfig
@@ -6,8 +6,7 @@
mainmenu "Linux/SuperH Kernel Configuration"
config SUPERH
- bool
- default y
+ def_bool y
select EMBEDDED
help
The SuperH is a RISC processor targeted for use in embedded systems
@@ -16,12 +15,18 @@
<http://www.linux-sh.org/>.
config SUPERH32
- def_bool y
+ def_bool !SUPERH64
+
+config SUPERH64
+ def_bool y if CPU_SH5
config RWSEM_GENERIC_SPINLOCK
bool
default y
+config SUPERH64
+ def_bool y if CPU_SH5
+
config RWSEM_XCHGADD_ALGORITHM
bool
@@ -131,6 +136,10 @@
select CPU_SH4A
select CPU_HAS_DSP
+config CPU_SH5
+ bool
+ select CPU_HAS_FPU
+
config CPU_SHX2
bool
@@ -288,6 +297,15 @@
select ARCH_SPARSEMEM_ENABLE
select SYS_SUPPORTS_NUMA
+# SH-5 Processor Support
+
+config CPU_SUBTYPE_SH5_101
+ bool "Support SH5-101 processor"
+ select CPU_SH5
+
+config CPU_SUBTYPE_SH5_103
+ bool "Support SH5-103 processor"
+
endchoice
source "arch/sh/mm/Kconfig"
@@ -490,6 +508,18 @@
help
Select Magic Panel R2 if configuring for Magic Panel R2.
+config SH_SIMULATOR
+ bool "Simulator"
+ depends on SUPERH64
+
+config SH_CAYMAN
+ bool "Hitachi Cayman"
+ depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103
+
+config SH_HARP
+ bool "ST50 Harp"
+ depends on CPU_SH5
+
endmenu
source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
diff --git a/arch/sh/Kconfig.cpu b/arch/sh/Kconfig.cpu
index 9f329df..ef39853 100644
--- a/arch/sh/Kconfig.cpu
+++ b/arch/sh/Kconfig.cpu
@@ -25,6 +25,10 @@
This option must be set in order to enable the FPU.
+config SH64_FPU_DENORM_FLUSH
+ bool "Flush floating point denorms to zero"
+ depends on SH_FPU && SUPERH64
+
config SH_FPU_EMU
bool "FPU emulation support"
depends on !SH_FPU && EXPERIMENTAL
@@ -71,6 +75,15 @@
If unsure, say N.
+config SH64_USER_MISALIGNED_FIXUP
+ bool "Fixup misaligned loads/stores occurring in user mode"
+ depends on SUPERH64
+ default y
+
+config SH64_ID2815_WORKAROUND
+ bool "Include workaround for SH5-101 cut2 silicon defect ID2815"
+ depends on CPU_SUBTYPE_SH5_101
+
config CPU_HAS_INTEVT
bool
diff --git a/arch/sh/Kconfig.sh64 b/arch/sh/Kconfig.sh64
deleted file mode 100644
index 9f71f95..0000000
--- a/arch/sh/Kconfig.sh64
+++ /dev/null
@@ -1,239 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see Documentation/kbuild/kconfig-language.txt.
-#
-
-mainmenu "Linux/SH64 Kernel Configuration"
-
-config SUPERH
- bool
- default y
-
-config SUPERH64
- bool
- default y
-
-config MMU
- bool
- default y
-
-config QUICKLIST
- def_bool y
-
-config RWSEM_GENERIC_SPINLOCK
- bool
- default y
-
-config GENERIC_FIND_NEXT_BIT
- bool
- default y
-
-config GENERIC_HWEIGHT
- bool
- default y
-
-config GENERIC_CALIBRATE_DELAY
- bool
- default y
-
-config GENERIC_HARDIRQS
- bool
- default y
-
-config GENERIC_IRQ_PROBE
- bool
- default y
-
-config RWSEM_XCHGADD_ALGORITHM
- bool
-
-config ARCH_HAS_ILOG2_U32
- bool
- default n
-
-config ARCH_HAS_ILOG2_U64
- bool
- default n
-
-config ARCH_NO_VIRT_TO_BUS
- def_bool y
-
-source init/Kconfig
-
-menu "System type"
-
-choice
- prompt "SuperH system type"
- default SH_SIMULATOR
-
-config SH_SIMULATOR
- bool "Simulator"
-
-config SH_CAYMAN
- bool "Cayman"
-
-config SH_HARP
- bool "ST50-Harp"
-
-endchoice
-
-choice
- prompt "Processor family"
- default CPU_SH5
-
-config CPU_SH5
- bool "SH-5"
- select CPU_HAS_FPU
-
-endchoice
-
-choice
- prompt "Processor type"
-
-config CPU_SUBTYPE_SH5_101
- bool "SH5-101"
- depends on CPU_SH5
-
-config CPU_SUBTYPE_SH5_103
- bool "SH5-103"
- depends on CPU_SH5
-
-endchoice
-
-source "arch/sh/Kconfig.cpu"
-
-config SH64_FPU_DENORM_FLUSH
- depends on SH_FPU
- bool "Flush floating point denorms to zero"
-
-config SH64_USER_MISALIGNED_FIXUP
- bool "Fixup misaligned loads/stores occurring in user mode"
-
-comment "Memory options"
-
-config MEMORY_START
- hex "Physical memory start address"
- default "80000000"
-
-config MEMORY_SIZE_IN_MB
- int "Memory size (in MB)"
- default "8" if SH_SIMULATOR
- default "64"
-
-comment "Cache options"
-
-choice
- prompt "DCache mode"
- default DCACHE_DISABLED if SH_SIMULATOR
- default DCACHE_WRITE_BACK
-
-config DCACHE_WRITE_BACK
- bool "Write-back"
- depends on !SH_SIMULATOR
-
-config DCACHE_WRITE_THROUGH
- bool "Write-through"
- depends on !SH_SIMULATOR
-
-config DCACHE_DISABLED
- bool "Disabled"
-
-endchoice
-
-config ICACHE_DISABLED
- bool "ICache Disabling"
-
-comment "CPU Subtype specific options"
-
-config SH64_ID2815_WORKAROUND
- bool "Include workaround for SH5-101 cut2 silicon defect ID2815"
-
-comment "Misc options"
-
-config HEARTBEAT
- bool "Heartbeat LED"
- depends on SH_CAYMAN
-
-config HDSP253_LED
- bool "Support for HDSP-253 LED"
- depends on SH_CAYMAN
-
-config SH_DMA
- tristate "DMA controller (DMAC) support"
-
-config PREEMPT
- bool "Preemptible Kernel (EXPERIMENTAL)"
- depends on EXPERIMENTAL
-
-config SH_PCLK_FREQ
- int "Peripheral clock frequency (in Hz)"
- default "50000000"
-
-source "kernel/Kconfig.hz"
-source "arch/sh/mm/Kconfig"
-
-endmenu
-
-menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
-
-config ISA
- bool
-
-config SBUS
- bool
-
-config PCI
- bool "PCI support"
- depends on SH_CAYMAN
- 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
- your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
- VESA. If you have PCI, say Y, otherwise N.
-
- The PCI-HOWTO, available from
- <http://www.tldp.org/docs.html#howto>, contains valuable
- information about which PCI hardware does work under Linux and which
- doesn't.
-
-config SH_PCIDMA_NONCOHERENT
- bool "Cache and PCI noncoherent"
- depends on PCI
- default y
- help
- Enable this option if your platform does not have a CPU cache which
- remains coherent with PCI DMA. It is safest to say 'Y', although you
- will see better performance if you can say 'N', because the PCI DMA
- code will not have to flush the CPU's caches. If you have a PCI host
- bridge integrated with your SH CPU, refer carefully to the chip specs
- to see if you can say 'N' here. Otherwise, leave it as 'Y'.
-
-source "drivers/pci/Kconfig"
-
-source "drivers/pcmcia/Kconfig"
-
-source "drivers/pci/hotplug/Kconfig"
-
-endmenu
-
-menu "Executable file formats"
-
-source "fs/Kconfig.binfmt"
-
-endmenu
-
-source "net/Kconfig"
-
-source "drivers/Kconfig"
-
-source "fs/Kconfig"
-
-source "kernel/Kconfig.instrumentation"
-
-source "arch/sh/Kconfig.debug"
-
-source "security/Kconfig"
-
-source "crypto/Kconfig"
-
-source "lib/Kconfig"