Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[safe/jmp/linux-2.6] / arch / s390 / Kconfig
index 098c62c..1c866ef 100644 (file)
@@ -3,6 +3,10 @@
 # see Documentation/kbuild/kconfig-language.txt.
 #
 
+config SCHED_MC
+       def_bool y
+       depends on SMP
+
 config MMU
        def_bool y
 
@@ -16,6 +20,9 @@ config LOCKDEP_SUPPORT
 config STACKTRACE_SUPPORT
        def_bool y
 
+config HAVE_LATENCYTOP_SUPPORT
+       def_bool y
+
 config RWSEM_GENERIC_SPINLOCK
        bool
 
@@ -36,6 +43,12 @@ config GENERIC_HWEIGHT
 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
@@ -47,17 +60,56 @@ config NO_IOMEM
 config NO_DMA
        def_bool y
 
+config GENERIC_LOCKBREAK
+       bool
+       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
+       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_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 "kernel/Kconfig.freezer"
+
 menu "Base setup"
 
 comment "Processor type and features"
 
+source "kernel/time/Kconfig"
+
 config 64BIT
        bool "64 bit kernel"
        help
@@ -68,6 +120,9 @@ config 32BIT
        bool
        default y if !64BIT
 
+config KTIME_SCALAR
+       def_bool 32BIT
+
 config SMP
        bool "Symmetric multi-processing support"
        ---help---
@@ -81,8 +136,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.
 
@@ -90,7 +145,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
@@ -109,10 +165,6 @@ config HOTPLUG_CPU
          can be controlled through /sys/devices/system/cpu/cpu#.
          Say N if you want to disable CPU hotplug.
 
-config DEFAULT_MIGRATION_COST
-       int
-       default "1000000"
-
 config MATHEMU
        bool "IEEE FPU emulation"
        depends on MARCH_G5
@@ -124,6 +176,7 @@ config MATHEMU
 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
@@ -199,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.
 
+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
@@ -215,19 +276,17 @@ config PACK_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
-         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.
 
-
 config CHECK_STACK
        bool "Detect kernel stack overflow"
        help
@@ -258,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
-         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.
 
@@ -266,7 +325,7 @@ 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.
@@ -278,41 +337,56 @@ comment "Kernel preemption"
 
 source "kernel/Kconfig.preempt"
 
-source "mm/Kconfig"
+config ARCH_SPARSEMEM_ENABLE
+       def_bool y
+       select SPARSEMEM_VMEMMAP_ENABLE
+       select SPARSEMEM_VMEMMAP
+       select SPARSEMEM_STATIC if !64BIT
 
-config HOLES_IN_ZONE
+config ARCH_SPARSEMEM_DEFAULT
        def_bool y
 
-comment "I/O subsystem configuration"
+config ARCH_SELECT_MEMORY_MODEL
+       def_bool y
 
-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 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"
 
 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.
 
-config QDIO_DEBUG
-       bool "Extended debugging information"
-       depends on QDIO
+config CHSC_SCH
+       tristate "Support for CHSC subchannels"
        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.
 
@@ -329,7 +403,7 @@ config 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.
 
@@ -346,6 +420,10 @@ endchoice
 
 source "fs/Kconfig.binfmt"
 
+config FORCE_MAX_ZONEORDER
+       int
+       default "9"
+
 config PROCESS_DEBUG
        bool "Show crashed user process info"
        help
@@ -402,22 +480,9 @@ config CMM_IUCV
          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"
-       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
@@ -462,7 +527,7 @@ config APPLDATA_OS
 
 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
@@ -477,25 +542,6 @@ config APPLDATA_NET_SUM
 
 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
@@ -512,12 +558,47 @@ config KEXEC
          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 "Documentation/s390/zfcpdump.txt" for more details on this.
+         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
 
@@ -533,22 +614,6 @@ source "drivers/Kconfig"
 
 source "fs/Kconfig"
 
-menu "Instrumentation Support"
-
-source "arch/s390/oprofile/Kconfig"
-
-config KPROBES
-       bool "Kprobes (EXPERIMENTAL)"
-       depends on EXPERIMENTAL && MODULES
-       help
-         Kprobes allows you to trap at almost any kernel address and
-         execute a callback function.  register_kprobe() establishes
-         a probepoint and specifies the callback.  Kprobes is useful
-         for kernel debugging, non-intrusive instrumentation and testing.
-         If in doubt, say "N".
-
-endmenu
-
 source "arch/s390/Kconfig.debug"
 
 source "security/Kconfig"
@@ -556,3 +621,5 @@ source "security/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
+
+source "arch/s390/kvm/Kconfig"