]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/sh/mm/Kconfig
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6-omap-h63xx.git] / arch / sh / mm / Kconfig
index 43f3972a5fb97264736ffb6c21cb0937529b9d78..f549b8cd25010c74fd3dbdfe054ec81e410ab1cc 100644 (file)
@@ -1,220 +1,3 @@
-#
-# Processor families
-#
-config CPU_SH2
-       select SH_WRITETHROUGH if !CPU_SH2A
-       bool
-
-config CPU_SH2A
-       bool
-       select CPU_SH2
-
-config CPU_SH3
-       bool
-       select CPU_HAS_INTEVT
-       select CPU_HAS_SR_RB
-
-config CPU_SH4
-       bool
-       select CPU_HAS_INTEVT
-       select CPU_HAS_SR_RB
-       select CPU_HAS_PTEA if (!CPU_SUBTYPE_ST40 && !CPU_SH4A) || CPU_SHX2
-
-config CPU_SH4A
-       bool
-       select CPU_SH4
-
-config CPU_SH4AL_DSP
-       bool
-       select CPU_SH4A
-       select CPU_HAS_DSP
-
-config CPU_SUBTYPE_ST40
-       bool
-       select CPU_SH4
-       select CPU_HAS_INTC2_IRQ
-
-config CPU_SHX2
-       bool
-
-config CPU_SHX3
-       bool
-
-choice
-       prompt "Processor sub-type selection"
-
-#
-# Processor subtypes
-#
-
-# SH-2 Processor Support
-
-config CPU_SUBTYPE_SH7619
-       bool "Support SH7619 processor"
-       select CPU_SH2
-       select CPU_HAS_IPR_IRQ
-
-# SH-2A Processor Support
-
-config CPU_SUBTYPE_SH7206
-       bool "Support SH7206 processor"
-       select CPU_SH2A
-       select CPU_HAS_IPR_IRQ
-
-# SH-3 Processor Support
-
-config CPU_SUBTYPE_SH7705
-       bool "Support SH7705 processor"
-       select CPU_SH3
-       select CPU_HAS_IPR_IRQ
-
-config CPU_SUBTYPE_SH7706
-       bool "Support SH7706 processor"
-       select CPU_SH3
-       select CPU_HAS_IPR_IRQ
-       help
-         Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
-
-config CPU_SUBTYPE_SH7707
-       bool "Support SH7707 processor"
-       select CPU_SH3
-       help
-         Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
-
-config CPU_SUBTYPE_SH7708
-       bool "Support SH7708 processor"
-       select CPU_SH3
-       help
-         Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
-         if you have a 100 Mhz SH-3 HD6417708R CPU.
-
-config CPU_SUBTYPE_SH7709
-       bool "Support SH7709 processor"
-       select CPU_SH3
-       select CPU_HAS_IPR_IRQ
-       help
-         Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
-
-config CPU_SUBTYPE_SH7710
-       bool "Support SH7710 processor"
-       select CPU_SH3
-       select CPU_HAS_IPR_IRQ
-       select CPU_HAS_DSP
-       help
-         Select SH7710 if you have a SH3-DSP SH7710 CPU.
-
-config CPU_SUBTYPE_SH7712
-       bool "Support SH7712 processor"
-       select CPU_SH3
-       select CPU_HAS_IPR_IRQ
-       select CPU_HAS_DSP
-       help
-         Select SH7712 if you have a SH3-DSP SH7712 CPU.
-
-# SH-4 Processor Support
-
-config CPU_SUBTYPE_SH7750
-       bool "Support SH7750 processor"
-       select CPU_SH4
-       select CPU_HAS_INTC_IRQ
-       help
-         Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
-
-config CPU_SUBTYPE_SH7091
-       bool "Support SH7091 processor"
-       select CPU_SH4
-       select CPU_HAS_INTC_IRQ
-       help
-         Select SH7091 if you have an SH-4 based Sega device (such as
-         the Dreamcast, Naomi, and Naomi 2).
-
-config CPU_SUBTYPE_SH7750R
-       bool "Support SH7750R processor"
-       select CPU_SH4
-       select CPU_HAS_INTC_IRQ
-
-config CPU_SUBTYPE_SH7750S
-       bool "Support SH7750S processor"
-       select CPU_SH4
-       select CPU_HAS_INTC_IRQ
-
-config CPU_SUBTYPE_SH7751
-       bool "Support SH7751 processor"
-       select CPU_SH4
-       select CPU_HAS_INTC_IRQ
-       help
-         Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
-         or if you have a HD6417751R CPU.
-
-config CPU_SUBTYPE_SH7751R
-       bool "Support SH7751R processor"
-       select CPU_SH4
-       select CPU_HAS_INTC_IRQ
-
-config CPU_SUBTYPE_SH7760
-       bool "Support SH7760 processor"
-       select CPU_SH4
-       select CPU_HAS_INTC2_IRQ
-       select CPU_HAS_IPR_IRQ
-
-config CPU_SUBTYPE_SH4_202
-       bool "Support SH4-202 processor"
-       select CPU_SH4
-
-# ST40 Processor Support
-
-config CPU_SUBTYPE_ST40STB1
-       bool "Support ST40STB1/ST40RA processors"
-       select CPU_SUBTYPE_ST40
-       help
-         Select ST40STB1 if you have a ST40RA CPU.
-         This was previously called the ST40STB1, hence the option name.
-
-config CPU_SUBTYPE_ST40GX1
-       bool "Support ST40GX1 processor"
-       select CPU_SUBTYPE_ST40
-       help
-         Select ST40GX1 if you have a ST40GX1 CPU.
-
-# SH-4A Processor Support
-
-config CPU_SUBTYPE_SH7770
-       bool "Support SH7770 processor"
-       select CPU_SH4A
-
-config CPU_SUBTYPE_SH7780
-       bool "Support SH7780 processor"
-       select CPU_SH4A
-       select CPU_HAS_INTC_IRQ
-
-config CPU_SUBTYPE_SH7785
-       bool "Support SH7785 processor"
-       select CPU_SH4A
-       select CPU_SHX2
-       select CPU_HAS_INTC2_IRQ
-
-config CPU_SUBTYPE_SHX3
-       bool "Support SH-X3 processor"
-       select CPU_SH4A
-       select CPU_SHX3
-       select CPU_HAS_INTC2_IRQ
-
-# SH4AL-DSP Processor Support
-
-config CPU_SUBTYPE_SH7343
-       bool "Support SH7343 processor"
-       select CPU_SH4AL_DSP
-
-config CPU_SUBTYPE_SH7722
-       bool "Support SH7722 processor"
-       select CPU_SH4AL_DSP
-       select CPU_SHX2
-       select CPU_HAS_INTC_IRQ
-       select ARCH_SPARSEMEM_ENABLE
-       select SYS_SUPPORTS_NUMA
-
-endchoice
-
 menu "Memory management options"
 
 config QUICKLIST
