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 23eea5cf4ca0..7cfd17230224 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 @@ config SUPERH . 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 @@ config CPU_SH4AL_DSP select CPU_SH4A select CPU_HAS_DSP +config CPU_SH5 + bool + select CPU_HAS_FPU + config CPU_SHX2 bool @@ -288,6 +297,15 @@ config CPU_SUBTYPE_SH7722 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 @@ config SH_MAGIC_PANEL_R2 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 9f329dff88b1..ef398535caf8 100644 --- a/arch/sh/Kconfig.cpu +++ b/arch/sh/Kconfig.cpu @@ -25,6 +25,10 @@ config SH_FPU 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 @@ config SPECULATIVE_EXECUTION 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 9f71f9531c08..000000000000 --- 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 - , 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"