Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[safe/jmp/linux-2.6] / arch / s390 / Kconfig
index 1831833..1c866ef 100644 (file)
@@ -3,6 +3,10 @@
 # see Documentation/kbuild/kconfig-language.txt.
 #
 
 # see Documentation/kbuild/kconfig-language.txt.
 #
 
+config SCHED_MC
+       def_bool y
+       depends on SMP
+
 config MMU
        def_bool y
 
 config MMU
        def_bool y
 
@@ -39,6 +43,12 @@ config GENERIC_HWEIGHT
 config GENERIC_TIME
        def_bool y
 
 config GENERIC_TIME
        def_bool y
 
+config GENERIC_TIME_VSYSCALL
+       def_bool y
+
+config GENERIC_CLOCKEVENTS
+       def_bool y
+
 config GENERIC_BUG
        bool
        depends on BUG
 config GENERIC_BUG
        bool
        depends on BUG
@@ -55,20 +65,51 @@ config GENERIC_LOCKBREAK
        default y
        depends on SMP && PREEMPT
 
        default y
        depends on SMP && PREEMPT
 
+config PGSTE
+       bool
+       default y if KVM
+
+config VIRT_CPU_ACCOUNTING
+       def_bool y
+
+config ARCH_SUPPORTS_DEBUG_PAGEALLOC
+       def_bool y
+
 mainmenu "Linux Kernel Configuration"
 
 config S390
        def_bool y
 mainmenu "Linux Kernel Configuration"
 
 config S390
        def_bool y
+       select USE_GENERIC_SMP_HELPERS if SMP
+       select HAVE_SYSCALL_WRAPPERS
+       select HAVE_FUNCTION_TRACER
+       select HAVE_FUNCTION_TRACE_MCOUNT_TEST
+       select HAVE_FTRACE_MCOUNT_RECORD
+       select HAVE_SYSCALL_TRACEPOINTS
+       select HAVE_DYNAMIC_FTRACE
+       select HAVE_FUNCTION_GRAPH_TRACER
+       select HAVE_DEFAULT_NO_SPIN_MUTEXES
        select HAVE_OPROFILE
        select HAVE_KPROBES
        select HAVE_KRETPROBES
        select HAVE_OPROFILE
        select HAVE_KPROBES
        select HAVE_KRETPROBES
+       select HAVE_KVM if 64BIT
+       select HAVE_ARCH_TRACEHOOK
+       select INIT_ALL_POSSIBLE
+       select HAVE_PERF_COUNTERS
+
+config SCHED_OMIT_FRAME_POINTER
+       bool
+       default y
 
 source "init/Kconfig"
 
 
 source "init/Kconfig"
 
+source "kernel/Kconfig.freezer"
+
 menu "Base setup"
 
 comment "Processor type and features"
 
 menu "Base setup"
 
 comment "Processor type and features"
 
+source "kernel/time/Kconfig"
+
 config 64BIT
        bool "64 bit kernel"
        help
 config 64BIT
        bool "64 bit kernel"
        help
@@ -79,6 +120,9 @@ config 32BIT
        bool
        default y if !64BIT
 
        bool
        default y if !64BIT
 
+config KTIME_SCALAR
+       def_bool 32BIT
+
 config SMP
        bool "Symmetric multi-processing support"
        ---help---
 config SMP
        bool "Symmetric multi-processing support"
        ---help---
@@ -132,6 +176,7 @@ config MATHEMU
 config COMPAT
        bool "Kernel support for 31 bit emulation"
        depends on 64BIT
 config COMPAT
        bool "Kernel support for 31 bit emulation"
        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
        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
@@ -207,6 +252,14 @@ config MARCH_Z9_109
          Class (z9 BC). The kernel will be slightly faster but will not
          work on older machines such as the z990, z890, z900, and z800.
 
          Class (z9 BC). The kernel will be slightly faster but will not
          work on older machines such as the z990, z890, z900, and z800.
 
+config MARCH_Z10
+       bool "IBM System z10"
+       help
+         Select this to enable optimizations for IBM System z10. The
+         kernel will be slightly faster but will not work on older
+         machines such as the z990, z890, z900, z800, z9-109, z9-ec
+         and z9-bc.
+
 endchoice
 
 config PACK_STACK
 endchoice
 
 config PACK_STACK