@@ -234,7 +17,8 @@ config MMU
 
 config PAGE_OFFSET
        hex
-       default "0x80000000" if MMU
+       default "0x80000000" if MMU && SUPERH32
+       default "0x20000000" if MMU && SUPERH64
        default "0x00000000"
 
 config MEMORY_START
@@ -255,17 +39,28 @@ config MEMORY_START
 
 config MEMORY_SIZE
        hex "Physical memory size"
-       default "0x00400000"
+       default "0x04000000"
        help
          This sets the default memory size assumed by your SH kernel. It can
          be overridden as normal by the 'mem=' argument on the kernel command
          line. If unsure, consult your board specifications or just leave it
-         as 0x00400000 which was the default value before this became
+         as 0x04000000 which was the default value before this became
          configurable.
 
+# Physical addressing modes
+
+config 29BIT
+       def_bool !32BIT
+       depends on SUPERH32
+
 config 32BIT
+       bool
+       default y if CPU_SH5
+
+config PMB
        bool "Support 32-bit physical addressing through PMB"
        depends on MMU && (CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785)
+       select 32BIT
        default y
        help
          If you say Y here, physical addressing will be extended to
@@ -274,7 +69,7 @@ config 32BIT
 
 config X2TLB
        bool "Enable extended TLB mode"
