]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - arch/s390/Kconfig
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[linux-2.6.git] / arch / s390 / Kconfig
index ab79af84699ad0b94db2ff65feb2b9d095446be1..bc581d8a7cd9c35995e6bb75ae1f17d101840de1 100644 (file)
@@ -3,34 +3,78 @@
 # see Documentation/kbuild/kconfig-language.txt.
 #
 
+config SCHED_MC
+       def_bool y
+       depends on SMP
+
 config MMU
-       bool
-       default y
+       def_bool y
+
+config ZONE_DMA
+       def_bool y
+       depends on 64BIT
+
+config LOCKDEP_SUPPORT
+       def_bool y
+
+config STACKTRACE_SUPPORT
+       def_bool y
+
+config HAVE_LATENCYTOP_SUPPORT
+       def_bool y
 
 config RWSEM_GENERIC_SPINLOCK
        bool
 
 config RWSEM_XCHGADD_ALGORITHM
-       bool
-       default y
+       def_bool y
 
-config GENERIC_CALIBRATE_DELAY
+config ARCH_HAS_ILOG2_U32
        bool
-       default y
+       default n
 
-config GENERIC_BUST_SPINLOCK
+config ARCH_HAS_ILOG2_U64
        bool
+       default n
 
-mainmenu "Linux Kernel Configuration"
+config GENERIC_HWEIGHT
+       def_bool y
+
+config GENERIC_TIME
+       def_bool y
+
+config GENERIC_CLOCKEVENTS
+       def_bool y
 
-config ARCH_S390
+config GENERIC_BUG
        bool
+       depends on BUG
        default y
 
-config UID16
+config NO_IOMEM
+       def_bool y
+
+config NO_DMA
+       def_bool y
+
+config GENERIC_LOCKBREAK
        bool
        default y
-       depends on ARCH_S390X = 'n'
+       depends on SMP && PREEMPT
+
+config PGSTE
+       bool
+       default y if KVM
+
+mainmenu "Linux Kernel Configuration"
+
+config S390
+       def_bool y
+       select HAVE_OPROFILE
+       select HAVE_KPROBES
+       select HAVE_KRETPROBES
+       select HAVE_KVM if 64BIT
+       select HAVE_ARCH_TRACEHOOK
 
 source "init/Kconfig"
 
@@ -38,19 +82,17 @@ menu "Base setup"
 
 comment "Processor type and features"
 
-config ARCH_S390X
+source "kernel/time/Kconfig"
+
+config 64BIT
        bool "64 bit kernel"
        help
          Select this option if you have a 64 bit IBM zSeries machine
          and want to use the 64 bit addressing mode.
 
-config 64BIT
-       def_bool ARCH_S390X
-
-config ARCH_S390_31
+config 32BIT
        bool
-       depends on ARCH_S390X = 'n'
-       default y
+       default y if !64BIT
 
 config SMP
        bool "Symmetric multi-processing support"
@@ -65,8 +107,8 @@ config SMP
          singleprocessor machines. On a singleprocessor machine, the kernel
          will run faster if you say N here.
 
-         See also the <file:Documentation/smp.txt> and the SMP-HOWTO
-         available at <http://www.tldp.org/docs.html#howto>.
+         See also the SMP-HOWTO available at
+         <http://www.tldp.org/docs.html#howto>.
 
          Even if you don't know what to do here, say Y.
 
@@ -74,7 +116,8 @@ config NR_CPUS
        int "Maximum number of CPUs (2-64)"
        range 2 64
        depends on SMP
-       default "32"
+       default "32" if !64BIT
+       default "64" if 64BIT
        help
          This allows you to specify the maximum number of CPUs which this
          kernel will support.  The maximum supported value is 64 and the
@@ -101,31 +144,49 @@ config MATHEMU
          on older S/390 machines. Say Y unless you know your machine doesn't
          need this.
 
-config S390_SUPPORT
+config COMPAT
        bool "Kernel support for 31 bit emulation"
-       depends on ARCH_S390X
+       depends on 64BIT
+       select COMPAT_BINFMT_ELF
        help
          Select this option if you want to enable your system kernel to
          handle system-calls from ELF binaries for 31 bit ESA.  This option
          (and some other stuff like libraries and such) is needed for
          executing 31 bit applications.  It is safe to say "Y".
 
-config COMPAT
+config SYSVIPC_COMPAT
        bool
-       depends on S390_SUPPORT
+       depends on COMPAT && SYSVIPC
        default y
 
-config SYSVIPC_COMPAT
+config AUDIT_ARCH
        bool
-       depends on COMPAT && SYSVIPC
        default y
 
