]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/sh/Kconfig
sched: prevent wakeup over-scheduling
[linux-2.6-omap-h63xx.git] / arch / sh / Kconfig
index 6c42c8ed9781236ee927812e28ad2e74ef5ac532..44982c1dfa23c7adc28b422d8b2d35fa6b6c92b4 100644 (file)
@@ -55,8 +55,21 @@ config GENERIC_TIME
 config GENERIC_CLOCKEVENTS
        def_bool n
 
 config GENERIC_CLOCKEVENTS
        def_bool n
 
+config SYS_SUPPORTS_PM
+       bool
+
 config SYS_SUPPORTS_APM_EMULATION
        bool
 config SYS_SUPPORTS_APM_EMULATION
        bool
+       select SYS_SUPPORTS_PM
+
+config SYS_SUPPORTS_SMP
+       bool
+
+config SYS_SUPPORTS_NUMA
+       bool
+
+config SYS_SUPPORTS_PCI
+       bool
 
 config ARCH_MAY_HAVE_PC_FDC
        bool
 
 config ARCH_MAY_HAVE_PC_FDC
        bool
@@ -77,6 +90,9 @@ config ARCH_HAS_ILOG2_U64
        bool
        default n
 
        bool
        default n
 
+config ARCH_NO_VIRT_TO_BUS
+       def_bool y
+
 source "init/Kconfig"
 
 menu "System type"
 source "init/Kconfig"
 
 menu "System type"
@@ -102,7 +118,7 @@ endchoice
 
 config SH_FPU
        bool "FPU support"
 
 config SH_FPU
        bool "FPU support"
-       depends on !CPU_SH3
+       depends on CPU_HAS_FPU
        default y
        help
          Selecting this option will enable support for SH processors that
        default y
        help
          Selecting this option will enable support for SH processors that
@@ -121,8 +137,8 @@ config SH_FPU_EMU
 
 config SH_DSP
        bool "DSP support"
 
 config SH_DSP
        bool "DSP support"
-       default y if SH4AL_DSP || !CPU_SH4
-       default n
+       depends on CPU_HAS_DSP
+       default y
        help
          Selecting this option will enable support for SH processors that
          have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
        help
          Selecting this option will enable support for SH processors that
          have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
@@ -159,15 +175,9 @@ config SPECULATIVE_EXECUTION
 config CPU_HAS_INTEVT
        bool
 
 config CPU_HAS_INTEVT
        bool
 
-config CPU_HAS_PINT_IRQ
-       bool
-
 config CPU_HAS_MASKREG_IRQ
        bool
 
 config CPU_HAS_MASKREG_IRQ
        bool
 
-config CPU_HAS_INTC2_IRQ
-       bool
-
 config CPU_HAS_IPR_IRQ
        bool
 
 config CPU_HAS_IPR_IRQ
        bool
 
@@ -186,6 +196,12 @@ config CPU_HAS_SR_RB
 config CPU_HAS_PTEA
        bool
 
 config CPU_HAS_PTEA
        bool
 
+config CPU_HAS_DSP
+       bool
+
+config CPU_HAS_FPU
+       bool
+
 endmenu
 
 menu "Board support"
 endmenu
 
 menu "Board support"
@@ -196,6 +212,7 @@ config SOLUTION_ENGINE
 config SH_SOLUTION_ENGINE
        bool "SolutionEngine"
        select SOLUTION_ENGINE
 config SH_SOLUTION_ENGINE
        bool "SolutionEngine"
        select SOLUTION_ENGINE
+       select CPU_HAS_IPR_IRQ
        depends on CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7750
        help
          Select SolutionEngine if configuring for a Hitachi SH7709
        depends on CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7750
        help
          Select SolutionEngine if configuring for a Hitachi SH7709
@@ -228,6 +245,7 @@ config SH_7722_SOLUTION_ENGINE
 config SH_7751_SOLUTION_ENGINE
        bool "SolutionEngine7751"
        select SOLUTION_ENGINE
 config SH_7751_SOLUTION_ENGINE
        bool "SolutionEngine7751"
        select SOLUTION_ENGINE
+       select CPU_HAS_IPR_IRQ
        depends on CPU_SUBTYPE_SH7751
        help
          Select 7751 SolutionEngine if configuring for a Hitachi SH7751
        depends on CPU_SUBTYPE_SH7751
        help
          Select 7751 SolutionEngine if configuring for a Hitachi SH7751