@@ -223,19 +276,17 @@ config PACK_STACK
          Say Y if you are unsure.
 
 config SMALL_STACK
          Say Y if you are unsure.
 
 config SMALL_STACK
-       bool "Use 4kb/8kb for kernel stack instead of 8kb/16kb"
-       depends on PACK_STACK && !LOCKDEP
+       bool "Use 8kb for kernel stack instead of 16kb"
+       depends on PACK_STACK && 64BIT && !LOCKDEP
        help
          If you say Y here and the compiler supports the -mkernel-backchain
        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
-         the reduced size is 4kb instead of 8kb and for 64 bit it is 8kb
-         instead of 16kb. This allows to run more thread on a system and
-         reduces the pressure on the memory management for higher order
-         page allocations.
+         option the kernel will use a smaller kernel stack size. The reduced
+         size is 8kb instead of 16kb. This allows to run more threads on a
+         system and reduces the pressure on the memory management for higher
+         order page allocations.
 
          Say N if you are unsure.
 
 
          Say N if you are unsure.
 
-
 config CHECK_STACK
        bool "Detect kernel stack overflow"
        help
 config CHECK_STACK
        bool "Detect kernel stack overflow"
        help
@@ -266,7 +317,7 @@ config WARN_STACK
          This option enables the compiler options -mwarn-framesize and
          -mwarn-dynamicstack. If the compiler supports these options it
          will generate warnings for function which either use alloca or
          This option enables the compiler options -mwarn-framesize and
          -mwarn-dynamicstack. If the compiler supports these options it
          will generate warnings for function which either use alloca or
-         create a stack frame bigger then CONFIG_WARN_STACK_SIZE.
+         create a stack frame bigger than CONFIG_WARN_STACK_SIZE.
 
          Say N if you are unsure.
 
 
          Say N if you are unsure.
 
@@ -274,7 +325,7 @@ config WARN_STACK_SIZE
        int "Maximum frame size considered safe (128-2048)"
        range 128 2048
        depends on WARN_STACK
        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.
        help
          This allows you to specify the maximum frame size a function may
          have without the compiler complaining about it.
@@ -286,38 +337,56 @@ comment "Kernel preemption"
 
 source "kernel/Kconfig.preempt"
 
 
 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
+
+config ARCH_HIBERNATION_POSSIBLE
+       def_bool y if 64BIT
+
 source "mm/Kconfig"
 
 comment "I/O subsystem configuration"
 
 source "mm/Kconfig"
 
 comment "I/O subsystem configuration"
 
-config MACHCHK_WARNING
-       bool "Process warning machine checks"
-       help
-         Select this option if you want the machine check handler on IBM S/390 or
-         zSeries to process warning machine checks (e.g. on power failures).
-         If unsure, say "Y".
-
 config QDIO
        tristate "QDIO support"
        ---help---
          This driver provides the Queued Direct I/O base support for
 config QDIO
        tristate "QDIO support"
        ---help---
          This driver provides the Queued Direct I/O base support for
-         IBM mainframes.
-
-         For details please refer to the documentation provided by IBM at
-         <http://www10.software.ibm.com/developerworks/opensource/linux390>
+         IBM System z.
 
          To compile this driver as a module, choose M here: the
          module will be called qdio.
 
          If unsure, say Y.
 
 
          To compile this driver as a module, choose M here: the
          module will be called qdio.
 
          If unsure, say Y.
 
-config QDIO_DEBUG
-       bool "Extended debugging information"
-       depends on QDIO
+config CHSC_SCH
+       tristate "Support for CHSC subchannels"
        help
        help
-         Say Y here to get extended debugging output in
-           /sys/kernel/debug/s390dbf/qdio...
-         Warning: this option reduces the performance of the QDIO module.
+         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.
+
+         To compile this driver as a module, choose M here: the
+         module will be called chsc_sch.
 
          If unsure, say N.
 
 
          If unsure, say N.
 
@@ -334,7 +403,7 @@ config IPL
 choice
        prompt "IPL method generated into head.S"
        depends on IPL
 choice
        prompt "IPL method generated into head.S"
        depends on IPL
