[ARM] pxa: fix interrupts number calculation when CONFIG_PXA_HAVE_ISA_IRQS=y
[safe/jmp/linux-2.6] / arch / sh / Kconfig
index 9d9baeb..88cdeb9 100644 (file)
@@ -10,9 +10,19 @@ config SUPERH
        select EMBEDDED
        select HAVE_CLK
        select HAVE_IDE
        select EMBEDDED
        select HAVE_CLK
        select HAVE_IDE
+       select HAVE_LMB
        select HAVE_OPROFILE
        select HAVE_GENERIC_DMA_COHERENT
        select HAVE_IOREMAP_PROT if MMU
        select HAVE_OPROFILE
        select HAVE_GENERIC_DMA_COHERENT
        select HAVE_IOREMAP_PROT if MMU
+       select HAVE_ARCH_TRACEHOOK
+       select HAVE_DMA_API_DEBUG
+       select HAVE_PERF_EVENTS
+       select HAVE_KERNEL_GZIP
+       select HAVE_KERNEL_BZIP2
+       select HAVE_KERNEL_LZMA
+       select HAVE_SYSCALL_TRACEPOINTS
+       select RTC_LIB
+       select GENERIC_ATOMIC64
        help
          The SuperH is a RISC processor targeted for use in embedded systems
          and consumer electronics; it was also used in the Sega Dreamcast
        help
          The SuperH is a RISC processor targeted for use in embedded systems
          and consumer electronics; it was also used in the Sega Dreamcast
@@ -20,16 +30,19 @@ config SUPERH
          <http://www.linux-sh.org/>.
 
 config SUPERH32
          <http://www.linux-sh.org/>.
 
 config SUPERH32
-       def_bool !SUPERH64
+       def_bool ARCH = "sh"
        select HAVE_KPROBES
        select HAVE_KRETPROBES
        select HAVE_KPROBES
        select HAVE_KRETPROBES
-       select HAVE_ARCH_TRACEHOOK
        select HAVE_FUNCTION_TRACER
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_DYNAMIC_FTRACE
        select HAVE_FUNCTION_TRACER
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_DYNAMIC_FTRACE
+       select HAVE_FUNCTION_TRACE_MCOUNT_TEST
+       select HAVE_FUNCTION_GRAPH_TRACER
+       select HAVE_ARCH_KGDB
+       select ARCH_HIBERNATION_POSSIBLE if MMU
 
 config SUPERH64
 
 config SUPERH64
-       def_bool y if CPU_SH5
+       def_bool ARCH = "sh64"
 
 config ARCH_DEFCONFIG
        string
 
 config ARCH_DEFCONFIG
        string
@@ -46,6 +59,10 @@ config GENERIC_BUG
        def_bool y
        depends on BUG && SUPERH32
 
        def_bool y
        depends on BUG && SUPERH32
 
+config GENERIC_CSUM
+       def_bool y
+       depends on SUPERH64
+
 config GENERIC_FIND_NEXT_BIT
        def_bool y
 
 config GENERIC_FIND_NEXT_BIT
        def_bool y
 
@@ -57,12 +74,13 @@ config GENERIC_HARDIRQS
 
 config GENERIC_HARDIRQS_NO__DO_IRQ
        def_bool y
 
 config GENERIC_HARDIRQS_NO__DO_IRQ
        def_bool y
-       depends on SUPERH32 && (!SH_DREAMCAST && !SH_SH4202_MICRODEV && \
-                               !SH_7751_SYSTEMH && !HD64461)
 
 config GENERIC_IRQ_PROBE
        def_bool y
 
 
 config GENERIC_IRQ_PROBE
        def_bool y
 
+config IRQ_PER_CPU
+       def_bool y
+
 config GENERIC_GPIO
        def_bool n
 
 config GENERIC_GPIO
        def_bool n
 