@@ -236,19 +254,12 @@ config SH_7751_SOLUTION_ENGINE
 config SH_7780_SOLUTION_ENGINE
        bool "SolutionEngine7780"
        select SOLUTION_ENGINE
 config SH_7780_SOLUTION_ENGINE
        bool "SolutionEngine7780"
        select SOLUTION_ENGINE
+       select SYS_SUPPORTS_PCI
        depends on CPU_SUBTYPE_SH7780
        help
          Select 7780 SolutionEngine if configuring for a Renesas SH7780
          evaluation board.
 
        depends on CPU_SUBTYPE_SH7780
        help
          Select 7780 SolutionEngine if configuring for a Renesas SH7780
          evaluation board.
 
-config SH_7300_SOLUTION_ENGINE
-       bool "SolutionEngine7300"
-       select SOLUTION_ENGINE
-       depends on CPU_SUBTYPE_SH7300
-       help
-         Select 7300 SolutionEngine if configuring for a Hitachi
-         SH7300(SH-Mobile V) evaluation board.
-
 config SH_7343_SOLUTION_ENGINE
        bool "SolutionEngine7343"
        select SOLUTION_ENGINE
 config SH_7343_SOLUTION_ENGINE
        bool "SolutionEngine7343"
        select SOLUTION_ENGINE
@@ -257,14 +268,6 @@ config SH_7343_SOLUTION_ENGINE
          Select 7343 SolutionEngine if configuring for a Hitachi
          SH7343 (SH-Mobile 3AS) evaluation board.
 
          Select 7343 SolutionEngine if configuring for a Hitachi
          SH7343 (SH-Mobile 3AS) evaluation board.
 
-config SH_73180_SOLUTION_ENGINE
-       bool "SolutionEngine73180"
-       select SOLUTION_ENGINE
-       depends on CPU_SUBTYPE_SH73180
-       help
-         Select 73180 SolutionEngine if configuring for a Hitachi
-         SH73180(SH-Mobile 3) evaluation board.
-
 config SH_7751_SYSTEMH
        bool "SystemH7751R"
        depends on CPU_SUBTYPE_SH7751R
 config SH_7751_SYSTEMH
        bool "SystemH7751R"
        depends on CPU_SUBTYPE_SH7751R
@@ -275,20 +278,16 @@ config SH_7751_SYSTEMH
 config SH_HP6XX
        bool "HP6XX"
        select SYS_SUPPORTS_APM_EMULATION
 config SH_HP6XX
        bool "HP6XX"
        select SYS_SUPPORTS_APM_EMULATION
+       select HD6446X_SERIES
        depends on CPU_SUBTYPE_SH7709
        help
          Select HP6XX if configuring for a HP jornada HP6xx.
          More information (hardware only) at
          <http://www.hp.com/jornada/>.
 
        depends on CPU_SUBTYPE_SH7709
        help
          Select HP6XX if configuring for a HP jornada HP6xx.
          More information (hardware only) at
          <http://www.hp.com/jornada/>.
 
-config SH_SATURN
-       bool "Saturn"
-       depends on CPU_SUBTYPE_SH7604
-       help
-         Select Saturn if configuring for a SEGA Saturn.
-
 config SH_DREAMCAST
        bool "Dreamcast"
 config SH_DREAMCAST
        bool "Dreamcast"
+       select SYS_SUPPORTS_PCI
        depends on CPU_SUBTYPE_SH7091
        help
          Select Dreamcast if configuring for a SEGA Dreamcast.
        depends on CPU_SUBTYPE_SH7091
        help
          Select Dreamcast if configuring for a SEGA Dreamcast.
@@ -306,7 +305,9 @@ config SH_MPC1211
 
 config SH_SH03
        bool "Interface CTP/PCI-SH03"
 
 config SH_SH03
        bool "Interface CTP/PCI-SH03"
-       depends on CPU_SUBTYPE_SH7751 && BROKEN
+       depends on CPU_SUBTYPE_SH7751
+       select CPU_HAS_IPR_IRQ
+       select SYS_SUPPORTS_PCI
        help
          CTP/PCI-SH03 is a CPU module computer that is produced
          by Interface Corporation.
        help
          CTP/PCI-SH03 is a CPU module computer that is produced
          by Interface Corporation.
@@ -315,6 +316,8 @@ config SH_SH03
 config SH_SECUREEDGE5410
        bool "SecureEdge5410"
        depends on CPU_SUBTYPE_SH7751R
 config SH_SECUREEDGE5410
        bool "SecureEdge5410"
        depends on CPU_SUBTYPE_SH7751R
