Kconfig 7.66 KB
Newer Older
1 2 3 4 5
config DEFCONFIG_LIST
	string
	option defconfig_list
	default "arch/$ARCH/defconfig"

Matt LaPlante's avatar
Matt LaPlante committed
6
# UML uses the generic IRQ subsystem
Linus Torvalds's avatar
Linus Torvalds committed
7 8 9 10 11 12 13 14 15 16 17 18
config GENERIC_HARDIRQS
	bool
	default y

config UML
	bool
	default y

config MMU
	bool
	default y

Al Viro's avatar
Al Viro committed
19 20 21
config NO_IOMEM
	def_bool y

Linus Torvalds's avatar
Linus Torvalds committed
22 23 24 25 26 27 28 29 30 31 32
mainmenu "Linux/Usermode Kernel Configuration"

config ISA
	bool

config SBUS
	bool

config PCI
	bool

Al Viro's avatar
Al Viro committed
33 34 35
config PCMCIA
	bool

36 37 38 39 40 41 42 43 44 45 46
# Yet to do!
config TRACE_IRQFLAGS_SUPPORT
	bool
	default n

config LOCKDEP_SUPPORT
	bool
	default y

config STACKTRACE_SUPPORT
	bool
47
	default n
48

Linus Torvalds's avatar
Linus Torvalds committed
49 50 51 52
config GENERIC_CALIBRATE_DELAY
	bool
	default y

53 54 55 56 57
config GENERIC_BUG
	bool
	default y
	depends on BUG

Jeff Dike's avatar
Jeff Dike committed
58 59 60 61
config GENERIC_TIME
	bool
	default y

Jeff Dike's avatar
Jeff Dike committed
62 63 64 65
config GENERIC_CLOCKEVENTS
	bool
	default y

66 67 68 69 70
# Used in kernel/irq/manage.c and include/linux/irq.h
config IRQ_RELEASE_METHOD
	bool
	default y

Linus Torvalds's avatar
Linus Torvalds committed
71 72 73 74 75 76
menu "UML-specific options"

config STATIC_LINK
	bool "Force a static link"
	default n
	help
Jeff Dike's avatar
Jeff Dike committed
77 78 79 80 81 82
	  This option gives you the ability to force a static link of UML.
	  Normally, UML is linked as a shared binary.  This is inconvenient for
	  use in a chroot jail.  So, if you intend to run UML inside a chroot,
	  you probably want to say Y here.
	  Additionally, this option enables using higher memory spaces (up to
	  2.75G) for UML.
Linus Torvalds's avatar
Linus Torvalds committed
83

84
source "arch/um/Kconfig.arch"
85
source "mm/Kconfig"
Jeff Dike's avatar
Jeff Dike committed
86
source "kernel/time/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
87 88 89 90

config LD_SCRIPT_STATIC
	bool
	default y
Jeff Dike's avatar
Jeff Dike committed
91
	depends on STATIC_LINK
Linus Torvalds's avatar
Linus Torvalds committed
92 93 94 95 96 97 98 99 100

config LD_SCRIPT_DYN
	bool
	default y
	depends on !LD_SCRIPT_STATIC

config NET
	bool "Networking support"
	help
Jeff Dike's avatar
Jeff Dike committed
101 102 103 104 105 106 107 108
	  Unless you really know what you are doing, you should say Y here.
	  The reason is that some programs need kernel networking support even
	  when running on a stand-alone machine that isn't connected to any
	  other computer. If you are upgrading from an older kernel, you
	  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 <file:Documentation/Changes>.
Linus Torvalds's avatar
Linus Torvalds committed
109

Jeff Dike's avatar
Jeff Dike committed
110 111 112
	  For a general introduction to Linux networking, it is highly
	  recommended to read the NET-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>.
Linus Torvalds's avatar
Linus Torvalds committed
113 114 115 116 117 118 119


source "fs/Kconfig.binfmt"

config HOSTFS
	tristate "Host filesystem"
	help