@@ -73,24 +91,38 @@ config GENERIC_IOMAP
        bool
 
 config GENERIC_TIME
        bool
 
 config GENERIC_TIME
-       def_bool n
+       def_bool y
 
 config GENERIC_CLOCKEVENTS
 
 config GENERIC_CLOCKEVENTS
-       def_bool n
+       def_bool y
 
 config GENERIC_CLOCKEVENTS_BROADCAST
        bool
 
 
 config GENERIC_CLOCKEVENTS_BROADCAST
        bool
 
+config GENERIC_CMOS_UPDATE
+       def_bool y
+       depends on SH_SH03 || SH_DREAMCAST
+
 config GENERIC_LOCKBREAK
        def_bool y
        depends on SMP && PREEMPT
 
 config SYS_SUPPORTS_PM
        bool
 config GENERIC_LOCKBREAK
        def_bool y
        depends on SMP && PREEMPT
 
 config SYS_SUPPORTS_PM
        bool
+       depends on !SMP
+
+config ARCH_SUSPEND_POSSIBLE
+       def_bool n
+
+config ARCH_HIBERNATION_POSSIBLE
+       def_bool n
 
 config SYS_SUPPORTS_APM_EMULATION
        bool
 
 config SYS_SUPPORTS_APM_EMULATION
        bool
-       select SYS_SUPPORTS_PM
+       select ARCH_SUSPEND_POSSIBLE
+
+config SYS_SUPPORTS_HUGETLBFS
+       bool
 
 config SYS_SUPPORTS_SMP
        bool
 
 config SYS_SUPPORTS_SMP
        bool
@@ -101,6 +133,15 @@ config SYS_SUPPORTS_NUMA
 config SYS_SUPPORTS_PCI
        bool
 
 config SYS_SUPPORTS_PCI
        bool
 
+config SYS_SUPPORTS_CMT
+       bool
+
+config SYS_SUPPORTS_MTU2
+       bool
+
+config SYS_SUPPORTS_TMU
+       bool
+
 config STACKTRACE_SUPPORT
        def_bool y
 
 config STACKTRACE_SUPPORT
        def_bool y
 
@@ -120,6 +161,12 @@ config ARCH_HAS_ILOG2_U64
 config ARCH_NO_VIRT_TO_BUS
        def_bool y
 
 config ARCH_NO_VIRT_TO_BUS
        def_bool y
 
+config ARCH_HAS_DEFAULT_IDLE
+       def_bool y
+
+config ARCH_HAS_CPU_IDLE_WAIT
+       def_bool y
+
 config IO_TRAPPED
        bool
 
 config IO_TRAPPED
        bool
 
@@ -143,13 +190,15 @@ config CPU_SH3
        bool
        select CPU_HAS_INTEVT
        select CPU_HAS_SR_RB
        bool
        select CPU_HAS_INTEVT
        select CPU_HAS_SR_RB
+       select SYS_SUPPORTS_TMU
 
 config CPU_SH4
        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_SH4A || CPU_SHX2
        select CPU_HAS_FPU if !CPU_SH4AL_DSP
        select CPU_HAS_FPU if !CPU_SH4AL_DSP
+       select SYS_SUPPORTS_TMU
+       select SYS_SUPPORTS_HUGETLBFS if MMU
 
 config CPU_SH4A
        bool
 
 config CPU_SH4A
        bool
@@ -163,6 +212,8 @@ config CPU_SH4AL_DSP
 config CPU_SH5
        bool
        select CPU_HAS_FPU
 config CPU_SH5
        bool
        select CPU_HAS_FPU
+       select SYS_SUPPORTS_TMU
+       select SYS_SUPPORTS_HUGETLBFS if MMU
 
 config CPU_SHX2
        bool
 
 config CPU_SHX2
        bool
@@ -170,6 +221,14 @@ config CPU_SHX2
 config CPU_SHX3
        bool
 
 config CPU_SHX3
        bool
 