+       select CPU_HAS_IPR_IRQ
+       select SYS_SUPPORTS_PCI
        help
          Select SecureEdge5410 if configuring for a SnapGear SH board.
          This includes both the OEM SecureEdge products as well as the
        help
          Select SecureEdge5410 if configuring for a SnapGear SH board.
          This includes both the OEM SecureEdge products as well as the
@@ -337,6 +340,7 @@ config SH_7710VOIPGW
 config SH_RTS7751R2D
        bool "RTS7751R2D"
        depends on CPU_SUBTYPE_SH7751R
 config SH_RTS7751R2D
        bool "RTS7751R2D"
        depends on CPU_SUBTYPE_SH7751R
+       select SYS_SUPPORTS_PCI
        help
          Select RTS7751R2D if configuring for a Renesas Technology
          Sales SH-Graphics board.
        help
          Select RTS7751R2D if configuring for a Renesas Technology
          Sales SH-Graphics board.
@@ -344,6 +348,7 @@ config SH_RTS7751R2D
 config SH_HIGHLANDER
        bool "Highlander"
        depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
 config SH_HIGHLANDER
        bool "Highlander"
        depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
+       select SYS_SUPPORTS_PCI
 
 config SH_EDOSK7705
        bool "EDOSK7705"
 
 config SH_EDOSK7705
        bool "EDOSK7705"
@@ -359,12 +364,15 @@ config SH_SH4202_MICRODEV
 config SH_LANDISK
        bool "LANDISK"
        depends on CPU_SUBTYPE_SH7751R
 config SH_LANDISK
        bool "LANDISK"
        depends on CPU_SUBTYPE_SH7751R
+       select SYS_SUPPORTS_PCI
        help
          I-O DATA DEVICE, INC. "LANDISK Series" support.
 
 config SH_TITAN
        bool "TITAN"
        depends on CPU_SUBTYPE_SH7751R
        help
          I-O DATA DEVICE, INC. "LANDISK Series" support.
 
 config SH_TITAN
        bool "TITAN"
        depends on CPU_SUBTYPE_SH7751R
+       select CPU_HAS_IPR_IRQ
+       select SYS_SUPPORTS_PCI
        help
          Select Titan if you are configuring for a Nimble Microsystems
          NetEngine NP51R.
        help
          Select Titan if you are configuring for a Nimble Microsystems
          NetEngine NP51R.
@@ -372,64 +380,33 @@ config SH_TITAN
 config SH_SHMIN
        bool "SHMIN"
        depends on CPU_SUBTYPE_SH7706
 config SH_SHMIN
        bool "SHMIN"
        depends on CPU_SUBTYPE_SH7706
+       select CPU_HAS_IPR_IRQ
        help
          Select SHMIN if configuring for the SHMIN board.
 
 config SH_LBOX_RE2
        bool "L-BOX RE2"
        depends on CPU_SUBTYPE_SH7751R
        help
          Select SHMIN if configuring for the SHMIN board.
 
 config SH_LBOX_RE2
        bool "L-BOX RE2"
        depends on CPU_SUBTYPE_SH7751R
+       select SYS_SUPPORTS_PCI
        help
          Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
 
        help
          Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
 
+config SH_X3PROTO
+       bool "SH-X3 Prototype board"
+       depends on CPU_SUBTYPE_SHX3
+
+config SH_MAGIC_PANEL_R2
+       bool "Magic Panel R2"
+       depends on CPU_SUBTYPE_SH7720
+       help
+         Select Magic Panel R2 if configuring for Magic Panel R2.
+
 endmenu
 
 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
 source "arch/sh/boards/renesas/r7780rp/Kconfig"
 endmenu
 
 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
 source "arch/sh/boards/renesas/r7780rp/Kconfig"
-
-config CF_ENABLER
-       bool "Compact Flash Enabler support"
-       depends on SH_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"
-       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
-
+source "arch/sh/boards/magicpanelr2/Kconfig"
 
 menu "Timer and clock configuration"
 
 
 menu "Timer and clock configuration"
 
@@ -465,15 +442,15 @@ config SH_TIMER_IRQ
 
 config SH_PCLK_FREQ
        int "Peripheral clock frequency (in Hz)"
 
 config SH_PCLK_FREQ
        int "Peripheral clock frequency (in Hz)"
