Merge to kernel-2.6.20-1.2949.fc6.vs2.2.0.1
[linux-2.6.git] / arch / um / Kconfig
index f55cb6b..c7f4f26 100644 (file)
@@ -1,8 +1,17 @@
-config USERMODE
+config DEFCONFIG_LIST
+       string
+       option defconfig_list
+       default "arch/$ARCH/defconfig"
+
+# UML uses the generic IRQ sugsystem
+config GENERIC_HARDIRQS
+       bool
+       default y
+
+config UML
        bool
        default y
 
-# XXX: does UM have a mmu/swap?
 config MMU
        bool
        default y
@@ -18,24 +27,49 @@ config SBUS
 config PCI
        bool
 
-config UID16
+config PCMCIA
+       bool
+
+# Yet to do!
+config TRACE_IRQFLAGS_SUPPORT
+       bool
+       default n
+
+config LOCKDEP_SUPPORT
+       bool
+       default y
+
+config STACKTRACE_SUPPORT
+       bool
+       default y
+
+config GENERIC_CALIBRATE_DELAY
+       bool
+       default y
+
+config GENERIC_BUG
        bool
        default y
+       depends on BUG
 
-config RWSEM_GENERIC_SPINLOCK
+# Used in kernel/irq/manage.c and include/linux/irq.h
+config IRQ_RELEASE_METHOD
        bool
        default y
 
 menu "UML-specific options"
 
 config MODE_TT
-       bool "Tracing thread support"
-       default y
+       bool "Tracing thread support (DEPRECATED)"
+       default n
+       depends on BROKEN
        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),
-       then it is OK to say N here.
+       into UML. This option is largely obsolete, given that skas0 provides
+       skas security and performance without needing to patch the host.
+       It is safe to say 'N' here; saying 'Y' may cause additional problems
+       with the resulting binary even if you run UML in SKAS mode, and running
+       in TT mode is strongly *NOT RECOMMENDED*.
 
 config STATIC_LINK
        bool "Force a static link"
@@ -48,16 +82,45 @@ config STATIC_LINK
        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.
+       Additionally, this option enables using higher memory spaces (up to
+       2.75G) for UML - disabling CONFIG_MODE_TT and enabling this option leads
+       to best results for this.
+
+config KERNEL_HALF_GIGS
+       int "Kernel address space size (in .5G units)"
+       default "1"
+       depends on MODE_TT
+       help
+        This determines the amount of address space that UML will allocate for
+        its own, measured in half Gigabyte units.  The default is 1.
+        Change this only if you need to boot UML with an unusually large amount
+        of physical memory.
 
 config MODE_SKAS
-       bool "Separate Kernel Address Space support"
+       bool "Separate Kernel Address Space support" if MODE_TT
        default y
        help
        This option controls whether skas (separate kernel address space)
-       support is compiled in.  If you have applied the skas patch to the
-       host, then you certainly want to say Y here (and consider saying N
-       to CONFIG_MODE_TT).  Otherwise, it is safe to say Y.  Disabling this
-       option will shrink the UML binary slightly.
+       support is compiled in.
+       Unless you have specific needs to use TT mode (which applies almost only
+       to developers), you should say Y here.
+       SKAS mode will make use of the SKAS3 patch if it is applied on the host
+       (and your UML will run in SKAS3 mode), but if no SKAS patch is applied
+       on the host it will run in SKAS0 mode, which is anyway faster than TT
+       mode.
+
+source "arch/um/Kconfig.arch"
+source "mm/Kconfig"
+
+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"
@@ -69,7 +132,7 @@ config NET
        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 Documentation/Changes.
+       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
@@ -78,9 +141,6 @@ config NET
 
 source "fs/Kconfig.binfmt"
 
-config EXTERNFS
-       tristate "Support for host-based filesystems"
-
 config HOSTFS
        tristate "Host filesystem"
        help
@@ -102,26 +162,24 @@ config HOSTFS
         If you'd like to be able to work with files stored on the host,
         say Y or M here; otherwise say N.
 
-config HUMFS
-       tristate 'Usable host filesystem'
-       depends on EXTERNFS
-
 config HPPFS
-       tristate "HoneyPot ProcFS"
+       tristate "HoneyPot ProcFS (EXPERIMENTAL)"
+       depends on EXPERIMENTAL
        help
-       hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc 
+       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.
+       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.
 
 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
@@ -136,21 +194,49 @@ config MCONSOLE
 
         It is safe to say 'Y' here.
 
-config HOST_2G_2G
-       bool "2G/2G host address space split"
+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 SMP
-       bool "Symmetric multi-processing support"
+       bool "Symmetric multi-processing support (EXPERIMENTAL)"
        default n
+       #SMP_BROKEN is for x86_64.
+       depends on MODE_TT && EXPERIMENTAL && (!SMP_BROKEN || (BROKEN && SMP_BROKEN))
        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.
-        It is safe to leave this unchanged.
+       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)"
@@ -174,21 +260,17 @@ config NEST_LEVEL
         set to the host's CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS.
         Only change this if you are running nested UMLs.
 
-config KERNEL_HALF_GIGS
-       int "Kernel address space size (in .5G units)"
-       default "1"
-       help
-        This determines the amount of address space that UML will allocate for
-        its own, measured in half Gigabyte units.  The default is 1.
-        Change this only if you need to boot UML with an unusually large amount
-        of physical memory.
-
 config HIGHMEM
-       bool "Highmem support"
-       depends on BROKEN
+       bool "Highmem support (EXPERIMENTAL)"
+       depends on !64BIT && EXPERIMENTAL
+       default n
+       help
+       This was used to allow UML to run with big amounts of memory.
+       Currently it is unstable, so if unsure say N.
 
-config PROC_MM
-       bool "/proc/mm support"
+       To use big amounts of memory, it is recommended to disable TT mode (i.e.
+       CONFIG_MODE_TT) and enable static linking (i.e. CONFIG_STATIC_LINK) -
+       this should allow the guest to use up to 2.75G of memory.
 
 config KERNEL_STACK_ORDER
        int "Kernel stack size order"
@@ -207,25 +289,27 @@ config UML_REAL_TIME_CLOCK
        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.
+       noticeable lag.  If this is a problem, then disable this option.
 
 endmenu
 
+source "kernel/Kconfig.hz"
+
 source "init/Kconfig"
 
-source "drivers/base/Kconfig"
+source "drivers/block/Kconfig"
 
-source "arch/um/Kconfig_char"
+source "arch/um/Kconfig.char"
 
-source "arch/um/Kconfig_block"
+source "drivers/base/Kconfig"
 
-config NETDEVICES
-       bool
-       default NET
+source "net/Kconfig"
 
-source "arch/um/Kconfig_net"
+source "arch/um/Kconfig.net"
 
-source "net/Kconfig"
+source "drivers/net/Kconfig"
+
+source "drivers/connector/Kconfig"
 
 source "fs/Kconfig"
 
@@ -249,7 +333,7 @@ config GENERIC_ISA_DMA
        depends on SCSI
        default y
 
-source "arch/um/Kconfig_scsi"
+source "arch/um/Kconfig.scsi"
 
 endmenu
 
@@ -259,4 +343,9 @@ if BROKEN
        source "drivers/mtd/Kconfig"
 endif
 
+#This is just to shut up some Kconfig warnings, so no prompt.
+config INPUT
+       bool
+       default n
+
 source "arch/um/Kconfig.debug"