+config ARCH_SHMOBILE
+       bool
+       select ARCH_SUSPEND_POSSIBLE
+       select PM
+       select PM_RUNTIME
+
+if SUPERH32
+
 choice
        prompt "Processor sub-type selection"
 
 choice
        prompt "Processor sub-type selection"
 
@@ -182,6 +241,7 @@ choice
 config CPU_SUBTYPE_SH7619
        bool "Support SH7619 processor"
        select CPU_SH2
 config CPU_SUBTYPE_SH7619
        bool "Support SH7619 processor"
        select CPU_SH2
+       select SYS_SUPPORTS_CMT
 
 # SH-2A Processor Support
 
 
 # SH-2A Processor Support
 
@@ -189,24 +249,32 @@ config CPU_SUBTYPE_SH7201
        bool "Support SH7201 processor"
        select CPU_SH2A
        select CPU_HAS_FPU
        bool "Support SH7201 processor"
        select CPU_SH2A
        select CPU_HAS_FPU
+       select SYS_SUPPORTS_MTU2
  
 config CPU_SUBTYPE_SH7203
        bool "Support SH7203 processor"
        select CPU_SH2A
        select CPU_HAS_FPU
  
 config CPU_SUBTYPE_SH7203
        bool "Support SH7203 processor"
        select CPU_SH2A
        select CPU_HAS_FPU
+       select SYS_SUPPORTS_CMT
+       select SYS_SUPPORTS_MTU2
 
 config CPU_SUBTYPE_SH7206
        bool "Support SH7206 processor"
        select CPU_SH2A
 
 config CPU_SUBTYPE_SH7206
        bool "Support SH7206 processor"
        select CPU_SH2A
+       select SYS_SUPPORTS_CMT
+       select SYS_SUPPORTS_MTU2
 
 config CPU_SUBTYPE_SH7263
        bool "Support SH7263 processor"
        select CPU_SH2A
        select CPU_HAS_FPU
 
 config CPU_SUBTYPE_SH7263
        bool "Support SH7263 processor"
        select CPU_SH2A
        select CPU_HAS_FPU
+       select SYS_SUPPORTS_CMT
+       select SYS_SUPPORTS_MTU2
 
 config CPU_SUBTYPE_MXG
        bool "Support MX-G processor"
        select CPU_SH2A
 
 config CPU_SUBTYPE_MXG
        bool "Support MX-G processor"
        select CPU_SH2A
+       select SYS_SUPPORTS_MTU2
        help
          Select MX-G if running on an R8A03022BG part.
 
        help
          Select MX-G if running on an R8A03022BG part.
 
@@ -259,6 +327,7 @@ config CPU_SUBTYPE_SH7720
        bool "Support SH7720 processor"
        select CPU_SH3
        select CPU_HAS_DSP
        bool "Support SH7720 processor"
        select CPU_SH3
        select CPU_HAS_DSP
+       select SYS_SUPPORTS_CMT
        help
          Select SH7720 if you have a SH3-DSP SH7720 CPU.
 
        help
          Select SH7720 if you have a SH3-DSP SH7720 CPU.
 
@@ -266,6 +335,7 @@ config CPU_SUBTYPE_SH7721
        bool "Support SH7721 processor"
        select CPU_SH3
        select CPU_HAS_DSP
        bool "Support SH7721 processor"
        select CPU_SH3
        select CPU_HAS_DSP
+       select SYS_SUPPORTS_CMT
        help
          Select SH7721 if you have a SH3-DSP SH7721 CPU.
 
        help
          Select SH7721 if you have a SH3-DSP SH7721 CPU.
 
@@ -317,10 +387,29 @@ config CPU_SUBTYPE_SH7723
        bool "Support SH7723 processor"
        select CPU_SH4A
        select CPU_SHX2
        bool "Support SH7723 processor"
        select CPU_SH4A
        select CPU_SHX2
