fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / sh / mm / Kconfig
index fb586b1..29f4ee3 100644 (file)
@@ -4,8 +4,12 @@ menu "Processor selection"
 # Processor families
 #
 config CPU_SH2
+       select SH_WRITETHROUGH if !CPU_SH2A
        bool
-       select SH_WRITETHROUGH
+
+config CPU_SH2A
+       bool
+       select CPU_SH2
 
 config CPU_SH3
        bool
@@ -16,17 +20,24 @@ config CPU_SH4
        bool
        select CPU_HAS_INTEVT
        select CPU_HAS_SR_RB
+       select CPU_HAS_PTEA if !CPU_SUBTYPE_ST40
 
 config CPU_SH4A
        bool
        select CPU_SH4
-       select CPU_HAS_INTC2_IRQ
+
+config CPU_SH4AL_DSP
+       bool
+       select CPU_SH4A
 
 config CPU_SUBTYPE_ST40
        bool
        select CPU_SH4
        select CPU_HAS_INTC2_IRQ
 
+config CPU_SHX2
+       bool
+
 #
 # Processor subtypes
 #
@@ -37,6 +48,16 @@ config CPU_SUBTYPE_SH7604
        bool "Support SH7604 processor"
        select CPU_SH2
 
+config CPU_SUBTYPE_SH7619
+       bool "Support SH7619 processor"
+       select CPU_SH2
+
+comment "SH-2A Processor Support"
+
+config CPU_SUBTYPE_SH7206
+       bool "Support SH7206 processor"
+       select CPU_SH2A
+
 comment "SH-3 Processor Support"
 
 config CPU_SUBTYPE_SH7300
@@ -48,6 +69,12 @@ config CPU_SUBTYPE_SH7705
        select CPU_SH3
        select CPU_HAS_PINT_IRQ
 
+config CPU_SUBTYPE_SH7706
+       bool "Support SH7706 processor"
+       select CPU_SH3
+       help
+         Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
+
 config CPU_SUBTYPE_SH7707
        bool "Support SH7707 processor"
        select CPU_SH3
@@ -69,11 +96,18 @@ config CPU_SUBTYPE_SH7709
        help
          Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
 
+config CPU_SUBTYPE_SH7710
+       bool "Support SH7710 processor"
+       select CPU_SH3
+       help
+         Select SH7710 if you have a SH3-DSP SH7710 CPU.
+
 comment "SH-4 Processor Support"
 
 config CPU_SUBTYPE_SH7750
        bool "Support SH7750 processor"
        select CPU_SH4
+       select CPU_HAS_IPR_IRQ
        help
          Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
 
@@ -89,15 +123,18 @@ config CPU_SUBTYPE_SH7750R
        bool "Support SH7750R processor"
        select CPU_SH4
        select CPU_SUBTYPE_SH7750
+       select CPU_HAS_IPR_IRQ
 
 config CPU_SUBTYPE_SH7750S
        bool "Support SH7750S processor"
        select CPU_SH4
        select CPU_SUBTYPE_SH7750
+       select CPU_HAS_IPR_IRQ
 
 config CPU_SUBTYPE_SH7751
        bool "Support SH7751 processor"
        select CPU_SH4
+       select CPU_HAS_IPR_IRQ
        help
          Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
          or if you have a HD6417751R CPU.
@@ -106,6 +143,7 @@ config CPU_SUBTYPE_SH7751R
        bool "Support SH7751R processor"
        select CPU_SH4
        select CPU_SUBTYPE_SH7751
+       select CPU_HAS_IPR_IRQ
 
 config CPU_SUBTYPE_SH7760
        bool "Support SH7760 processor"
@@ -133,10 +171,6 @@ config CPU_SUBTYPE_ST40GX1
 
 comment "SH-4A Processor Support"
 
-config CPU_SUBTYPE_SH73180
-       bool "Support SH73180 processor"
-       select CPU_SH4A
-
 config CPU_SUBTYPE_SH7770
        bool "Support SH7770 processor"
        select CPU_SH4A
