vserver 2.0-rc4
[linux-2.6.git] / arch / um / Kconfig
index 7ef333e..298c018 100644 (file)
@@ -1,3 +1,8 @@
+# UML uses the generic IRQ sugsystem
+config GENERIC_HARDIRQS
+       bool
+       default y
+
 config USERMODE
        bool
        default y
@@ -26,6 +31,10 @@ config RWSEM_GENERIC_SPINLOCK
        bool
        default y
 
+config GENERIC_CALIBRATE_DELAY
+       bool
+       default y
+
 menu "UML-specific options"
 
 config MODE_TT
@@ -34,7 +43,7 @@ config MODE_TT
        help
        This option controls whether tracing thread support is compiled
        into UML.  Normally, this should be set to Y.  If you intend to
-       use only skas mode (and the host has the skas patch applied to it), 
+       use only skas mode (and the host has the skas patch applied to it),
        then it is OK to say N here.
 
 config STATIC_LINK
@@ -45,7 +54,7 @@ config STATIC_LINK
        If CONFIG_MODE_TT is disabled, then this option gives you the ability
        to force a static link of UML.  Normally, if only skas mode is built
        in to UML, it will be linked as a shared binary.  This is inconvenient
-       for use in a chroot jail.  So, if you intend to run UML inside a 
+       for use in a chroot jail.  So, if you intend to run UML inside a
        chroot, and you disable CONFIG_MODE_TT, you probably want to say Y
        here.
 
@@ -59,8 +68,34 @@ config MODE_SKAS
        to CONFIG_MODE_TT).  Otherwise, it is safe to say Y.  Disabling this
        option will shrink the UML binary slightly.
 
+source "arch/um/Kconfig_arch"
+
+config LD_SCRIPT_STATIC
+       bool
+       default y
+       depends on MODE_TT || STATIC_LINK
+
+config LD_SCRIPT_DYN
+       bool
+       default y
+       depends on !LD_SCRIPT_STATIC
+
 config NET
        bool "Networking support"
+       help
+       Unless you really know what you are doing, you should say Y here.
+       The reason is that some programs need kernel networking support even
+       when running on a stand-alone machine that isn't connected to any
+       other computer. If you are upgrading from an older kernel, you
+       should consider updating your networking tools too because changes
+       in the kernel and the tools often go hand in hand. The tools are
+       contained in the package net-tools, the location and version number
+       of which are given in <file:Documentation/Changes>.
+
+       For a general introduction to Linux networking, it is highly
+       recommended to read the NET-HOWTO, available from
+       <http://www.tldp.org/docs.html#howto>.
+
 
 source "fs/Kconfig.binfmt"
 
@@ -82,12 +117,30 @@ config HOSTFS
         For more information, see
         <http://user-mode-linux.sourceforge.net/hostfs.html>.
 
-        If you'd like to be able to work with files stored on the host, 
+        If you'd like to be able to work with files stored on the host,
         say Y or M here; otherwise say N.
 
+config HPPFS
+       tristate "HoneyPot ProcFS (EXPERIMENTAL)"
+       depends on BROKEN
+       help
+       hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
+       entries to be overridden, removed, or fabricated from the host.
+       Its purpose is to allow a UML to appear to be a physical machine
+       by removing or changing anything in /proc which gives away the
+       identity of a UML.
+
+       See <http://user-mode-linux.sf.net/hppfs.html> for more information.
+
+       You only need this if you are setting up a UML honeypot.  Otherwise,
+       it is safe to say 'N' here.
+
+       If you are actively using it, please ask for it to be fixed. In this
+       moment, it does not work on 2.6 (it works somehow on 2.4).
 
 config MCONSOLE
        bool "Management console"
+       default y
        help
         The user mode linux management console is a low-level interface to
         the kernel, somewhat like the i386 SysRq interface.  Since there is
@@ -105,26 +158,58 @@ config MCONSOLE
 config MAGIC_SYSRQ
        bool "Magic SysRq key"
        depends on MCONSOLE
+       ---help---
+       If you say Y here, you will have some control over the system even
+       if the system crashes for example during kernel debugging (e.g., you
+       will be able to flush the buffer cache to disk, reboot the system
+       immediately or dump some status information). A key for each of the
+       possible requests is provided.
+
+       This is the feature normally accomplished by pressing a key
+       while holding SysRq (Alt+PrintScreen).
+
+       On UML, this is accomplished by sending a "sysrq" command with
+       mconsole, followed by the letter for the requested command.
+
+       The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
+       unless you really know what this hack does.
 
 config HOST_2G_2G
        bool "2G/2G host address space split"
-
-config UML_SMP
-       bool "Symmetric multi-processing support"
+       default n
        help
-        This option enables UML SMP support.  UML implements virtual SMP by
-        allowing as many processes to run simultaneously on the host as
-        there are virtual processors configured.  Obviously, if the host is
-        a uniprocessor, those processes will timeshare, but, inside UML,
-        will appear to be running simultaneously.  If the host is a
-        multiprocessor, then UML processes may run simultaneously, depending
-        on the host scheduler.
-        CONFIG_SMP will be set to whatever this option is set to.
-        It is safe to leave this unchanged.
+       This is needed when the host on which you run has a 2G/2G memory
+       split, instead of the customary 3G/1G.
+
+       Note that to enable such a host
+       configuration, which makes sense only in some cases, you need special
+       host patches.
+
+       So, if you do not know what to do here, say 'N'.
 
 config SMP