+       select ARCH_SHMOBILE
        select ARCH_SPARSEMEM_ENABLE
        select ARCH_SPARSEMEM_ENABLE
+       select SYS_SUPPORTS_CMT
        help
          Select SH7723 if you have an SH-MobileR2 CPU.
 
        help
          Select SH7723 if you have an SH-MobileR2 CPU.
 
+config CPU_SUBTYPE_SH7724
+       bool "Support SH7724 processor"
+       select CPU_SH4A
+       select CPU_SHX2
+       select ARCH_SHMOBILE
+       select ARCH_SPARSEMEM_ENABLE
+       select SYS_SUPPORTS_CMT
+       help
+         Select SH7724 if you have an SH-MobileR2R CPU.
+
+config CPU_SUBTYPE_SH7757
+       bool "Support SH7757 processor"
+       select CPU_SH4A
+       select CPU_SHX2
+       help
+         Select SH7757 if you have a SH4A SH7757 CPU.
+
 config CPU_SUBTYPE_SH7763
        bool "Support SH7763 processor"
        select CPU_SH4A
 config CPU_SUBTYPE_SH7763
        bool "Support SH7763 processor"
        select CPU_SH4A
@@ -342,6 +431,16 @@ config CPU_SUBTYPE_SH7785
        select ARCH_SPARSEMEM_ENABLE
        select SYS_SUPPORTS_NUMA
 
        select ARCH_SPARSEMEM_ENABLE
        select SYS_SUPPORTS_NUMA
 
+config CPU_SUBTYPE_SH7786
+       bool "Support SH7786 processor"
+       select CPU_SH4A
+       select CPU_SHX3
+       select CPU_HAS_PTEAEX
+       select ARCH_SPARSEMEM_ENABLE
+       select SYS_SUPPORTS_NUMA
+       select SYS_SUPPORTS_SMP
+       select GENERIC_CLOCKEVENTS_BROADCAST if SMP
+
 config CPU_SUBTYPE_SHX3
        bool "Support SH-X3 processor"
        select CPU_SH4A
 config CPU_SUBTYPE_SHX3
        bool "Support SH-X3 processor"
        select CPU_SH4A
@@ -356,20 +455,35 @@ config CPU_SUBTYPE_SHX3
 config CPU_SUBTYPE_SH7343
        bool "Support SH7343 processor"
        select CPU_SH4AL_DSP
 config CPU_SUBTYPE_SH7343
        bool "Support SH7343 processor"
        select CPU_SH4AL_DSP
+       select ARCH_SHMOBILE
+       select SYS_SUPPORTS_CMT
 
 config CPU_SUBTYPE_SH7722
        bool "Support SH7722 processor"
        select CPU_SH4AL_DSP
        select CPU_SHX2
 
 config CPU_SUBTYPE_SH7722
        bool "Support SH7722 processor"
        select CPU_SH4AL_DSP
        select CPU_SHX2
+       select ARCH_SHMOBILE
        select ARCH_SPARSEMEM_ENABLE
        select SYS_SUPPORTS_NUMA
        select ARCH_SPARSEMEM_ENABLE
        select SYS_SUPPORTS_NUMA
+       select SYS_SUPPORTS_CMT
 
 config CPU_SUBTYPE_SH7366
        bool "Support SH7366 processor"
        select CPU_SH4AL_DSP
        select CPU_SHX2
 
 config CPU_SUBTYPE_SH7366
        bool "Support SH7366 processor"
        select CPU_SH4AL_DSP
        select CPU_SHX2
+       select ARCH_SHMOBILE
        select ARCH_SPARSEMEM_ENABLE
        select SYS_SUPPORTS_NUMA
        select ARCH_SPARSEMEM_ENABLE
        select SYS_SUPPORTS_NUMA
+       select SYS_SUPPORTS_CMT
+
+endchoice
+
+endif
+
+if SUPERH64
+
+choice
+       prompt "Processor sub-type selection"
 
 # SH-5 Processor Support
 
 
 # SH-5 Processor Support
 
