| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | config STATIC_LINK | 
|  | 2 | bool "Force a static link" | 
|  | 3 | default n | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 5 | This option gives you the ability to force a static link of UML. | 
|  | 6 | Normally, UML is linked as a shared binary.  This is inconvenient for | 
|  | 7 | use in a chroot jail.  So, if you intend to run UML inside a chroot, | 
|  | 8 | you probably want to say Y here. | 
|  | 9 | Additionally, this option enables using higher memory spaces (up to | 
|  | 10 | 2.75G) for UML. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 11 |  | 
| Dave Hansen | 3f22ab2 | 2005-06-23 00:07:43 -0700 | [diff] [blame] | 12 | source "mm/Kconfig" | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 13 |  | 
|  | 14 | config LD_SCRIPT_STATIC | 
|  | 15 | bool | 
|  | 16 | default y | 
| Jeff Dike | 42fda66 | 2007-10-16 01:26:50 -0700 | [diff] [blame] | 17 | depends on STATIC_LINK | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 18 |  | 
|  | 19 | config LD_SCRIPT_DYN | 
|  | 20 | bool | 
|  | 21 | default y | 
|  | 22 | depends on !LD_SCRIPT_STATIC | 
|  | 23 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | source "fs/Kconfig.binfmt" | 
|  | 25 |  | 
|  | 26 | config HOSTFS | 
|  | 27 | tristate "Host filesystem" | 
|  | 28 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 29 | While the User-Mode Linux port uses its own root file system for | 
|  | 30 | booting and normal file access, this module lets the UML user | 
|  | 31 | access files stored on the host.  It does not require any | 
|  | 32 | network connection between the Host and UML.  An example use of | 
|  | 33 | this might be: | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 34 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 35 | mount none /tmp/fromhost -t hostfs -o /tmp/umlshare | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 36 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 37 | where /tmp/fromhost is an empty directory inside UML and | 
|  | 38 | /tmp/umlshare is a directory on the host with files the UML user | 
|  | 39 | wishes to access. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 40 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 41 | For more information, see | 
|  | 42 | <http://user-mode-linux.sourceforge.net/hostfs.html>. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 43 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 44 | If you'd like to be able to work with files stored on the host, | 
|  | 45 | say Y or M here; otherwise say N. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 46 |  | 
|  | 47 | config HPPFS | 
|  | 48 | tristate "HoneyPot ProcFS (EXPERIMENTAL)" | 
| Randy Dunlap | 365a0de | 2011-04-27 15:26:53 -0700 | [diff] [blame] | 49 | depends on EXPERIMENTAL && PROC_FS | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 50 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 51 | hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc | 
|  | 52 | entries to be overridden, removed, or fabricated from the host. | 
|  | 53 | Its purpose is to allow a UML to appear to be a physical machine | 
|  | 54 | by removing or changing anything in /proc which gives away the | 
|  | 55 | identity of a UML. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 56 |  | 
| Karol Swietlicki | 0ba9d3f | 2008-02-04 22:30:38 -0800 | [diff] [blame] | 57 | See <http://user-mode-linux.sf.net/old/hppfs.html> for more information. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 58 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 59 | You only need this if you are setting up a UML honeypot.  Otherwise, | 
|  | 60 | it is safe to say 'N' here. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 61 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 62 | config MCONSOLE | 
|  | 63 | bool "Management console" | 
|  | 64 | default y | 
|  | 65 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 66 | The user mode linux management console is a low-level interface to | 
|  | 67 | the kernel, somewhat like the i386 SysRq interface.  Since there is | 
|  | 68 | a full-blown operating system running under every user mode linux | 
|  | 69 | instance, there is much greater flexibility possible than with the | 
|  | 70 | SysRq mechanism. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 71 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 72 | If you answer 'Y' to this option, to use this feature, you need the | 
|  | 73 | mconsole client (called uml_mconsole) which is present in CVS in | 
|  | 74 | 2.4.5-9um and later (path /tools/mconsole), and is also in the | 
|  | 75 | distribution RPM package in 2.4.6 and later. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 76 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 77 | It is safe to say 'Y' here. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 78 |  | 
|  | 79 | config MAGIC_SYSRQ | 
|  | 80 | bool "Magic SysRq key" | 
|  | 81 | depends on MCONSOLE | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 82 | help | 
|  | 83 | If you say Y here, you will have some control over the system even | 
|  | 84 | if the system crashes for example during kernel debugging (e.g., you | 
|  | 85 | will be able to flush the buffer cache to disk, reboot the system | 
|  | 86 | immediately or dump some status information). A key for each of the | 
|  | 87 | possible requests is provided. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 88 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 89 | This is the feature normally accomplished by pressing a key | 
|  | 90 | while holding SysRq (Alt+PrintScreen). | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 91 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 92 | On UML, this is accomplished by sending a "sysrq" command with | 
|  | 93 | mconsole, followed by the letter for the requested command. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 94 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 95 | The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y | 
|  | 96 | unless you really know what this hack does. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 97 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 98 | config SMP | 
|  | 99 | bool "Symmetric multi-processing support (EXPERIMENTAL)" | 
|  | 100 | default n | 
| Jeff Dike | 02bff1f | 2008-02-04 22:30:41 -0800 | [diff] [blame] | 101 | depends on BROKEN | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 102 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 103 | This option enables UML SMP support. | 
|  | 104 | It is NOT related to having a real SMP box. Not directly, at least. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 105 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 106 | UML implements virtual SMP by allowing as many processes to run | 
|  | 107 | simultaneously on the host as there are virtual processors configured. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 108 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 109 | Obviously, if the host is a uniprocessor, those processes will | 
|  | 110 | timeshare, but, inside UML, will appear to be running simultaneously. | 
|  | 111 | If the host is a multiprocessor, then UML processes may run | 
|  | 112 | simultaneously, depending on the host scheduler. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 113 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 114 | This, however, is supported only in TT mode. So, if you use the SKAS | 
|  | 115 | patch on your host, switching to TT mode and enabling SMP usually | 
|  | 116 | gives	you worse performances. | 
|  | 117 | Also, since the support for SMP has been under-developed, there could | 
|  | 118 | be some bugs being exposed by enabling SMP. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 119 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 120 | If you don't know what to do, say N. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 121 |  | 
|  | 122 | config NR_CPUS | 
|  | 123 | int "Maximum number of CPUs (2-32)" | 
|  | 124 | range 2 32 | 
|  | 125 | depends on SMP | 
|  | 126 | default "32" | 
|  | 127 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 128 | config HIGHMEM | 
| Paolo 'Blaisorblade' Giarrusso | ce2d2ae | 2006-01-18 17:42:59 -0800 | [diff] [blame] | 129 | bool "Highmem support (EXPERIMENTAL)" | 
| Richard Weinberger | 94295e2 | 2011-01-12 16:59:25 -0800 | [diff] [blame] | 130 | depends on !64BIT && BROKEN | 
| Paolo 'Blaisorblade' Giarrusso | ce2d2ae | 2006-01-18 17:42:59 -0800 | [diff] [blame] | 131 | default n | 
|  | 132 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 133 | This was used to allow UML to run with big amounts of memory. | 
|  | 134 | Currently it is unstable, so if unsure say N. | 
| Paolo 'Blaisorblade' Giarrusso | ce2d2ae | 2006-01-18 17:42:59 -0800 | [diff] [blame] | 135 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 136 | To use big amounts of memory, it is recommended enable static | 
|  | 137 | linking (i.e. CONFIG_STATIC_LINK) - this should allow the | 
|  | 138 | guest to use up to 2.75G of memory. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 139 |  | 
|  | 140 | config KERNEL_STACK_ORDER | 
|  | 141 | int "Kernel stack size order" | 
| Jeff Dike | 02239c2 | 2007-05-10 22:22:35 -0700 | [diff] [blame] | 142 | default 1 if 64BIT | 
| Jeff Dike | e80ad9b | 2007-06-08 13:46:49 -0700 | [diff] [blame] | 143 | range 1 10 if 64BIT | 
| Jeff Dike | 02239c2 | 2007-05-10 22:22:35 -0700 | [diff] [blame] | 144 | default 0 if !64BIT | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 145 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 146 | This option determines the size of UML kernel stacks.  They will | 
|  | 147 | be 1 << order pages.  The default is OK unless you're running Valgrind | 
|  | 148 | on UML, in which case, set this to 3. | 
| FUJITA Tomonori | d911202 | 2010-10-26 14:22:18 -0700 | [diff] [blame] | 149 |  | 
| Al Viro | d805a78 | 2011-08-18 20:13:00 +0100 | [diff] [blame] | 150 | config MMAPPER | 
|  | 151 | tristate "iomem emulation driver" | 
|  | 152 | help | 
|  | 153 | This driver allows a host file to be used as emulated IO memory inside | 
|  | 154 | UML. | 
|  | 155 |  | 
| FUJITA Tomonori | d911202 | 2010-10-26 14:22:18 -0700 | [diff] [blame] | 156 | config NO_DMA | 
|  | 157 | def_bool y |