vserver 1.9.5.x5
[linux-2.6.git] / init / Kconfig
index 337feb1..6dd3387 100644 (file)
@@ -1,4 +1,3 @@
-
 menu "Code maturity level options"
 
 config EXPERIMENTAL
@@ -41,15 +40,6 @@ config CLEAN_COMPILE
 
          If unsure, say Y
 
-config STANDALONE
-       bool "Select only drivers that don't need compile-time external firmware" if EXPERIMENTAL
-       default y
-       help
-         Select this option if you don't have magic firmware for drivers that
-         need it.
-
-         If unsure, say Y.
-
 config BROKEN
        bool
        depends on !CLEAN_COMPILE
@@ -60,11 +50,25 @@ config BROKEN_ON_SMP
        depends on BROKEN || !SMP
        default y
 
-endmenu
+config LOCK_KERNEL
+       bool
+       depends on SMP || PREEMPT
+       default y
 
+endmenu
 
 menu "General setup"
 
+config LOCALVERSION
+       string "Local version - append to kernel release"
+       help
+         Append an extra string to the end of your kernel version.
+         This will show up when you type uname, for example.
+         The string you set here will be appended after the contents of
+         any files with a filename matching localversion* in your
+         object and source tree, in that order.  Your total string can
+         be a maximum of 64 characters.
+
 config SWAP
        bool "Support for paging of anonymous memory (swap)"
        depends on MMU
@@ -77,6 +81,7 @@ config SWAP
 
 config SYSVIPC
        bool "System V IPC"
+       depends on MMU
        ---help---
          Inter Process Communication is a suite of library functions and
          system calls which let processes (running programs) synchronize and
@@ -92,7 +97,7 @@ config SYSVIPC
 
 config POSIX_MQUEUE
        bool "POSIX Message Queues"
-       depends on EXPERIMENTAL
+       depends on NET && EXPERIMENTAL
        ---help---
          POSIX variant of message queues is a part of IPC. In POSIX message
          queues every message has a priority which decides about succession
@@ -121,6 +126,18 @@ config BSD_PROCESS_ACCT
          up to the user level program to do useful things with this
          information.  This is generally a good idea, so say Y.
 
+config BSD_PROCESS_ACCT_V3
+       bool "BSD Process Accounting version 3 file format"
+       depends on BSD_PROCESS_ACCT
+       default n
+       help
+         If you say Y here, the process accounting information is written
+         in a new file format that also logs the process IDs of each
+         process and it's parent. Note that this file format is incompatible
+         with previous v0/v1/v2 file formats, so you will need updated tools
+         for processing it. A preliminary version of these tools is available
+         at <http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/>.
+
 config SYSCTL
        bool "Sysctl support"
        ---help---
@@ -149,7 +166,7 @@ config AUDIT
 
 config AUDITSYSCALL
        bool "Enable system-call auditing support"
-       depends on AUDIT && (X86 || PPC64 || ARCH_S390)
+       depends on AUDIT && (X86 || PPC64 || ARCH_S390 || IA64)
        default y if SECURITY_SELINUX
        default n
        help
@@ -159,7 +176,7 @@ config AUDITSYSCALL
 
 config LOG_BUF_SHIFT
        int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" if DEBUG_KERNEL
-       range 12 20
+       range 12 21
        default 17 if ARCH_S390
        default 16 if X86_NUMAQ || IA64
        default 15 if SMP
@@ -178,45 +195,47 @@ config HOTPLUG
        bool "Support for hot-pluggable devices" if !ARCH_S390
        default ARCH_S390
        help
-         Say Y here if you want to plug devices into your computer while
-         the system is running, and be able to use them quickly.  In many
-         cases, the devices can likewise be unplugged at any time too.
-
-         One well known example of this is PCMCIA- or PC-cards, credit-card
-         size devices such as network cards, modems or hard drives which are
-         plugged into slots found on all modern laptop computers.  Another
-         example, used on modern desktops as well as laptops, is USB.
+         This option is provided for the case where no in-kernel-tree
+         modules require HOTPLUG functionality, but a module built
+         outside the kernel tree does. Such modules require Y here.
 