@@ -383,6 +497,8 @@ config CPU_SUBTYPE_SH5_103
 
 endchoice
 
 
 endchoice
 
+endif
+
 source "arch/sh/mm/Kconfig"
  
 source "arch/sh/Kconfig.cpu"
 source "arch/sh/mm/Kconfig"
  
 source "arch/sh/Kconfig.cpu"
@@ -391,38 +507,26 @@ source "arch/sh/boards/Kconfig"
 
 menu "Timer and clock configuration"
 
 
 menu "Timer and clock configuration"
 
-config SH_TMU
-       def_bool y
-       prompt "TMU timer support"
-       depends on CPU_SH3 || CPU_SH4
-       select GENERIC_TIME
-       select GENERIC_CLOCKEVENTS
+config SH_TIMER_TMU
+       bool "TMU timer driver"
+       depends on SYS_SUPPORTS_TMU
+       default y
        help
        help
-         This enables the use of the TMU as the system timer.
+         This enables the build of the TMU timer driver.
 
 
-config SH_CMT
-       def_bool y
-       prompt "CMT timer support"
-       depends on CPU_SH2 && !CPU_SUBTYPE_MXG
+config SH_TIMER_CMT
+       bool "CMT timer driver"
+       depends on SYS_SUPPORTS_CMT
+       default y
        help
        help
-         This enables the use of the CMT as the system timer.
+         This enables build of the CMT timer driver.
 
 
-config SH_MTU2
-       def_bool n
-       prompt "MTU2 timer support"
-       depends on CPU_SH2A
+config SH_TIMER_MTU2
+       bool "MTU2 timer driver"
+       depends on SYS_SUPPORTS_MTU2
+       default y
        help
        help
-         This enables the use of the MTU2 as the system timer.
-
-config SH_TIMER_IRQ
-       int
-       default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
-                       CPU_SUBTYPE_SH7763
-       default "86" if CPU_SUBTYPE_SH7619
-       default "140" if CPU_SUBTYPE_SH7206
-       default "142" if CPU_SUBTYPE_SH7203
-       default "238" if CPU_SUBTYPE_MXG
-       default "16"
+         This enables build of the MTU2 timer driver.
 
 config SH_PCLK_FREQ
        int "Peripheral clock frequency (in Hz)"
 
 config SH_PCLK_FREQ
        int "Peripheral clock frequency (in Hz)"
@@ -432,7 +536,8 @@ config SH_PCLK_FREQ
        default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
                              CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
                              CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
        default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
                              CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
                              CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
-                             CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
+                             CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG    || \
+                             CPU_SUBTYPE_SH7786 || CPU_SUBTYPE_SH7724
        default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
        default "66000000" if CPU_SUBTYPE_SH4_202
        default "50000000"
        default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
        default "66000000" if CPU_SUBTYPE_SH4_202
        default "50000000"
@@ -441,6 +546,13 @@ config SH_PCLK_FREQ
          This is necessary for determining the reference clock value on
          platforms lacking an RTC.
 
          This is necessary for determining the reference clock value on
          platforms lacking an RTC.
 
+config SH_CLK_CPG
+       def_bool y
+
+config SH_CLK_CPG_LEGACY
+       depends on SH_CLK_CPG
+       def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE
+
 config SH_CLK_MD
        int "CPU Mode Pin Setting"
        depends on CPU_SH2
 config SH_CLK_MD
        int "CPU Mode Pin Setting"
        depends on CPU_SH2
@@ -463,8 +575,12 @@ config SH_CPU_FREQ
        depends on CPU_FREQ
        select CPU_FREQ_TABLE
        help
        depends on CPU_FREQ
        select CPU_FREQ_TABLE
        help
