71cdcc008c56eb075d057b74b866d84877ea79ab
[linux-flexiantxendom0-3.2.10.git] / arch / sparc / Kconfig
1 # $Id: config.in,v 1.113 2002/01/24 22:14:44 davem Exp $
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "Linux/SPARC Kernel Configuration"
7
8 config MMU
9         bool
10         default y
11
12 config UID16
13         bool
14         default y
15
16 config HIGHMEM
17         bool
18         default y
19
20 config GENERIC_ISA_DMA
21         bool
22         default y
23
24 source "init/Kconfig"
25
26
27 menu "General setup"
28
29 config VT
30         bool
31         default y
32         ---help---
33           If you say Y here, you will get support for terminal devices with
34           display and keyboard devices. These are called "virtual" because you
35           can run several virtual terminals (also called virtual consoles) on
36           one physical terminal. This is rather useful, for example one
37           virtual terminal can collect system messages and warnings, another
38           one can be used for a text-mode user session, and a third could run
39           an X session, all in parallel. Switching between virtual terminals
40           is done with certain key combinations, usually Alt-<function key>.
41
42           The setterm command ("man setterm") can be used to change the
43           properties (such as colors or beeping) of a virtual terminal. The
44           man page console_codes(4) ("man console_codes") contains the special
45           character sequences that can be used to change those properties
46           directly. The fonts used on virtual terminals can be changed with
47           the setfont ("man setfont") command and the key bindings are defined
48           with the loadkeys ("man loadkeys") command.
49
50           You need at least one virtual terminal device in order to make use
51           of your keyboard and monitor. Therefore, only people configuring an
52           embedded system would want to say N here in order to save some
53           memory; the only way to log into such a system is then via a serial
54           or network connection.
55
56           If unsure, say Y, or else you won't be able to do much with your new
57           shiny Linux system :-)
58
59 config VT_CONSOLE
60         bool
61         default y
62         ---help---
63           The system console is the device which receives all kernel messages
64           and warnings and which allows logins in single user mode. If you
65           answer Y here, a virtual terminal (the device used to interact with
66           a physical terminal) can be used as system console. This is the most
67           common mode of operations, so you should say Y here unless you want
68           the kernel messages be output only to a serial port (in which case
69           you should say Y to "Console on serial port", below).
70
71           If you do say Y here, by default the currently visible virtual
72           terminal (/dev/tty0) will be used as system console. You can change
73           that with a kernel command line option such as "console=tty3" which
74           would use the third virtual terminal as system console. (Try "man
75           bootparam" or see the documentation of your boot loader (lilo or
76           loadlin) about how to pass options to the kernel at boot time.)
77
78           If unsure, say Y.
79
80 config HW_CONSOLE
81         bool
82         default y
83
84 config SMP
85         bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
86         ---help---
87           This enables support for systems with more than one CPU. If you have
88           a system with only one CPU, like most personal computers, say N. If
89           you have a system with more than one CPU, say Y.
90
91           If you say N here, the kernel will run on single and multiprocessor
92           machines, but will use only one CPU of a multiprocessor machine. If
93           you say Y here, the kernel will run on many, but not all,
94           singleprocessor machines. On a singleprocessor machine, the kernel
95           will run faster if you say N here.
96
97           Note that if you say Y here and choose architecture "586" or
98           "Pentium" under "Processor family", the kernel will not work on 486
99           architectures. Similarly, multiprocessor kernels for the "PPro"
100           architecture may not work on all Pentium based boards.
101
102           People using multiprocessor machines who say Y here should also say
103           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
104           Management" code will be disabled if you say Y here.
105
106           See also the <file:Documentation/smp.tex>,
107           <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>,
108           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
109           <http://www.tldp.org/docs.html#howto>.
110
111           If you don't know what to do here, say N.
112
113 config NR_CPUS
114         int "Maximum number of CPUs (2-32)"
115         depends on SMP
116         default "32"
117
118 # Identify this as a Sparc32 build
119 config SPARC32
120         bool
121         default y
122         help
123           SPARC is a family of RISC microprocessors designed and marketed by
124           Sun Microsystems, incorporated.  They are very widely found in Sun
125           workstations and clones. This port covers the original 32-bit SPARC;
126           it is old and stable and usually considered one of the "big three"
127           along with the Intel and Alpha ports.  The UltraLinux project
128           maintains both the SPARC32 and SPARC64 ports; its web page is
129           available at <http://www.ultralinux.org/>.
130
131 # Global things across all Sun machines.
132 config ISA
133         bool
134         help
135           ISA is found on Espresso only and is not supported currently.
136           Say N
137
138 config EISA
139         bool
140         help
141           EISA is not supported.
142           Say N
143
144 config MCA
145         bool
146         help
147           MCA is not supported.
148           Say N
149
150 config PCMCIA
151         tristate
152         ---help---
153           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
154           computer.  These are credit-card size devices such as network cards,
155           modems or hard drives often used with laptops computers.  There are
156           actually two varieties of these cards: the older 16 bit PCMCIA cards
157           and the newer 32 bit CardBus cards.  If you want to use CardBus
158           cards, you need to say Y here and also to "CardBus support" below.
159
160           To use your PC-cards, you will need supporting software from David
161           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
162           for location).  Please also read the PCMCIA-HOWTO, available from
163           <http://www.tldp.org/docs.html#howto>.
164
165           This driver is also available as a module ( = code which can be
166           inserted in and removed from the running kernel whenever you want).
167           When compiled this way, there will be modules called pcmcia_core
168           and ds.  If you want to compile it as a module, say M here and
169           read <file:Documentation/modules.txt>.
170
171 config SBUS
172         bool
173         default y
174
175 config SBUSCHAR
176         bool
177         default y
178
179 config SERIAL_CONSOLE
180         bool
181         default y
182         ---help---
183           If you say Y here, it will be possible to use a serial port as the
184           system console (the system console is the device which receives all
185           kernel messages and warnings and which allows logins in single user
186           mode). This could be useful if some terminal or printer is connected
187           to that serial port.
188
189           Even if you say Y here, the currently visible virtual console
190           (/dev/tty0) will still be used as the system console by default, but
191           you can alter that using a kernel command line option such as
192           "console=ttyS1". (Try "man bootparam" or see the documentation of
193           your boot loader (lilo or loadlin) about how to pass options to the
194           kernel at boot time.)
195
196           If you don't have a VGA card installed and you say Y here, the
197           kernel will automatically use the first serial line, /dev/ttyS0, as
198           system console.
199
200           If unsure, say N.
201
202 config SUN_AUXIO
203         bool
204         default y
205
206 config SUN_IO
207         bool
208         default y
209
210 config RWSEM_GENERIC_SPINLOCK
211         bool
212         default y
213
214 config RWSEM_XCHGADD_ALGORITHM
215         bool
216
217 config SUN_PM
218         bool
219         default y
220         help
221           Enable power management and CPU standby features on supported 
222           SPARC platforms. 
223
224 config SUN4
225         bool "Support for SUN4 machines (disables SUN4[CDM] support)"
226         help
227           Say Y here if, and only if, your machine is a sun4. Note that
228           a kernel compiled with this option will run only on sun4.
229           (And the current version will probably work only on sun4/330.)
230
231 if !SUN4
232
233 config PCI
234         bool "Support for PCI and PS/2 keyboard/mouse"
235         help
236           CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
237           CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
238           All of these platforms are extremely obscure, so say N if unsure.
239
240 source "drivers/pci/Kconfig"
241
242 endif
243
244 config SUN_OPENPROMFS
245         tristate "Openprom tree appears in /proc/openprom"
246         help
247           If you say Y, the OpenPROM device tree will be available as a
248           virtual file system, which you can mount to /proc/openprom by "mount
249           -t openpromfs none /proc/openprom".
250
251           If you want to compile the /proc/openprom support as a module ( =
252           code which can be inserted in and removed from the running kernel
253           whenever you want), say M here and read
254           <file:Documentation/modules.txt>.
255           The module will be called openpromfs.  If unsure, say M.
256
257 config KCORE_ELF
258         bool
259         depends on PROC_FS
260         default y
261         ---help---
262           If you enabled support for /proc file system then the file
263           /proc/kcore will contain the kernel core image. This can be used
264           in gdb:
265
266           $ cd /usr/src/linux ; gdb vmlinux /proc/kcore
267
268           You have two choices here: ELF and A.OUT. Selecting ELF will make
269           /proc/kcore appear in ELF core format as defined by the Executable
270           and Linking Format specification. Selecting A.OUT will choose the
271           old "a.out" format which may be necessary for some old versions
272           of binutils or on some architectures.
273
274           This is especially useful if you have compiled the kernel with the
275           "-g" option to preserve debugging information. It is mainly used
276           for examining kernel data structures on the live kernel so if you
277           don't understand what this means or are not a kernel hacker, just
278           leave it at its default value ELF.
279
280 source "fs/Kconfig.binfmt"
281
282 config SUNOS_EMUL
283         bool "SunOS binary emulation"
284         help
285           This allows you to run most SunOS binaries.  If you want to do this,
286           say Y here and place appropriate files in /usr/gnemul/sunos. See
287           <http://www.ultralinux.org/faq.html> for more information.  If you
288           want to run SunOS binaries on an Ultra you must also say Y to
289           "Kernel support for 32-bit a.out binaries" above.
290
291 source "drivers/parport/Kconfig"
292
293 config PRINTER
294         tristate "Parallel printer support"
295         depends on PARPORT
296         ---help---
297           If you intend to attach a printer to the parallel port of your Linux
298           box (as opposed to using a serial printer; if the connector at the
299           printer has 9 or 25 holes ["female"], then it's serial), say Y.
300           Also read the Printing-HOWTO, available from
301           <http://www.tldp.org/docs.html#howto>.
302
303           It is possible to share one parallel port among several devices
304           (e.g. printer and ZIP drive) and it is safe to compile the
305           corresponding drivers into the kernel.  If you want to compile this
306           driver as a module however ( = code which can be inserted in and
307           removed from the running kernel whenever you want), say M here and
308           read <file:Documentation/modules.txt> and
309           <file:Documentation/parport.txt>.  The module will be called lp.
310
311           If you have several parallel ports, you can specify which ports to
312           use with the "lp" kernel command line option.  (Try "man bootparam"
313           or see the documentation of your boot loader (lilo or loadlin) about
314           how to pass options to the kernel at boot time.)  The syntax of the
315           "lp" command line option can be found in <file:drivers/char/lp.c>.
316
317           If you have more than 8 printers, you need to increase the LP_NO
318           macro in lp.c and the PARPORT_MAX macro in parport.h.
319
320 endmenu
321
322 source "drivers/base/Kconfig"
323
324 source "drivers/video/Kconfig"
325
326 source "drivers/mtd/Kconfig"
327
328 source "drivers/serial/Kconfig"
329
330 if !SUN4
331 source "drivers/sbus/char/Kconfig"
332 endif
333
334
335 menu "Block devices"
336
337 config BLK_DEV_FD
338         bool "Normal floppy disk support"
339         ---help---
340           If you want to use the floppy disk drive(s) of your PC under Linux,
341           say Y. Information about this driver, especially important for IBM
342           Thinkpad users, is contained in <file:Documentation/floppy.txt>.
343           That file also contains the location of the Floppy driver FAQ as
344           well as location of the fdutils package used to configure additional
345           parameters of the driver at run time.
346
347           This driver is also available as a module ( = code which can be
348           inserted in and removed from the running kernel whenever you want).
349           The module will be called floppy. If you want to compile it as a
350           module, say M here and read <file:Documentation/modules.txt>.
351
352 config BLK_DEV_LOOP
353         tristate "Loopback device support"
354         ---help---
355           Saying Y here will allow you to use a regular file as a block
356           device; you can then create a file system on that block device and
357           mount it just as you would mount other block devices such as hard
358           drive partitions, CD-ROM drives or floppy drives. The loop devices
359           are block special device files with major number 7 and typically
360           called /dev/loop0, /dev/loop1 etc.
361
362           This is useful if you want to check an ISO 9660 file system before
363           burning the CD, or if you want to use floppy images without first
364           writing them to floppy. Furthermore, some Linux distributions avoid
365           the need for a dedicated Linux partition by keeping their complete
366           root file system inside a DOS FAT file using this loop device
367           driver.
368
369           The loop device driver can also be used to "hide" a file system in a
370           disk partition, floppy, or regular file, either using encryption
371           (scrambling the data) or steganography (hiding the data in the low
372           bits of, say, a sound file). This is also safe if the file resides
373           on a remote file server. If you want to do this, you will first have
374           to acquire and install a kernel patch from
375           <ftp://ftp.kerneli.org/pub/kerneli/>, and then you need to
376           say Y to this option.
377
378           Note that alternative ways to use encrypted file systems are
379           provided by the cfs package, which can be gotten from
380           <ftp://ftp.kerneli.org/pub/kerneli/net-source/>, and the newer tcfs
381           package, available at <http://tcfs.dia.unisa.it/>. You do not need
382           to say Y here if you want to use one of these. However, using cfs
383           requires saying Y to "NFS file system support" below while using
384           tcfs requires applying a kernel patch. An alternative steganography
385           solution is provided by StegFS, also available from
386           <ftp://ftp.kerneli.org/pub/kerneli/net-source/>.
387
388           To use the loop device, you need the losetup utility and a recent
389           version of the mount program, both contained in the util-linux
390           package. The location and current version number of util-linux is
391           contained in the file <file:Documentation/Changes>.
392
393           Note that this loop device has nothing to do with the loopback
394           device used for network connections from the machine to itself.
395
396           If you want to compile this driver as a module ( = code which can be
397           inserted in and removed from the running kernel whenever you want),
398           say M here and read <file:Documentation/modules.txt>. The module
399           will be called loop.
400
401           Most users will answer N here.
402
403 config BLK_DEV_NBD
404         tristate "Network block device support"
405         depends on NET
406         ---help---
407           Saying Y here will allow your computer to be a client for network
408           block devices, i.e. it will be able to use block devices exported by
409           servers (mount file systems on them etc.). Communication between
410           client and server works over TCP/IP networking, but to the client
411           program this is hidden: it looks like a regular local file access to
412           a block device special file such as /dev/nd0.
413
414           Network block devices also allows you to run a block-device in
415           userland (making server and client physically the same computer,
416           communicating using the loopback network device).
417
418           Read <file:Documentation/nbd.txt> for more information, especially
419           about where to find the server code, which runs in user space and
420           does not need special kernel support.
421
422           Note that this has nothing to do with the network file systems NFS
423           or Coda; you can say N here even if you intend to use NFS or Coda.
424
425           If you want to compile this driver as a module ( = code which can be
426           inserted in and removed from the running kernel whenever you want),
427           say M here and read <file:Documentation/modules.txt>. The module
428           will be called nbd.
429
430           If unsure, say N.
431
432 source "drivers/md/Kconfig"
433
434 config BLK_DEV_RAM
435         tristate "RAM disk support"
436         ---help---
437           Saying Y here will allow you to use a portion of your RAM memory as
438           a block device, so that you can make file systems on it, read and
439           write to it and do all the other things that you can do with normal
440           block devices (such as hard drives). It is usually used to load and
441           store a copy of a minimal root file system off of a floppy into RAM
442           during the initial install of Linux.
443
444           Note that the kernel command line option "ramdisk=XX" is now
445           obsolete. For details, read <file:Documentation/ramdisk.txt>.
446
447           If you want to compile this as a module ( = code which can be
448           inserted in and removed from the running kernel whenever you want),
449           say M and read <file:Documentation/modules.txt>. The module will be
450           called rd.
451
452           Most normal users won't need the RAM disk functionality, and can
453           thus say N here.
454
455 config BLK_DEV_RAM_SIZE
456         int "Default RAM disk size"
457         depends on BLK_DEV_RAM
458         default "4096"
459         help
460           The default value is 4096. Only change this if you know what are
461           you doing. If you are using IBM S/390, then set this to 8192.
462
463 config BLK_DEV_INITRD
464         bool "Initial RAM disk (initrd) support"
465         depends on BLK_DEV_RAM=y
466         help
467           The initial RAM disk is a RAM disk that is loaded by the boot loader
468           (loadlin or lilo) and that is mounted as root before the normal boot
469           procedure. It is typically used to load modules needed to mount the
470           "real" root file system, etc. See <file:Documentation/initrd.txt>
471           for details.
472
473 endmenu
474
475 # Don't frighten a common SBus user
476 if PCI
477
478 source "drivers/ide/Kconfig"
479
480 endif
481
482 source "drivers/isdn/Kconfig"
483
484 source "drivers/scsi/Kconfig"
485
486 source "drivers/fc4/Kconfig"
487
488 source "net/Kconfig"
489
490 source "net/ax25/Kconfig"
491
492 # This one must be before the filesystem configs. -DaveM
493
494 menu "Unix98 PTY support"
495
496 config UNIX98_PTYS
497         bool "Unix98 PTY support"
498         ---help---
499           A pseudo terminal (PTY) is a software device consisting of two
500           halves: a master and a slave. The slave device behaves identical to
501           a physical terminal; the master device is used by a process to
502           read data from and write data to the slave, thereby emulating a
503           terminal. Typical programs for the master side are telnet servers
504           and xterms.
505
506           Linux has traditionally used the BSD-like names /dev/ptyxx for
507           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
508           has a number of problems. The GNU C library glibc 2.1 and later,
509           however, supports the Unix98 naming standard: in order to acquire a
510           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
511           terminal is then made available to the process and the pseudo
512           terminal slave can be accessed as /dev/pts/<number>. What was
513           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
514
515           The entries in /dev/pts/ are created on the fly by a virtual
516           file system; therefore, if you say Y here you should say Y to
517           "/dev/pts file system for Unix98 PTYs" as well.
518
519           If you want to say Y here, you need to have the C library glibc 2.1
520           or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
521           Read the instructions in <file:Documentation/Changes> pertaining to
522           pseudo terminals. It's safe to say N.
523
524 config UNIX98_PTY_COUNT
525         int "Maximum number of Unix98 PTYs in use (0-2048)"
526         depends on UNIX98_PTYS
527         default "256"
528         help
529           The maximum number of Unix98 PTYs that can be used at any one time.
530           The default is 256, and should be enough for desktop systems. Server
531           machines which support incoming telnet/rlogin/ssh connections and/or
532           serve several X terminals may want to increase this: every incoming
533           connection and every xterm uses up one PTY.
534
535           When not in use, each additional set of 256 PTYs occupy
536           approximately 8 KB of kernel memory on 32-bit architectures.
537
538 endmenu
539
540 source "drivers/input/Kconfig"
541
542 source "fs/Kconfig"
543
544
545 menu "Sound card support"
546
547 config SOUND
548         tristate "Sound card support"
549         ---help---
550           If you have a sound card in your computer, i.e. if it can say more
551           than an occasional beep, say Y.  Be sure to have all the information
552           about your sound card and its configuration down (I/O port,
553           interrupt and DMA channel), because you will be asked for it.
554
555           You want to read the Sound-HOWTO, available from
556           <http://www.tldp.org/docs.html#howto>. General information about
557           the modular sound system is contained in the files
558           <file:Documentation/sound/Introduction>.  The file
559           <file:Documentation/sound/README.OSS> contains some slightly
560           outdated but still useful information as well.
561
562           If you have a PnP sound card and you want to configure it at boot
563           time using the ISA PnP tools (read
564           <http://www.roestock.demon.co.uk/isapnptools/>), then you need to
565           compile the sound card support as a module ( = code which can be
566           inserted in and removed from the running kernel whenever you want)
567           and load that module after the PnP configuration is finished.  To do
568           this, say M here and read <file:Documentation/modules.txt> as well
569           as <file:Documentation/sound/README.modules>; the module will be
570           called soundcore.
571
572           I'm told that even without a sound card, you can make your computer
573           say more than an occasional beep, by programming the PC speaker.
574           Kernel patches and supporting utilities to do that are in the pcsp
575           package, available at <ftp://ftp.infradead.org/pub/pcsp/>.
576
577 source "sound/Kconfig"
578
579 endmenu
580
581 source "drivers/usb/Kconfig"
582
583 source "net/bluetooth/Kconfig"
584
585
586 menu "Watchdog"
587
588 config SOFT_WATCHDOG
589         tristate "Software watchdog"
590         help
591           A software monitoring watchdog. This will fail to reboot your system
592           from some situations that the hardware watchdog will recover
593           from. Equally it's a lot cheaper to install.
594
595           This driver is also available as a module ( = code which can be
596           inserted in and removed from the running kernel whenever you want).
597           If you want to compile it as a module, say M here and read
598           <file:Documentation/modules.txt>. The module will be called
599           softdog.
600
601 endmenu
602
603
604 menu "Kernel hacking"
605
606 config DEBUG_SLAB
607         bool "Debug memory allocations"
608
609 config MAGIC_SYSRQ
610         bool "Magic SysRq key"
611         help
612           If you say Y here, you will have some control over the system even
613           if the system crashes for example during kernel debugging (e.g., you
614           will be able to flush the buffer cache to disk, reboot the system
615           immediately or dump some status information). This is accomplished
616           by pressing various keys while holding SysRq (Alt+PrintScreen). It
617           also works on a serial console (on PC hardware at least), if you
618           send a BREAK and then within 5 seconds a command keypress. The
619           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
620           unless you really know what this hack does.
621
622 config DEBUG_SPINLOCK
623         bool "Spinlock debugging"
624
625 config DEBUG_SPINLOCK_SLEEP
626         bool "Sleep-inside-spinlock checking"
627         help
628           If you say Y here, various routines which may sleep will become very
629           noisy if they are called with a spinlock held.        
630
631 config DEBUG_BUGVERBOSE
632         bool "Verbose BUG() reporting (adds 70K)"
633         help
634           Say Y here to make BUG() panics output the file name and line number
635           of the BUG call as well as the EIP and oops trace.  This aids
636           debugging but costs about 70-100K of memory.
637
638 endmenu
639
640 source "security/Kconfig"
641
642 source "crypto/Kconfig"
643
644 source "lib/Kconfig"
645
646 source "rpmify/Kconfig"
647