Jeff Dike's avatar
Jeff Dike committed
120 121 122 123 124
          While the User-Mode Linux port uses its own root file system for
          booting and normal file access, this module lets the UML user
          access files stored on the host.  It does not require any
          network connection between the Host and UML.  An example use of
          this might be:
Linus Torvalds's avatar
Linus Torvalds committed
125

Jeff Dike's avatar
Jeff Dike committed
126
          mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
Linus Torvalds's avatar
Linus Torvalds committed
127

Jeff Dike's avatar
Jeff Dike committed
128 129 130
          where /tmp/fromhost is an empty directory inside UML and
          /tmp/umlshare is a directory on the host with files the UML user
          wishes to access.
Linus Torvalds's avatar
Linus Torvalds committed
131

Jeff Dike's avatar
Jeff Dike committed
132 133
          For more information, see
          <http://user-mode-linux.sourceforge.net/hostfs.html>.
Linus Torvalds's avatar
Linus Torvalds committed
134

Jeff Dike's avatar
Jeff Dike committed
135 136
          If you'd like to be able to work with files stored on the host,
          say Y or M here; otherwise say N.
Linus Torvalds's avatar
Linus Torvalds committed
137 138 139

config HPPFS
	tristate "HoneyPot ProcFS (EXPERIMENTAL)"
140
	depends on EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
141
	help
Jeff Dike's avatar
Jeff Dike committed
142 143 144 145 146
	  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.
Linus Torvalds's avatar
Linus Torvalds committed
147

148
	  See <http://user-mode-linux.sf.net/old/hppfs.html> for more information.
Linus Torvalds's avatar
Linus Torvalds committed
149

Jeff Dike's avatar
Jeff Dike committed
150 151
	  You only need this if you are setting up a UML honeypot.  Otherwise,
	  it is safe to say 'N' here.
Linus Torvalds's avatar
Linus Torvalds committed
152 153 154 155 156

config MCONSOLE
	bool "Management console"
	default y
	help
Jeff Dike's avatar
Jeff Dike committed
157 158 159 160 161
          The user mode linux management console is a low-level interface to
          the kernel, somewhat like the i386 SysRq interface.  Since there is
          a full-blown operating system running under every user mode linux
          instance, there is much greater flexibility possible than with the
          SysRq mechanism.
Linus Torvalds's avatar
Linus Torvalds committed
162

Jeff Dike's avatar
Jeff Dike committed
163 164 165 166
          If you answer 'Y' to this option, to use this feature, you need the
          mconsole client (called uml_mconsole) which is present in CVS in
          2.4.5-9um and later (path /tools/mconsole), and is also in the
          distribution RPM package in 2.4.6 and later.
Linus Torvalds's avatar
Linus Torvalds committed
167

Jeff Dike's avatar
Jeff Dike committed
168
          It is safe to say 'Y' here.
Linus Torvalds's avatar
Linus Torvalds committed
169 170 171 172

config MAGIC_SYSRQ
	bool "Magic SysRq key"
	depends on MCONSOLE
Jeff Dike's avatar
Jeff Dike committed
173 174 175 176 177 178
	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.
Linus Torvalds's avatar
Linus Torvalds committed
179

Jeff Dike's avatar
Jeff Dike committed
180 181
	  This is the feature normally accomplished by pressing a key
	  while holding SysRq (Alt+PrintScreen).
Linus Torvalds's avatar
Linus Torvalds committed
182

Jeff Dike's avatar
Jeff Dike committed
183 184
	  On UML, this is accomplished by sending a "sysrq" command with
	  mconsole, followed by the letter for the requested command.
Linus Torvalds's avatar
Linus Torvalds committed
185

Jeff Dike's avatar
Jeff Dike committed
186 187
	  The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
	  unless you really know what this hack does.
Linus Torvalds's avatar
Linus Torvalds committed
188 189 190 191

config SMP
	bool "Symmetric multi-processing support (EXPERIMENTAL)"
	default n