-         This adds the cpufreq driver for SuperH. At present, only
-         the SH-4 is supported.
+         This adds the cpufreq driver for SuperH. Any CPU that supports
+         clock rate rounding through the clock framework can use this
+         driver. While it will make the kernel slightly larger, this is
+         harmless for CPUs that don't support rate rounding. The driver
+         will also generate a notice in the boot log before disabling
+         itself if the CPU in question is not capable of rate rounding.
 
          For details, take a look at <file:Documentation/cpu-freq>.
 
 
          For details, take a look at <file:Documentation/cpu-freq>.
 
@@ -476,16 +592,13 @@ source "arch/sh/drivers/Kconfig"
 
 endmenu
 
 
 endmenu
 
-config ISA_DMA_API
-       bool
-
 menu "Kernel features"
 
 source kernel/Kconfig.hz
 
 config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
 menu "Kernel features"
 
 source kernel/Kconfig.hz
 
 config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
-       depends on SUPERH32 && EXPERIMENTAL
+       depends on SUPERH32 && EXPERIMENTAL && MMU
        help
          kexec is a system call that implements the ability to shutdown your
          current kernel, and to start another kernel.  It is like a reboot
        help
          kexec is a system call that implements the ability to shutdown your
          current kernel, and to start another kernel.  It is like a reboot
@@ -514,6 +627,13 @@ config CRASH_DUMP
 
          For more details see Documentation/kdump/kdump.txt
 
 
          For more details see Documentation/kdump/kdump.txt
 
+config KEXEC_JUMP
+       bool "kexec jump (EXPERIMENTAL)"
+       depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
+       help
+         Jump between original kernel and kexeced kernel and invoke
+         code via KEXEC
+
 config SECCOMP
        bool "Enable seccomp to safely compute untrusted bytecode"
        depends on PROC_FS
 config SECCOMP
        bool "Enable seccomp to safely compute untrusted bytecode"
        depends on PROC_FS
@@ -557,7 +677,7 @@ config NR_CPUS
        int "Maximum number of CPUs (2-32)"
        range 2 32
        depends on SMP
        int "Maximum number of CPUs (2-32)"
        range 2 32
        depends on SMP
-       default "4" if CPU_SHX3
+       default "4" if CPU_SUBTYPE_SHX3
        default "2"
        help
          This allows you to specify the maximum number of CPUs which this
        default "2"
        help
          This allows you to specify the maximum number of CPUs which this
@@ -588,32 +708,59 @@ config GUSA_RB
        depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
        help
          Enabling this option will allow the kernel to implement some
        depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
        help
          Enabling this option will allow the kernel to implement some
-         atomic operations using a software implemention of load-locked/
+         atomic operations using a software implementation of load-locked/
          store-conditional (LLSC). On machines which do not have hardware
          LLSC, this should be more efficient than the other alternative of
          store-conditional (LLSC). On machines which do not have hardware
          LLSC, this should be more efficient than the other alternative of
-         disabling insterrupts around the atomic sequence.
+         disabling interrupts around the atomic sequence.
+
+config SPARSE_IRQ
+       bool "Support sparse irq numbering"
+       depends on EXPERIMENTAL
+       help
+         This enables support for sparse irqs. This is useful in general
+         as most CPUs have a fairly sparse array of IRQ vectors, which
+         the irq_desc then maps directly on to. Systems with a high
+         number of off-chip IRQs will want to treat this as
+         experimental until they have been independently verified.
+
+         If you don't know what to do here, say N.
 
 endmenu
 
 menu "Boot options"
 
 config ZERO_PAGE_OFFSET
 
 endmenu
 
 menu "Boot options"
 
 config ZERO_PAGE_OFFSET
