| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # UML uses the generic IRQ sugsystem | 
|  | 2 | config GENERIC_HARDIRQS | 
|  | 3 | bool | 
|  | 4 | default y | 
|  | 5 |  | 
|  | 6 | config UML | 
|  | 7 | bool | 
|  | 8 | default y | 
|  | 9 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | config MMU | 
|  | 11 | bool | 
|  | 12 | default y | 
|  | 13 |  | 
|  | 14 | mainmenu "Linux/Usermode Kernel Configuration" | 
|  | 15 |  | 
|  | 16 | config ISA | 
|  | 17 | bool | 
|  | 18 |  | 
|  | 19 | config SBUS | 
|  | 20 | bool | 
|  | 21 |  | 
|  | 22 | config PCI | 
|  | 23 | bool | 
|  | 24 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | config GENERIC_CALIBRATE_DELAY | 
|  | 26 | bool | 
|  | 27 | default y | 
|  | 28 |  | 
| Paolo 'Blaisorblade' Giarrusso | b77d6ad | 2005-06-21 17:16:24 -0700 | [diff] [blame] | 29 | # Used in kernel/irq/manage.c and include/linux/irq.h | 
|  | 30 | config IRQ_RELEASE_METHOD | 
|  | 31 | bool | 
|  | 32 | default y | 
|  | 33 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 34 | menu "UML-specific options" | 
|  | 35 |  | 
|  | 36 | config MODE_TT | 
|  | 37 | bool "Tracing thread support" | 
| Jeff Dike | 114d1ff | 2006-01-11 12:17:26 -0800 | [diff] [blame] | 38 | default n | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 39 | help | 
|  | 40 | This option controls whether tracing thread support is compiled | 
| Jeff Dike | 114d1ff | 2006-01-11 12:17:26 -0800 | [diff] [blame] | 41 | into UML.  This option is largely obsolete, given that skas0 provides | 
|  | 42 | skas security and performance without needing to patch the host. | 
|  | 43 | It is safe to say 'N' here. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 44 |  | 
|  | 45 | config STATIC_LINK | 
|  | 46 | bool "Force a static link" | 
|  | 47 | default n | 
|  | 48 | depends on !MODE_TT | 
|  | 49 | help | 
|  | 50 | If CONFIG_MODE_TT is disabled, then this option gives you the ability | 
|  | 51 | to force a static link of UML.  Normally, if only skas mode is built | 
|  | 52 | in to UML, it will be linked as a shared binary.  This is inconvenient | 
|  | 53 | for use in a chroot jail.  So, if you intend to run UML inside a | 
|  | 54 | chroot, and you disable CONFIG_MODE_TT, you probably want to say Y | 
|  | 55 | here. | 
|  | 56 |  | 
| Jeff Dike | 77cc0db | 2005-11-07 00:58:57 -0800 | [diff] [blame] | 57 | config HOST_2G_2G | 
|  | 58 | bool "2G/2G host address space split" | 
|  | 59 | default n | 
|  | 60 | depends on MODE_TT | 
|  | 61 | help | 
|  | 62 | This is needed when the host on which you run has a 2G/2G memory | 
|  | 63 | split, instead of the customary 3G/1G. | 
|  | 64 |  | 
|  | 65 | Note that to enable such a host | 
|  | 66 | configuration, which makes sense only in some cases, you need special | 
|  | 67 | host patches. | 
|  | 68 |  | 
|  | 69 | So, if you do not know what to do here, say 'N'. | 
|  | 70 |  | 
|  | 71 | config KERNEL_HALF_GIGS | 
|  | 72 | int "Kernel address space size (in .5G units)" | 
|  | 73 | default "1" | 
|  | 74 | depends on MODE_TT | 
|  | 75 | help | 
|  | 76 | This determines the amount of address space that UML will allocate for | 
|  | 77 | its own, measured in half Gigabyte units.  The default is 1. | 
|  | 78 | Change this only if you need to boot UML with an unusually large amount | 
|  | 79 | of physical memory. | 
|  | 80 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 81 | config MODE_SKAS | 
| Adrian Bunk | eafbaa9 | 2006-01-08 01:01:34 -0800 | [diff] [blame] | 82 | bool "Separate Kernel Address Space support" if MODE_TT | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 83 | default y | 
|  | 84 | help | 
|  | 85 | This option controls whether skas (separate kernel address space) | 
|  | 86 | support is compiled in.  If you have applied the skas patch to the | 
|  | 87 | host, then you certainly want to say Y here (and consider saying N | 
|  | 88 | to CONFIG_MODE_TT).  Otherwise, it is safe to say Y.  Disabling this | 
|  | 89 | option will shrink the UML binary slightly. | 
|  | 90 |  | 
| Jeff Dike | 08b178e | 2005-09-03 15:57:12 -0700 | [diff] [blame] | 91 | source "arch/um/Kconfig.arch" | 
| Dave Hansen | 3f22ab2 | 2005-06-23 00:07:43 -0700 | [diff] [blame] | 92 | source "mm/Kconfig" | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 93 |  | 
|  | 94 | config LD_SCRIPT_STATIC | 
|  | 95 | bool | 
|  | 96 | default y | 
|  | 97 | depends on MODE_TT || STATIC_LINK | 
|  | 98 |  | 
|  | 99 | config LD_SCRIPT_DYN | 
|  | 100 | bool | 
|  | 101 | default y | 
|  | 102 | depends on !LD_SCRIPT_STATIC | 
|  | 103 |  | 
|  | 104 | config NET | 
|  | 105 | bool "Networking support" | 
|  | 106 | help | 
|  | 107 | Unless you really know what you are doing, you should say Y here. | 
|  | 108 | The reason is that some programs need kernel networking support even | 
|  | 109 | when running on a stand-alone machine that isn't connected to any | 
|  | 110 | other computer. If you are upgrading from an older kernel, you | 
|  | 111 | should consider updating your networking tools too because changes | 
|  | 112 | in the kernel and the tools often go hand in hand. The tools are | 
|  | 113 | contained in the package net-tools, the location and version number | 
|  | 114 | of which are given in <file:Documentation/Changes>. | 
|  | 115 |  | 
|  | 116 | For a general introduction to Linux networking, it is highly | 
|  | 117 | recommended to read the NET-HOWTO, available from | 
|  | 118 | <http://www.tldp.org/docs.html#howto>. | 
|  | 119 |  | 
|  | 120 |  | 
|  | 121 | source "fs/Kconfig.binfmt" | 
|  | 122 |  | 
|  | 123 | config HOSTFS | 
|  | 124 | tristate "Host filesystem" | 
|  | 125 | help | 
|  | 126 | While the User-Mode Linux port uses its own root file system for | 
|  | 127 | booting and normal file access, this module lets the UML user | 
|  | 128 | access files stored on the host.  It does not require any | 
|  | 129 | network connection between the Host and UML.  An example use of | 
|  | 130 | this might be: | 
|  | 131 |  | 
|  | 132 | mount none /tmp/fromhost -t hostfs -o /tmp/umlshare | 
|  | 133 |  | 
|  | 134 | where /tmp/fromhost is an empty directory inside UML and | 
|  | 135 | /tmp/umlshare is a directory on the host with files the UML user | 
|  | 136 | wishes to access. | 
|  | 137 |  | 
|  | 138 | For more information, see | 
|  | 139 | <http://user-mode-linux.sourceforge.net/hostfs.html>. | 
|  | 140 |  | 
|  | 141 | If you'd like to be able to work with files stored on the host, | 
|  | 142 | say Y or M here; otherwise say N. | 
|  | 143 |  | 
|  | 144 | config HPPFS | 
|  | 145 | tristate "HoneyPot ProcFS (EXPERIMENTAL)" | 
| Paolo 'Blaisorblade' Giarrusso | ce2d2ae | 2006-01-18 17:42:59 -0800 | [diff] [blame^] | 146 | depends on EXPERIMENTAL | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 147 | help | 
|  | 148 | hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc | 
|  | 149 | entries to be overridden, removed, or fabricated from the host. | 
|  | 150 | Its purpose is to allow a UML to appear to be a physical machine | 
|  | 151 | by removing or changing anything in /proc which gives away the | 
|  | 152 | identity of a UML. | 
|  | 153 |  | 
|  | 154 | See <http://user-mode-linux.sf.net/hppfs.html> for more information. | 
|  | 155 |  | 
|  | 156 | You only need this if you are setting up a UML honeypot.  Otherwise, | 
|  | 157 | it is safe to say 'N' here. | 
|  | 158 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 159 | config MCONSOLE | 
|  | 160 | bool "Management console" | 
|  | 161 | default y | 
|  | 162 | help | 
|  | 163 | The user mode linux management console is a low-level interface to | 
|  | 164 | the kernel, somewhat like the i386 SysRq interface.  Since there is | 
|  | 165 | a full-blown operating system running under every user mode linux | 
|  | 166 | instance, there is much greater flexibility possible than with the | 
|  | 167 | SysRq mechanism. | 
|  | 168 |  | 
|  | 169 | If you answer 'Y' to this option, to use this feature, you need the | 
|  | 170 | mconsole client (called uml_mconsole) which is present in CVS in | 
|  | 171 | 2.4.5-9um and later (path /tools/mconsole), and is also in the | 
|  | 172 | distribution RPM package in 2.4.6 and later. | 
|  | 173 |  | 
|  | 174 | It is safe to say 'Y' here. | 
|  | 175 |  | 
|  | 176 | config MAGIC_SYSRQ | 
|  | 177 | bool "Magic SysRq key" | 
|  | 178 | depends on MCONSOLE | 
|  | 179 | ---help--- | 
|  | 180 | If you say Y here, you will have some control over the system even | 
|  | 181 | if the system crashes for example during kernel debugging (e.g., you | 
|  | 182 | will be able to flush the buffer cache to disk, reboot the system | 
|  | 183 | immediately or dump some status information). A key for each of the | 
|  | 184 | possible requests is provided. | 
|  | 185 |  | 
|  | 186 | This is the feature normally accomplished by pressing a key | 
|  | 187 | while holding SysRq (Alt+PrintScreen). | 
|  | 188 |  | 
|  | 189 | On UML, this is accomplished by sending a "sysrq" command with | 
|  | 190 | mconsole, followed by the letter for the requested command. | 
|  | 191 |  | 
|  | 192 | The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y | 
|  | 193 | unless you really know what this hack does. | 
|  | 194 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 195 | config SMP | 
|  | 196 | bool "Symmetric multi-processing support (EXPERIMENTAL)" | 
|  | 197 | default n | 
| Paolo 'Blaisorblade' Giarrusso | 3b8d108 | 2005-11-13 16:07:04 -0800 | [diff] [blame] | 198 | #SMP_BROKEN is for x86_64. | 
|  | 199 | depends on MODE_TT && EXPERIMENTAL && (!SMP_BROKEN || (BROKEN && SMP_BROKEN)) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 200 | help | 
|  | 201 | This option enables UML SMP support. | 
|  | 202 | It is NOT related to having a real SMP box. Not directly, at least. | 
|  | 203 |  | 
|  | 204 | UML implements virtual SMP by allowing as many processes to run | 
|  | 205 | simultaneously on the host as there are virtual processors configured. | 
|  | 206 |  | 
|  | 207 | Obviously, if the host is a uniprocessor, those processes will | 
|  | 208 | timeshare, but, inside UML, will appear to be running simultaneously. | 
|  | 209 | If the host is a multiprocessor, then UML processes may run | 
|  | 210 | simultaneously, depending on the host scheduler. | 
|  | 211 |  | 
|  | 212 | This, however, is supported only in TT mode. So, if you use the SKAS | 
|  | 213 | patch on your host, switching to TT mode and enabling SMP usually gives | 
|  | 214 | you worse performances. | 
|  | 215 | Also, since the support for SMP has been under-developed, there could | 
|  | 216 | be some bugs being exposed by enabling SMP. | 
|  | 217 |  | 
|  | 218 | If you don't know what to do, say N. | 
|  | 219 |  | 
|  | 220 | config NR_CPUS | 
|  | 221 | int "Maximum number of CPUs (2-32)" | 
|  | 222 | range 2 32 | 
|  | 223 | depends on SMP | 
|  | 224 | default "32" | 
|  | 225 |  | 
|  | 226 | config NEST_LEVEL | 
|  | 227 | int "Nesting level" | 
|  | 228 | default "0" | 
|  | 229 | help | 
|  | 230 | This is set to the number of layers of UMLs that this UML will be run | 
|  | 231 | in.  Normally, this is zero, meaning that it will run directly on the | 
|  | 232 | host.  Setting it to one will build a UML that can run inside a UML | 
|  | 233 | that is running on the host.  Generally, if you intend this UML to run | 
|  | 234 | inside another UML, set CONFIG_NEST_LEVEL to one more than the host | 
|  | 235 | UML. | 
|  | 236 |  | 
|  | 237 | Note that if the hosting UML has its CONFIG_KERNEL_HALF_GIGS set to | 
|  | 238 | greater than one, then the guest UML should have its CONFIG_NEST_LEVEL | 
|  | 239 | set to the host's CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS. | 
|  | 240 | Only change this if you are running nested UMLs. | 
|  | 241 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 242 | config HIGHMEM | 
| Paolo 'Blaisorblade' Giarrusso | ce2d2ae | 2006-01-18 17:42:59 -0800 | [diff] [blame^] | 243 | bool "Highmem support (EXPERIMENTAL)" | 
|  | 244 | depends on !64BIT && EXPERIMENTAL | 
|  | 245 | default n | 
|  | 246 | help | 
|  | 247 | This was used to allow UML to run with big amounts of memory. | 
|  | 248 | Currently it is unstable, so if unsure say N. | 
|  | 249 |  | 
|  | 250 | To use big amounts of memory, it is recommended to disable TT mode (i.e. | 
|  | 251 | CONFIG_MODE_TT) and enable static linking (i.e. CONFIG_STATIC_LINK) - | 
|  | 252 | this should allow the guest to use up to 2.75G of memory. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 253 |  | 
|  | 254 | config KERNEL_STACK_ORDER | 
|  | 255 | int "Kernel stack size order" | 
|  | 256 | default 2 | 
|  | 257 | help | 
|  | 258 | This option determines the size of UML kernel stacks.  They will | 
|  | 259 | be 1 << order pages.  The default is OK unless you're running Valgrind | 
|  | 260 | on UML, in which case, set this to 3. | 
|  | 261 |  | 
|  | 262 | config UML_REAL_TIME_CLOCK | 
|  | 263 | bool "Real-time Clock" | 
|  | 264 | default y | 
|  | 265 | help | 
|  | 266 | This option makes UML time deltas match wall clock deltas.  This should | 
|  | 267 | normally be enabled.  The exception would be if you are debugging with | 
|  | 268 | UML and spend long times with UML stopped at a breakpoint.  In this | 
|  | 269 | case, when UML is restarted, it will call the timer enough times to make | 
|  | 270 | up for the time spent at the breakpoint.  This could result in a | 
|  | 271 | noticable lag.  If this is a problem, then disable this option. | 
|  | 272 |  | 
|  | 273 | endmenu | 
|  | 274 |  | 
|  | 275 | source "init/Kconfig" | 
|  | 276 |  | 
| Paolo 'Blaisorblade' Giarrusso | ce2d2ae | 2006-01-18 17:42:59 -0800 | [diff] [blame^] | 277 | source "drivers/block/Kconfig" | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 278 |  | 
| Jeff Dike | 08b178e | 2005-09-03 15:57:12 -0700 | [diff] [blame] | 279 | source "arch/um/Kconfig.char" | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 280 |  | 
| Paolo 'Blaisorblade' Giarrusso | ce2d2ae | 2006-01-18 17:42:59 -0800 | [diff] [blame^] | 281 | source "drivers/base/Kconfig" | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 282 |  | 
| Paolo 'Blaisorblade' Giarrusso | ce2d2ae | 2006-01-18 17:42:59 -0800 | [diff] [blame^] | 283 | source "net/Kconfig" | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 284 |  | 
| Jeff Dike | 08b178e | 2005-09-03 15:57:12 -0700 | [diff] [blame] | 285 | source "arch/um/Kconfig.net" | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 286 |  | 
| Sam Ravnborg | d5950b4 | 2005-07-11 21:03:49 -0700 | [diff] [blame] | 287 | source "drivers/net/Kconfig" | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 288 |  | 
| Paolo 'Blaisorblade' Giarrusso | 76c842d | 2005-12-18 17:50:37 +0100 | [diff] [blame] | 289 | source "drivers/connector/Kconfig" | 
|  | 290 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 291 | source "fs/Kconfig" | 
|  | 292 |  | 
|  | 293 | source "security/Kconfig" | 
|  | 294 |  | 
|  | 295 | source "crypto/Kconfig" | 
|  | 296 |  | 
|  | 297 | source "lib/Kconfig" | 
|  | 298 |  | 
|  | 299 | menu "SCSI support" | 
|  | 300 | depends on BROKEN | 
|  | 301 |  | 
|  | 302 | config SCSI | 
|  | 303 | tristate "SCSI support" | 
|  | 304 |  | 
|  | 305 | # This gives us free_dma, which scsi.c wants. | 
|  | 306 | config GENERIC_ISA_DMA | 
|  | 307 | bool | 
|  | 308 | depends on SCSI | 
|  | 309 | default y | 
|  | 310 |  | 
| Jeff Dike | 08b178e | 2005-09-03 15:57:12 -0700 | [diff] [blame] | 311 | source "arch/um/Kconfig.scsi" | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 312 |  | 
|  | 313 | endmenu | 
|  | 314 |  | 
|  | 315 | source "drivers/md/Kconfig" | 
|  | 316 |  | 
|  | 317 | if BROKEN | 
|  | 318 | source "drivers/mtd/Kconfig" | 
|  | 319 | endif | 
|  | 320 |  | 
|  | 321 | #This is just to shut up some Kconfig warnings, so no prompt. | 
|  | 322 | config INPUT | 
|  | 323 | bool | 
|  | 324 | default n | 
|  | 325 |  | 
|  | 326 | source "arch/um/Kconfig.debug" |