@@ -144,6 +178,29 @@ config CPU_SUBTYPE_SH7770
 config CPU_SUBTYPE_SH7780
        bool "Support SH7780 processor"
        select CPU_SH4A
+       select CPU_HAS_INTC2_IRQ
+
+config CPU_SUBTYPE_SH7785
+       bool "Support SH7785 processor"
+       select CPU_SH4A
+       select CPU_SHX2
+       select CPU_HAS_INTC2_IRQ
+
+comment "SH4AL-DSP Processor Support"
+
+config CPU_SUBTYPE_SH73180
+       bool "Support SH73180 processor"
+       select CPU_SH4AL_DSP
+
+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_IPR_IRQ
 
 endmenu
 
@@ -161,26 +218,115 @@ config MMU
          turning this off will boot the kernel on these machines with the
          MMU implicitly switched off.
 
+config PAGE_OFFSET
+       hex
+       default "0x80000000" if MMU
+       default "0x00000000"
+
+config MEMORY_START
+       hex "Physical memory start address"
+       default "0x08000000"
+       ---help---
+         Computers built with Hitachi SuperH processors always
+         map the ROM starting at address zero.  But the processor
+         does not specify the range that RAM takes.
+
+         The physical memory (RAM) start address will be automatically
+         set to 08000000. Other platforms, such as the Solution Engine
+         boards typically map RAM at 0C000000.
+
+         Tweak this only when porting to a new machine which does not
+         already have a defconfig. Changing it from the known correct
+         value on any of the known systems will only lead to disaster.
+
+config MEMORY_SIZE
+       hex "Physical memory size"
+       default "0x00400000"
+       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
+         configurable.
+
 config 32BIT
        bool "Support 32-bit physical addressing through PMB"
-       depends on CPU_SH4A
+       depends on CPU_SH4A && MMU && (!X2TLB || BROKEN)
        default y
        help
          If you say Y here, physical addressing will be extended to
          32-bits through the SH-4A PMB. If this is not set, legacy
          29-bit physical addressing will be used.
 
+config X2TLB
+       bool "Enable extended TLB mode"
+       depends on CPU_SHX2 && 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
+         all of the fun new features and a willingless to submit bug reports,
+         say Y.
+
+config VSYSCALL
+       bool "Support vsyscall page"
+       depends on MMU
+       default y
+       help
+         This will enable support for the kernel mapping a vDSO page
+         in process space, and subsequently handing down the entry point
+         to the libc through the ELF auxiliary vector.
+
+         From the kernel side this is used for the signal trampoline.
+         For systems with an MMU that can afford to give up a page,
+         (the default value) say Y.
+
+choice
+       prompt "Kernel page size"
+       default PAGE_SIZE_4KB
+
+config PAGE_SIZE_4KB
+       bool "4kB"
+       help
+         This is the default page size used by all SuperH CPUs.
+
+config PAGE_SIZE_8KB
+       bool "8kB"
+       depends on EXPERIMENTAL && 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
+       help
+         This enables support for 64kB pages, possible on all SH-4
+         CPUs and later. Highly experimental, not recommended.
+
+endchoice
+
 choice
        prompt "HugeTLB page size"
        depends on HUGETLB_PAGE && CPU_SH4 && MMU
        default HUGETLB_PAGE_SIZE_64K
 
 config HUGETLB_PAGE_SIZE_64K
-       bool "64K"
+       bool "64kB"
+
+config HUGETLB_PAGE_SIZE_256K
+       bool "256kB"
+       depends on X2TLB
 
 config HUGETLB_PAGE_SIZE_1MB
        bool "1MB"
 
+config HUGETLB_PAGE_SIZE_4MB
+       bool "4MB"
+       depends on X2TLB
+
+config HUGETLB_PAGE_SIZE_64MB
+       bool "64MB"
+       depends on X2TLB
+
 endchoice
 
 source "mm/Kconfig"
@@ -208,7 +354,6 @@ config SH_DIRECT_MAPPED
 
 config SH_WRITETHROUGH
        bool "Use write-through caching"
-       default y if CPU_SH2
        help
          Selecting this option will configure the caches in write-through
          mode, as opposed to the default write-back configuration.