192
	depends on BROKEN
Linus Torvalds's avatar
Linus Torvalds committed
193
	help
Jeff Dike's avatar
Jeff Dike committed
194 195
	  This option enables UML SMP support.
	  It is NOT related to having a real SMP box. Not directly, at least.
Linus Torvalds's avatar
Linus Torvalds committed
196

Jeff Dike's avatar
Jeff Dike committed
197 198
	  UML implements virtual SMP by allowing as many processes to run
	  simultaneously on the host as there are virtual processors configured.
Linus Torvalds's avatar
Linus Torvalds committed
199

Jeff Dike's avatar
Jeff Dike committed
200 201 202 203
	  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.
Linus Torvalds's avatar
Linus Torvalds committed
204

Jeff Dike's avatar
Jeff Dike committed
205 206 207 208 209
	  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.
Linus Torvalds's avatar
Linus Torvalds committed
210

Jeff Dike's avatar
Jeff Dike committed
211
	  If you don't know what to do, say N.
Linus Torvalds's avatar
Linus Torvalds committed
212 213 214 215 216 217 218 219 220 221 222

config NR_CPUS
	int "Maximum number of CPUs (2-32)"
	range 2 32
	depends on SMP
	default "32"

config NEST_LEVEL
	int "Nesting level"
	default "0"
	help
Jeff Dike's avatar
Jeff Dike committed
223 224 225 226 227 228
          This is set to the number of layers of UMLs that this UML will be run
          in.  Normally, this is zero, meaning that it will run directly on the
          host.  Setting it to one will build a UML that can run inside a UML
          that is running on the host.  Generally, if you intend this UML to run
          inside another UML, set CONFIG_NEST_LEVEL to one more than the host
          UML.
Linus Torvalds's avatar
Linus Torvalds committed
229 230

config HIGHMEM
231 232 233 234
	bool "Highmem support (EXPERIMENTAL)"
	depends on !64BIT && EXPERIMENTAL
	default n
	help
Jeff Dike's avatar
Jeff Dike committed
235 236
	  This was used to allow UML to run with big amounts of memory.
	  Currently it is unstable, so if unsure say N.
237

Jeff Dike's avatar
Jeff Dike committed
238 239 240
	  To use big amounts of memory, it is recommended enable static
	  linking (i.e. CONFIG_STATIC_LINK) - this should allow the
	  guest to use up to 2.75G of memory.
Linus Torvalds's avatar
Linus Torvalds committed
241 242 243

config KERNEL_STACK_ORDER
	int "Kernel stack size order"
Jeff Dike's avatar
Jeff Dike committed
244
	default 1 if 64BIT
245
	range 1 10 if 64BIT
Jeff Dike's avatar
Jeff Dike committed
246
	default 0 if !64BIT
Linus Torvalds's avatar
Linus Torvalds committed
247
	help
Jeff Dike's avatar
Jeff Dike committed
248 249 250
	  This option determines the size of UML kernel stacks.  They will
	  be 1 << order pages.  The default is OK unless you're running Valgrind
	  on UML, in which case, set this to 3.
Linus Torvalds's avatar
Linus Torvalds committed
251 252 253 254 255

endmenu

source "init/Kconfig"

256
source "drivers/block/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
257

258
source "arch/um/Kconfig.char"
Linus Torvalds's avatar
Linus Torvalds committed
259

260
source "drivers/base/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
261

262
source "net/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
263

264
source "arch/um/Kconfig.net"
Linus Torvalds's avatar
Linus Torvalds committed
265

266
source "drivers/net/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
267

268 269
source "drivers/connector/Kconfig"

Linus Torvalds's avatar
Linus Torvalds committed
270 271 272 273 274 275 276 277
source "fs/Kconfig"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"

Peter Zijlstra's avatar
Peter Zijlstra committed
278
source "drivers/scsi/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
279 280 281 282 283 284 285 286 287 288 289 290 291

source "drivers/md/Kconfig"

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"