-       default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
+       default "27000000" if CPU_SUBTYPE_SH7343
        default "31250000" if CPU_SUBTYPE_SH7619
        default "31250000" if CPU_SUBTYPE_SH7619
-       default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
+       default "32000000" if CPU_SUBTYPE_SH7722
+       default "33333333" if CPU_SUBTYPE_SH7770 || \
                              CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
                              CPU_SUBTYPE_SH7206
                              CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
                              CPU_SUBTYPE_SH7206
-       default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780 || \
-                             CPU_SUBTYPE_SH7785
-       default "60000000" if CPU_SUBTYPE_SH7751
+       default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
        default "66000000" if CPU_SUBTYPE_SH4_202
        default "66000000" if CPU_SUBTYPE_SH4_202
+       default "50000000"
        help
          This option is used to specify the peripheral clock frequency.
          This is necessary for determining the reference clock value on
        help
          This option is used to specify the peripheral clock frequency.
          This is necessary for determining the reference clock value on
@@ -481,8 +458,10 @@ config SH_PCLK_FREQ
 
 config SH_CLK_MD
        int "CPU Mode Pin Setting"
 
 config SH_CLK_MD
        int "CPU Mode Pin Setting"
-       default 0
        depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
        depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
+       default 6 if CPU_SUBTYPE_SH7206
+       default 5 if CPU_SUBTYPE_SH7619
+       default 0
        help
          MD2 - MD0 pin setting.
 
        help
          MD2 - MD0 pin setting.
 
@@ -554,6 +533,7 @@ config CRASH_DUMP
 
 config SMP
        bool "Symmetric multi-processing support"
 
 config SMP
        bool "Symmetric multi-processing support"
+       depends on SYS_SUPPORTS_SMP
        ---help---
          This enables support for systems with more than one CPU. If you have
          a system with only one CPU, like most personal computers, say N. If
        ---help---
          This enables support for systems with more than one CPU. If you have
          a system with only one CPU, like most personal computers, say N. If
@@ -578,6 +558,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 "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
@@ -589,10 +570,19 @@ config NR_CPUS
 
 source "kernel/Kconfig.preempt"
 
 
 source "kernel/Kconfig.preempt"
 
-config NODES_SHIFT
-       int
-       default "1"
-       depends on NEED_MULTIPLE_NODES
+config GUSA
+       def_bool y
+       depends on !SMP
+       help
+         This enables support for gUSA (general UserSpace Atomicity).
+         This is the default implementation for both UP and non-ll/sc
+         CPUs, and is used by the libc, amongst others.
+
+         For additional information, design information can be found 
+         in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
+
+         This should only be disabled for special cases where alternate
+         atomicity implementations exist.
 
 endmenu
 
 
 endmenu
 
@@ -617,6 +607,7 @@ config BOOT_LINK_OFFSET
 
 config UBC_WAKEUP
        bool "Wakeup UBC on startup"
 
 config UBC_WAKEUP
        bool "Wakeup UBC on startup"
+       depends on CPU_SH4
        help
          Selecting this option will wakeup the User Break Controller (UBC) on
          startup. Although the UBC is left in an awake state when the processor
        help
          Selecting this option will wakeup the User Break Controller (UBC) on
          startup. Although the UBC is left in an awake state when the processor
@@ -645,8 +636,8 @@ menu "Bus options"
 # we're not using PCMCIA, so we make it dependent on
 # PCMCIA outright. -- PFM.
 config ISA
 # we're not using PCMCIA, so we make it dependent on
 # PCMCIA outright. -- PFM.
 config ISA
-       bool
-       default y if PCMCIA
+       def_bool y
+       depends on PCMCIA && HD6446X_SERIES
        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
        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
@@ -684,6 +675,60 @@ config SUPERHYWAY
        tristate "SuperHyway Bus support"
        depends on CPU_SUBTYPE_SH4_202
 
        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"
+       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
+
 source "arch/sh/drivers/pci/Kconfig"
 
 source "drivers/pci/Kconfig"
 source "arch/sh/drivers/pci/Kconfig"
 
 source "drivers/pci/Kconfig"
@@ -701,7 +746,7 @@ source "fs/Kconfig.binfmt"
 endmenu
 
 menu "Power management options (EXPERIMENTAL)"
 endmenu
 
 menu "Power management options (EXPERIMENTAL)"
-depends on EXPERIMENTAL
+depends on EXPERIMENTAL && SYS_SUPPORTS_PM
 
 source kernel/power/Kconfig
 
 
 source kernel/power/Kconfig