-config BINFMT_ELF32
-       tristate "Kernel support for 31 bit ELF binaries"
-       depends on S390_SUPPORT
+config S390_SWITCH_AMODE
+       bool "Switch kernel/user addressing modes"
+       help
+         This option allows to switch the addressing modes of kernel and user
+         space. The kernel parameter switch_amode=on will enable this feature,
+         default is disabled. Enabling this (via kernel parameter) on machines
+         earlier than IBM System z9-109 EC/BC will reduce system performance.
+
+         Note that this option will also be selected by selecting the execute
+         protection option below. Enabling the execute protection via the
+         noexec kernel parameter will also switch the addressing modes,
+         independent of the switch_amode kernel parameter.
+
+
+config S390_EXEC_PROTECT
+       bool "Data execute protection"
+       select S390_SWITCH_AMODE
        help
-         This allows you to run 32-bit Linux/ELF binaries on your zSeries
-         in 64 bit mode. Everybody wants this; say Y.
+         This option allows to enable a buffer overflow protection for user
+         space programs and it also selects the addressing mode option above.
+         The kernel parameter noexec=on will enable this feature and also
+         switch the addressing modes, default is disabled. Enabling this (via
+         kernel parameter) on machines earlier than IBM System z9-109 EC/BC
+         will reduce system performance.
 
 comment "Code generation options"
 
@@ -135,7 +196,7 @@ choice
 
 config MARCH_G5
        bool "S/390 model G5 and G6"
-       depends on ARCH_S390_31
+       depends on !64BIT
        help
          Select this to build a 31 bit kernel that works
          on all S/390 and zSeries machines.
@@ -154,6 +215,14 @@ config MARCH_Z990
          This will be slightly faster but does not work on
          older machines such as the z900.
 
+config MARCH_Z9_109
+       bool "IBM System z9"
+       help
+         Select this to enable optimizations for IBM System z9-109, IBM
+         System z9 Enterprise Class (z9 EC), and IBM System z9 Business
+         Class (z9 BC). The kernel will be slightly faster but will not
+         work on older machines such as the z990, z890, z900, and z800.
+
 endchoice
 
 config PACK_STACK
@@ -171,7 +240,7 @@ config PACK_STACK
 
 config SMALL_STACK
        bool "Use 4kb/8kb for kernel stack instead of 8kb/16kb"
-       depends on PACK_STACK
+       depends on PACK_STACK && !LOCKDEP
        help
          If you say Y here and the compiler supports the -mkernel-backchain
          option the kernel will use a smaller kernel stack size. For 31 bit
@@ -221,11 +290,39 @@ config WARN_STACK_SIZE
        int "Maximum frame size considered safe (128-2048)"
        range 128 2048
        depends on WARN_STACK
-       default "256"
+       default "2048"
        help
          This allows you to specify the maximum frame size a function may
          have without the compiler complaining about it.
 
+config ARCH_POPULATES_NODE_MAP
+       def_bool y
+
+comment "Kernel preemption"
+
+source "kernel/Kconfig.preempt"
+
+config ARCH_SPARSEMEM_ENABLE
+       def_bool y
+       select SPARSEMEM_VMEMMAP_ENABLE
+       select SPARSEMEM_VMEMMAP
+       select SPARSEMEM_STATIC if !64BIT
+
+config ARCH_SPARSEMEM_DEFAULT
+       def_bool y
+
+config ARCH_SELECT_MEMORY_MODEL
+       def_bool y
+
+config ARCH_ENABLE_MEMORY_HOTPLUG
+       def_bool y
+       depends on SPARSEMEM
+
+config ARCH_ENABLE_MEMORY_HOTREMOVE
+       def_bool y
+
+source "mm/Kconfig"
+
 comment "I/O subsystem configuration"
 
 config MACHCHK_WARNING
@@ -238,46 +335,41 @@ config MACHCHK_WARNING
 config QDIO
        tristate "QDIO support"
        ---help---
-         This driver provides the Queued Direct I/O base support for the
-         IBM S/390 (G5 and G6) and eServer zSeries (z800, z890, z900 and z990).
-
-         For details please refer to the documentation provided by IBM at
-         <http://www10.software.ibm.com/developerworks/opensource/linux390>
+         This driver provides the Queued Direct I/O base support for
+         IBM System z.
 
          To compile this driver as a module, choose M here: the
          module will be called qdio.
 
          If unsure, say Y.
 
-config QDIO_PERF_STATS
-       bool "Performance statistics in /proc"
-       depends on QDIO
-       help
-         Say Y here to get performance statistics in /proc/qdio_perf
-
-         If unsure, say N.
-
 config QDIO_DEBUG
        bool "Extended debugging information"
        depends on QDIO
        help
-         Say Y here to get extended debugging output in /proc/s390dbf/qdio...
+         Say Y here to get extended debugging output in
+           /sys/kernel/debug/s390dbf/qdio...
          Warning: this option reduces the performance of the QDIO module.
 
          If unsure, say N.
 
-comment "Misc"
-
-config PREEMPT
-       bool "Preemptible Kernel"
+config CHSC_SCH
+       tristate "Support for CHSC subchannels"
        help