-       bool
-       default UML_SMP
+       bool "Symmetric multi-processing support (EXPERIMENTAL)"
+       default n
+       depends on MODE_TT && EXPERIMENTAL
+       help
+       This option enables UML SMP support.
+       It is NOT related to having a real SMP box. Not directly, at least.
+
+       UML implements virtual SMP by allowing as many processes to run
+       simultaneously on the host as there are virtual processors configured.
+
+       Obviously, if the host is a uniprocessor, those processes will
+       timeshare, but, inside UML, will appear to be running simultaneously.
+       If the host is a multiprocessor, then UML processes may run
+       simultaneously, depending on the host scheduler.
+
+       This, however, is supported only in TT mode. So, if you use the SKAS
+       patch on your host, switching to TT mode and enabling SMP usually gives
+       you worse performances.
+       Also, since the support for SMP has been under-developed, there could
+       be some bugs being exposed by enabling SMP.
+
+       If you don't know what to do, say N.
 
 config NR_CPUS
        int "Maximum number of CPUs (2-32)"
@@ -140,11 +225,11 @@ config NEST_LEVEL
         in.  Normally, this is zero, meaning that it will run directly on the
         host.  Setting it to one will build a UML that can run inside a UML
         that is running on the host.  Generally, if you intend this UML to run
-        inside another UML, set CONFIG_NEST_LEVEL to one more than the host 
+        inside another UML, set CONFIG_NEST_LEVEL to one more than the host
         UML.
 
-        Note that if the hosting UML has its CONFIG_KERNEL_HALF_GIGS set to 
-        greater than one, then the guest UML should have its CONFIG_NEST_LEVEL 
+        Note that if the hosting UML has its CONFIG_KERNEL_HALF_GIGS set to
+        greater than one, then the guest UML should have its CONFIG_NEST_LEVEL
         set to the host's CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS.
         Only change this if you are running nested UMLs.
 
@@ -159,6 +244,7 @@ config KERNEL_HALF_GIGS
 
 config HIGHMEM
        bool "Highmem support"
+       depends on BROKEN
 
 config KERNEL_STACK_ORDER
        int "Kernel stack size order"
@@ -168,6 +254,17 @@ config KERNEL_STACK_ORDER
        be 1 << order pages.  The default is OK unless you're running Valgrind
        on UML, in which case, set this to 3.
 
+config UML_REAL_TIME_CLOCK
+       bool "Real-time Clock"
+       default y
+       help
+       This option makes UML time deltas match wall clock deltas.  This should
+       normally be enabled.  The exception would be if you are debugging with
+       UML and spend long times with UML stopped at a breakpoint.  In this
+       case, when UML is restarted, it will call the timer enough times to make
+       up for the time spent at the breakpoint.  This could result in a
+       noticable lag.  If this is a problem, then disable this option.
+
 endmenu
 
 source "init/Kconfig"
@@ -176,7 +273,7 @@ source "drivers/base/Kconfig"
 
 source "arch/um/Kconfig_char"
 
-source "arch/um/Kconfig_block"
+source "drivers/block/Kconfig"
 
 config NETDEVICES
        bool
@@ -197,6 +294,7 @@ source "crypto/Kconfig"
 source "lib/Kconfig"
 
 menu "SCSI support"
+depends on BROKEN
 
 config SCSI
        tristate "SCSI support"
@@ -213,61 +311,13 @@ endmenu
 
 source "drivers/md/Kconfig"
 
-source "drivers/mtd/Kconfig"
-
-
-menu "Kernel hacking"
-
-config DEBUG_SLAB
-       bool "Debug memory allocations"
-
-config DEBUG_SPINLOCK
-       bool "Debug spinlocks usage"
-
-config DEBUG_INFO
-       bool "Enable kernel debugging symbols"
-       help
-        When this is enabled, the User-Mode Linux binary will include
-        debugging symbols.  This enlarges the binary by a few megabytes,
-        but aids in tracking down kernel problems in UML.  It is required
-        if you intend to do any kernel development.
-
-        If you're truly short on disk space or don't expect to report any
-        bugs back to the UML developers, say N, otherwise say Y.
+if BROKEN
+       source "drivers/mtd/Kconfig"
+endif
 
-config FRAME_POINTER
+#This is just to shut up some Kconfig warnings, so no prompt.
+config INPUT
        bool
-       default y if DEBUG_INFO
-
-config PT_PROXY
-       bool "Enable ptrace proxy"
-       depends on XTERM_CHAN && DEBUG_INFO
-
-config GPROF
-       bool "Enable gprof support"
-       depends on DEBUG_INFO
-       help
-        This allows profiling of a User-Mode Linux kernel with the gprof
-        utility.
-
-        See <http://user-mode-linux.sourceforge.net/gprof.html> for more
-        details.
-
-        If you're involved in UML kernel development and want to use gprof,
-        say Y.  If you're unsure, say N.
-
-config GCOV
-       bool "Enable gcov support"
-       depends on DEBUG_INFO
-       help
-        This option allows developers to retrieve coverage data from a UML
-        session.
-
-        See <http://user-mode-linux.sourceforge.net/gprof.html> for more
-        details.
-
-        If you're involved in UML kernel development and want to use gcov,
-        say Y.  If you're unsure, say N.
-
-endmenu
+       default n
 
+source "arch/um/Kconfig.debug"