-       hex "Zero page offset"
-       default "0x00004000" if SH_SH03
-       default "0x00010000" if PAGE_SIZE_64KB
+       hex
+       default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
+                               SH_7751_SOLUTION_ENGINE
+       default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
        default "0x00002000" if PAGE_SIZE_8KB
        default "0x00001000"
        help
          This sets the default offset of zero page.
 
 config BOOT_LINK_OFFSET
        default "0x00002000" if PAGE_SIZE_8KB
        default "0x00001000"
        help
          This sets the default offset of zero page.
 
 config BOOT_LINK_OFFSET
-       hex "Link address offset for booting"
+       hex
+       default "0x00210000" if SH_SHMIN
+       default "0x00400000" if SH_CAYMAN
+       default "0x00810000" if SH_7780_SOLUTION_ENGINE
+       default "0x009e0000" if SH_TITAN
+       default "0x01800000" if SH_SDK7780
+       default "0x02000000" if SH_EDOSK7760
        default "0x00800000"
        help
          This option allows you to set the link address offset of the zImage.
          This can be useful if you are on a board which has a small amount of
          memory.
 
        default "0x00800000"
        help
          This option allows you to set the link address offset of the zImage.
          This can be useful if you are on a board which has a small amount of
          memory.
 
+config ENTRY_OFFSET
+       hex
+       default "0x00001000" if PAGE_SIZE_4KB
+       default "0x00002000" if PAGE_SIZE_8KB
+       default "0x00004000" if PAGE_SIZE_16KB
+       default "0x00010000" if PAGE_SIZE_64KB
+       default "0x00000000"
+
 config UBC_WAKEUP
        bool "Wakeup UBC on startup"
        depends on CPU_SH4 && !CPU_SH4A
 config UBC_WAKEUP
        bool "Wakeup UBC on startup"
        depends on CPU_SH4 && !CPU_SH4A
@@ -625,121 +772,56 @@ config UBC_WAKEUP
 
          If unsure, say N.
 
 
          If unsure, say N.
 
-config CMDLINE_BOOL
-       bool "Default bootloader kernel arguments"
-
-config CMDLINE
-       string "Initial kernel command string"
-       depends on CMDLINE_BOOL
-       default "console=ttySC1,115200"
-
-endmenu
-
-menu "Bus options"
-
-# Even on SuperH devices which don't have an ISA bus,
-# this variable helps the PCMCIA modules handle
-# IRQ requesting properly -- Greg Banks.
-#
-# Though we're generally not interested in it when
-# we're not using PCMCIA, so we make it dependent on
-# PCMCIA outright. -- PFM.
-config ISA
-       def_bool y
-       depends on PCMCIA && HD6446X_SERIES
+choice
+       prompt "Kernel command line"
+       optional
+       default CMDLINE_OVERWRITE
        help
        help
