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