-       depends on CPU_SHX2 && MMU && EXPERIMENTAL
+       depends on (CPU_SHX2 || CPU_SHX3) && MMU && EXPERIMENTAL
        help
          Selecting this option will enable the extended mode of the SH-X2
          TLB. For legacy SH-X behaviour and interoperability, say N. For
@@ -283,7 +78,7 @@ config X2TLB
 
 config VSYSCALL
        bool "Support vsyscall page"
-       depends on MMU
+       depends on MMU && (CPU_SH3 || CPU_SH4)
        default y
        help
          This will enable support for the kernel mapping a vDSO page
@@ -307,6 +102,7 @@ config NUMA
 
 config NODES_SHIFT
        int
+       default "3" if CPU_SUBTYPE_SHX3
        default "1"
        depends on NEED_MULTIPLE_NODES
 
@@ -323,7 +119,9 @@ config ARCH_SPARSEMEM_DEFAULT
 
 config MAX_ACTIVE_REGIONS
        int
-       default "2" if (CPU_SUBTYPE_SH7722 && SPARSEMEM)
+       default "6" if (CPU_SUBTYPE_SHX3 && SPARSEMEM)
+       default "2" if SPARSEMEM && (CPU_SUBTYPE_SH7722 || \
+                      CPU_SUBTYPE_SH7785)
        default "1"
 
 config ARCH_POPULATES_NODE_MAP
@@ -342,31 +140,33 @@ config ARCH_MEMORY_PROBE
 
 choice
        prompt "Kernel page size"
+       default PAGE_SIZE_8KB if X2TLB
        default PAGE_SIZE_4KB
 
 config PAGE_SIZE_4KB
        bool "4kB"
+       depends on !X2TLB
        help
          This is the default page size used by all SuperH CPUs.
 
 config PAGE_SIZE_8KB
        bool "8kB"
-       depends on EXPERIMENTAL && X2TLB
+       depends on X2TLB
        help
          This enables 8kB pages as supported by SH-X2 and later MMUs.
 
 config PAGE_SIZE_64KB
        bool "64kB"
-       depends on EXPERIMENTAL && CPU_SH4
+       depends on CPU_SH4 || CPU_SH5
        help
          This enables support for 64kB pages, possible on all SH-4
-         CPUs and later. Highly experimental, not recommended.
+         CPUs and later.
 
 endchoice
 
 choice
        prompt "HugeTLB page size"
-       depends on HUGETLB_PAGE && CPU_SH4 && MMU
+       depends on HUGETLB_PAGE && (CPU_SH4 || CPU_SH5) && MMU
        default HUGETLB_PAGE_SIZE_64K
 
 config HUGETLB_PAGE_SIZE_64K
@@ -387,6 +187,10 @@ config HUGETLB_PAGE_SIZE_64MB
        bool "64MB"
        depends on X2TLB
 
+config HUGETLB_PAGE_SIZE_512MB
+       bool "512MB"
+       depends on CPU_SH5
+
 endchoice
 
 source "mm/Kconfig"
@@ -412,8 +216,17 @@ config SH_DIRECT_MAPPED
          Turn this option off for platforms that do not have a direct-mapped
          cache, and you have no need to run the caches in such a configuration.
 
-config SH_WRITETHROUGH
-       bool "Use write-through caching"
+choice
+       prompt "Cache mode"
+       default CACHE_WRITEBACK if CPU_SH2A || CPU_SH3 || CPU_SH4 || CPU_SH5
+       default CACHE_WRITETHROUGH if (CPU_SH2 && !CPU_SH2A)
+
+config CACHE_WRITEBACK
+       bool "Write-back"
+       depends on CPU_SH2A || CPU_SH3 || CPU_SH4 || CPU_SH5
+
+config CACHE_WRITETHROUGH
+       bool "Write-through"
        help
          Selecting this option will configure the caches in write-through
          mode, as opposed to the default write-back configuration.
@@ -424,4 +237,9 @@ config SH_WRITETHROUGH
 
          If unsure, say N.
 
+config CACHE_OFF
+       bool "Off"
+
+endchoice
+
 endmenu