-       default IPL_TAPE
+       default IPL_VM
        help
          Select "tape" if you want to IPL the image from a Tape.
 
        help
          Select "tape" if you want to IPL the image from a Tape.
 
@@ -411,22 +480,9 @@ config CMM_IUCV
          Select this option to enable the special message interface to
          the cooperative memory management.
 
          Select this option to enable the special message interface to
          the cooperative memory management.
 
-config VIRT_TIMER
-       bool "Virtual CPU timer support"
-       help
-         This provides a kernel interface for virtual CPU timers.
-         Default is disabled.
-
-config VIRT_CPU_ACCOUNTING
-       bool "Base user process accounting on virtual cpu timer"
-       depends on VIRT_TIMER
-       help
-         Select this option to use CPU timer deltas to do user
-         process accounting.
-
 config APPLDATA_BASE
        bool "Linux - VM Monitor Stream, base infrastructure"
 config APPLDATA_BASE
        bool "Linux - VM Monitor Stream, base infrastructure"
-       depends on PROC_FS && VIRT_TIMER=y
+       depends on PROC_FS
        help
          This provides a kernel interface for creating and updating z/VM APPLDATA
          monitor records. The monitor records are updated at certain time
        help
          This provides a kernel interface for creating and updating z/VM APPLDATA
          monitor records. The monitor records are updated at certain time
@@ -471,7 +527,7 @@ config APPLDATA_OS
 
 config APPLDATA_NET_SUM
        tristate "Monitor overall network statistics"
 
 config APPLDATA_NET_SUM
        tristate "Monitor overall network statistics"
-       depends on APPLDATA_BASE
+       depends on APPLDATA_BASE && NET
        help
          This provides network related data to the Linux - VM Monitor Stream,
          currently there is only a total sum of network I/O statistics, no
        help
          This provides network related data to the Linux - VM Monitor Stream,
          currently there is only a total sum of network I/O statistics, no
@@ -486,25 +542,6 @@ config APPLDATA_NET_SUM
 
 source kernel/Kconfig.hz
 
 
 source kernel/Kconfig.hz
 
-config NO_IDLE_HZ
-       bool "No HZ timer ticks in idle"
-       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.
-
-         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 NO_IDLE_HZ_INIT
-       bool "HZ timer in idle off by default"
-       depends on NO_IDLE_HZ
-       help
-         The HZ timer is switched off in idle by default. That means the
-         HZ timer is already disabled at boot time.
-
 config S390_HYPFS_FS
        bool "s390 hypervisor file system support"
        select SYS_HYPERVISOR
 config S390_HYPFS_FS
        bool "s390 hypervisor file system support"
        select SYS_HYPERVISOR
@@ -521,13 +558,48 @@ config KEXEC
          but is independent of hardware/microcode support.
 
 config ZFCPDUMP
          but is independent of hardware/microcode support.
 
 config ZFCPDUMP
-       tristate "zfcpdump support"
+       bool "zfcpdump support"
        select SMP
        default n
        help
          Select this option if you want to build an zfcpdump enabled kernel.
          Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this.
 
        select SMP
        default n
        help
          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.
+
+config SECCOMP
+       bool "Enable seccomp to safely compute untrusted bytecode"
+       depends on PROC_FS
+       default y
+       help
+         This kernel feature is useful for number crunching applications
+         that may need to compute untrusted bytecode during their
+         execution. By using pipes or other transports made available to
+         the process as file descriptors supporting the read/write
+         syscalls, it's possible to isolate those applications in
+         their own address space using seccomp. Once seccomp is
+         enabled via /proc/<pid>/seccomp, it cannot be disabled
+         and the task is only allowed to execute a few safe syscalls
+         defined by each seccomp mode.
+
+         If unsure, say Y.
+
+endmenu
+
+menu "Power Management"
+
+source "kernel/power/Kconfig"
+
 endmenu
 
 source "net/Kconfig"
 endmenu
 
 source "net/Kconfig"
@@ -549,3 +621,5 @@ source "security/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
+
+source "arch/s390/kvm/Kconfig"