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