-         This option reduces the latency of the kernel when reacting to
-         real-time or interactive events by allowing a low priority process to
-         be preempted even if it is in kernel mode executing a system call.
-         This allows applications to run more reliably even when the system is
-         under load.
+         This driver allows usage of CHSC subchannels. A CHSC subchannel
+         is usually present on LPAR only.
+         The driver creates a device /dev/chsc, which may be used to
+         obtain I/O configuration information about the machine and
+         to issue asynchronous chsc commands (DANGEROUS).
+         You will usually only want to use this interface on a special
+         LPAR designated for system management.
 
-         Say N if you are unsure.
+         To compile this driver as a module, choose M here: the
+         module will be called chsc_sch.
+
+         If unsure, say N.
+
+comment "Misc"
 
 config IPL
        bool "Builtin IPL record support"
@@ -307,6 +399,10 @@ endchoice
 
 source "fs/Kconfig.binfmt"
 
+config FORCE_MAX_ZONEORDER
+       int
+       default "9"
+
 config PROCESS_DEBUG
        bool "Show crashed user process info"
        help
@@ -332,6 +428,8 @@ config SHARED_KERNEL
          Select this option, if you want to share the text segment of the
          Linux kernel between different VM guests. This reduces memory
          usage with lots of guests but greatly increases kernel size.
+         Also if a kernel was IPL'ed from a shared segment the kexec system
+         call will not work.
          You should only select this option if you know what you are
          doing and want to exploit this feature.
 
@@ -361,6 +459,13 @@ config CMM_IUCV
          Select this option to enable the special message interface to
          the cooperative memory management.
 
+config PAGE_STATES
+       bool "Unused page notification"
+       help
+         This enables the notification of unused pages to the
+         hypervisor. The ESSA instruction is used to do the states
+         changes between a page that has content and the unused state.
+
 config VIRT_TIMER
        bool "Virtual CPU timer support"
        help
@@ -391,7 +496,7 @@ config APPLDATA_BASE
 
 config APPLDATA_MEM
        tristate "Monitor memory management statistics"
-       depends on APPLDATA_BASE
+       depends on APPLDATA_BASE && VM_EVENT_COUNTERS
        help
          This provides memory management related data to the Linux - VM Monitor
          Stream, like paging/swapping rate, memory utilisation, etc.
@@ -434,43 +539,56 @@ config APPLDATA_NET_SUM
          This can also be compiled as a module, which will be called
          appldata_net_sum.o.
 
-config NO_IDLE_HZ
-       bool "No HZ timer ticks in idle"
+source kernel/Kconfig.hz
+
+config S390_HYPFS_FS
+       bool "s390 hypervisor file system support"
+       select SYS_HYPERVISOR
+       default y
        help
-         Switches the regular HZ timer off when the system is going idle.
-         This helps z/VM to detect that the Linux system is idle. VM can
-         then "swap-out" this guest which reduces memory usage. It also
-         reduces the overhead of idle systems.
+         This is a virtual file system intended to provide accounting
+         information in an s390 hypervisor environment.
 
-         The HZ timer can be switched on/off via /proc/sys/kernel/hz_timer.
-         hz_timer=0 means HZ timer is disabled. hz_timer=1 means HZ
-         timer is active.
+config KEXEC
+       bool "kexec system call"
+       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
+         but is independent of hardware/microcode support.
 
-config NO_IDLE_HZ_INIT
-       bool "HZ timer in idle off by default"
-       depends on NO_IDLE_HZ
+config ZFCPDUMP
+       tristate "zfcpdump support"
+       select SMP
+       default n
        help
-         The HZ timer is switched off in idle by default. That means the
-         HZ timer is already disabled at boot time.
+         Select this option if you want to build an zfcpdump enabled kernel.
+         Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this.
 
+config S390_GUEST
+bool "s390 guest support for KVM (EXPERIMENTAL)"
+       depends on 64BIT && EXPERIMENTAL
+       select VIRTIO
+       select VIRTIO_RING
+       select VIRTIO_CONSOLE
+       help
+         Select this option if you want to run the kernel as a guest under
+         the KVM hypervisor. This will add detection for KVM as well  as a
+         virtio transport. If KVM is detected, the virtio console will be
+         the default console.
 endmenu
 
-config PCMCIA
-       bool
-       default n
-
-source "drivers/base/Kconfig"
+source "net/Kconfig"
 
-source "drivers/scsi/Kconfig"
+config PCMCIA
+       def_bool n
 
-source "drivers/s390/Kconfig"
+config CCW
+       def_bool y
 
-source "net/Kconfig"
+source "drivers/Kconfig"
 
 source "fs/Kconfig"
 
-source "arch/s390/oprofile/Kconfig"
-
 source "arch/s390/Kconfig.debug"
 
 source "security/Kconfig"
@@ -478,3 +596,5 @@ source "security/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
+
+source "arch/s390/kvm/Kconfig"