-         Find out whether you have ISA slots on your motherboard.  ISA 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 PCI, EISA, MicroChannel
-         (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
-         newer boards don't support it.  If you have ISA, say Y, otherwise N.
+         Setting this option allows the kernel command line arguments
+         to be set.
 
 
-config EISA
-       bool
-       ---help---
-         The Extended Industry Standard Architecture (EISA) bus was
-         developed as an open alternative to the IBM MicroChannel bus.
+config CMDLINE_OVERWRITE
+       bool "Overwrite bootloader kernel arguments"
+       help
+         Given string will overwrite any arguments passed in by
+         a bootloader.
 
 
-         The EISA bus provided some of the features of the IBM MicroChannel
-         bus while maintaining backward compatibility with cards made for
-         the older ISA bus.  The EISA bus saw limited use between 1988 and
-         1995 when it was made obsolete by the PCI bus.
+config CMDLINE_EXTEND
+       bool "Extend bootloader kernel arguments"
+       help
+         Given string will be concatenated with arguments passed in
+         by a bootloader.
 
 
-         Say Y here if you are building a kernel for an EISA-based machine.
+endchoice
 
 
-         Otherwise, say N.
+config CMDLINE
+       string "Kernel command line arguments string"
+       depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
+       default "console=ttySC1,115200"
 
 
-config MCA
-       bool
-       help
-         MicroChannel Architecture is found in some IBM PS/2 machines and
-         laptops.  It is a bus system similar to PCI or ISA. See
-         <file:Documentation/mca.txt> (and especially the web page given
-         there) before attempting to build an MCA bus kernel.
+endmenu
 
 
-config SBUS
-       bool
+menu "Bus options"
 
 config SUPERHYWAY
        tristate "SuperHyway Bus support"
        depends on CPU_SUBTYPE_SH4_202
 
 config MAPLE
 
 config SUPERHYWAY
        tristate "SuperHyway Bus support"
        depends on CPU_SUBTYPE_SH4_202
 
 config MAPLE
-       bool "Maple Bus support"
-       depends on SH_DREAMCAST
-       help
-         The Maple Bus is SEGA's serial communication bus for peripherals
-         on the Dreamcast. Without this bus support you won't be able to
-         get your Dreamcast keyboard etc to work, so most users
-         probably want to say 'Y' here, unless you are only using the
-         Dreamcast with a serial line terminal or a remote network
-         connection.
-
-config CF_ENABLER
-       bool "Compact Flash Enabler support"
-       depends on SOLUTION_ENGINE || SH_SH03
-       ---help---
-         Compact Flash is a small, removable mass storage device introduced
-         in 1994 originally as a PCMCIA device.  If you say `Y' here, you
-         compile in support for Compact Flash devices directly connected to
-         a SuperH processor.  A Compact Flash FAQ is available at
-         <http://www.compactflash.org/faqs/faq.htm>.
-
-         If your board has "Directly Connected" CompactFlash at area 5 or 6,
-         you may want to enable this option.  Then, you can use CF as
-         primary IDE drive (only tested for SanDisk).
-
-         If in doubt, select 'N'.
-
-choice
-       prompt "Compact Flash Connection Area"
-       depends on CF_ENABLER
-       default CF_AREA6
-
-config CF_AREA5
-       bool "Area5"
+       bool "Maple Bus support"
+       depends on SH_DREAMCAST
        help
        help
-         If your board has "Directly Connected" CompactFlash, You should
-         select the area where your CF is connected to.
-
-         - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
-         - "Area6" if it is connected to Area 6 (0x18000000)
-
-         "Area6" will work for most boards.
-
-config CF_AREA6
-       bool "Area6"
-
-endchoice
-
-config CF_BASE_ADDR
-       hex
-       depends on CF_ENABLER
-       default "0xb8000000" if CF_AREA6
-       default "0xb4000000" if CF_AREA5
+        The Maple Bus is SEGA's serial communication bus for peripherals
+        on the Dreamcast. Without this bus support you won't be able to
+        get your Dreamcast keyboard etc to work, so most users
+        probably want to say 'Y' here, unless you are only using the
+        Dreamcast with a serial line terminal or a remote network
+        connection.
 
 source "arch/sh/drivers/pci/Kconfig"
 
 
 source "arch/sh/drivers/pci/Kconfig"
 
+source "drivers/pci/pcie/Kconfig"
+
 source "drivers/pci/Kconfig"
 
 source "drivers/pcmcia/Kconfig"
 source "drivers/pci/Kconfig"
 
 source "drivers/pcmcia/Kconfig"
@@ -755,13 +837,11 @@ source "fs/Kconfig.binfmt"
 endmenu
 
 menu "Power management options (EXPERIMENTAL)"
 endmenu
 
 menu "Power management options (EXPERIMENTAL)"
-depends on EXPERIMENTAL && SYS_SUPPORTS_PM
+depends on EXPERIMENTAL
 
 
-config ARCH_SUSPEND_POSSIBLE
-       def_bool y
-       depends on !SMP
+source "kernel/power/Kconfig"
 
 
-source kernel/power/Kconfig
+source "drivers/cpuidle/Kconfig"
 
 endmenu
 
 
 endmenu