-         Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
-         software (at <http://linux-hotplug.sourceforge.net/>) and install it.
-         Then your kernel will automatically call out to a user mode "policy
-         agent" (/sbin/hotplug) to load modules and set up software needed
-         to use devices as you hotplug them.
+config KOBJECT_UEVENT
+       bool "Kernel Userspace Events"
+       depends on NET
+       default y
+       help
+         This option enables the kernel userspace event layer, which is a
+         simple mechanism for kernel-to-user communication over a netlink
+         socket.
+         The goal of the kernel userspace events layer is to provide a simple
+         and efficient events system, that notifies userspace about kobject
+         state changes. This will enable applications to just listen for
+         events instead of polling system devices and files.
+         Hotplug events (kobject addition and removal) are also available on
+         the netlink socket in addition to the execution of /sbin/hotplug if
+         CONFIG_HOTPLUG is enabled.
+
+         Say Y, unless you are building a system requiring minimal memory
+         consumption.
 
 config IKCONFIG
        bool "Kernel .config support"
        ---help---
          This option enables the complete Linux kernel ".config" file
-         contents, information on compiler used to build the kernel,
-         kernel running when this kernel was built and kernel version
-         from Makefile to be saved in the kernel. It provides documentation
+         contents to be saved in the kernel. It provides documentation
          of which kernel options are used in a running kernel or in an
          on-disk kernel.  This information can be extracted from the kernel
          image file with the script scripts/extract-ikconfig and used as
          input to rebuild the current kernel or to build another kernel.
          It can also be extracted from a running kernel by reading
-         /proc/config.gz and /proc/config_built_with, if enabled (below).
-         /proc/config.gz will list the configuration that was used
-         to build the kernel and /proc/config_built_with will list
-         information on the compiler and host machine that was used to
-         build the kernel.
+         /proc/config.gz if enabled (below).
 
 config IKCONFIG_PROC
        bool "Enable access to .config through /proc/config.gz"
        depends on IKCONFIG && PROC_FS
        ---help---
-         This option enables access to kernel configuration file and build
-         information through /proc/config.gz.
+         This option enables access to the kernel configuration file
+         through /proc/config.gz.
 
 
 menuconfig EMBEDDED
@@ -235,6 +254,28 @@ config KALLSYMS
           symbolic stack backtraces. This increases the size of the kernel
           somewhat, as all symbols have to be loaded into the kernel image.
 
+config KALLSYMS_ALL
+       bool "Include all symbols in kallsyms"
+       depends on DEBUG_KERNEL && KALLSYMS
+       help
+          Normally kallsyms only contains the symbols of functions, for nicer
+          OOPS messages.  Some debuggers can use kallsyms for other
+          symbols too: say Y here to include all symbols, and you
+          don't care about adding 300k to the size of your kernel.
+
+          Say N.
+
+config KALLSYMS_EXTRA_PASS
+       bool "Do an extra kallsyms pass"
+       depends on KALLSYMS
+       help
+          If kallsyms is not working correctly, the build will fail with
+          inconsistent kallsyms data.  If that occurs, log a bug report and
+          turn on KALLSYMS_EXTRA_PASS which should result in a stable build.
+          Always say N here unless you find a bug in kallsyms, which must be
+          reported.  KALLSYMS_EXTRA_PASS is only a temporary workaround while
+          you wait for kallsyms to be fixed.
+
 config FUTEX
        bool "Enable futex support" if EMBEDDED
        default y
@@ -250,8 +291,6 @@ config EPOLL
          Disabling this option will cause the kernel to be built without
          support for epoll family of system calls.
 
-source "drivers/block/Kconfig.iosched"
-
 config CC_OPTIMIZE_FOR_SIZE
        bool "Optimize for size" if EMBEDDED
        default y if ARM || H8300
@@ -265,8 +304,59 @@ config CC_OPTIMIZE_FOR_SIZE
 
          If unsure, say N.
 
+config SHMEM
+       bool "Use full shmem filesystem" if EMBEDDED
+       default y
+       depends on MMU
+       help
+         The shmem is an internal filesystem used to manage shared memory.
+         It is backed by swap and manages resource limits. It is also exported
+         to userspace as tmpfs if TMPFS is enabled. Disabling this
+         option replaces shmem and tmpfs with the much simpler ramfs code,
+         which may be appropriate on small systems without swap.
+
+config CC_ALIGN_FUNCTIONS
+       int "Function alignment" if EMBEDDED
+       default 0
+       help
+         Align the start of functions to the next power-of-two greater than n,
+         skipping up to n bytes.  For instance, 32 aligns functions
+         to the next 32-byte boundary, but 24 would align to the next
+         32-byte boundary only if this can be done by skipping 23 bytes or less.
+         Zero means use compiler's default.
+
+config CC_ALIGN_LABELS
+       int "Label alignment" if EMBEDDED
+       default 0
+       help
+         Align all branch targets to a power-of-two boundary, skipping
+         up to n bytes like ALIGN_FUNCTIONS.  This option can easily
+         make code slower, because it must insert dummy operations for
+         when the branch target is reached in the usual flow of the code.
+         Zero means use compiler's default.
+
+config CC_ALIGN_LOOPS
+       int "Loop alignment" if EMBEDDED
+       default 0
+       help
+         Align loops to a power-of-two boundary, skipping up to n bytes.
+         Zero means use compiler's default.
+
+config CC_ALIGN_JUMPS
+       int "Jump alignment" if EMBEDDED
+       default 0
+       help
+         Align branch targets to a power-of-two boundary, for branch
+         targets where the targets can only be reached by jumping,
+         skipping up to n bytes like ALIGN_FUNCTIONS.  In this case,
+         no dummy operations need be executed.
+         Zero means use compiler's default.
+
 endmenu                # General setup
 
+config TINY_SHMEM
+       default !SHMEM
+       bool
 
 menu "Loadable module support"
 
@@ -320,7 +410,7 @@ config OBSOLETE_MODPARM
 
 config MODVERSIONS
        bool "Module versioning support (EXPERIMENTAL)"
-       depends on MODULES && EXPERIMENTAL
+       depends on MODULES && EXPERIMENTAL && !USERMODE
        help
          Usually, you have to use modules compiled with your kernel.
          Saying Y here makes it sometimes possible to use modules
@@ -329,6 +419,18 @@ config MODVERSIONS
          make them incompatible with the kernel you are running.  If
          unsure, say N.
 
+config MODULE_SRCVERSION_ALL
+       bool "Source checksum for all modules"
+       depends on MODULES
+       help
+         Modules which contain a MODULE_VERSION get an extra "srcversion"
+         field inserted into their modinfo section, which contains a
+         sum of the source files which made it.  This helps maintainers
+         see exactly which source was used to build a module (since
+         others sometimes change the module source without updating
+         the version).  With this option, such a "srcversion" field
+         will be created for all modules.  If unsure, say N.
+
 config KMOD
        bool "Automatic kernel module loading"
        depends on MODULES