Merge with Linux 2.5.73.
[linux-2.6/linux-mips.git] / arch / sparc64 / Kconfig
blobf82247c54708abfd7ab58093852541e8c4719101
1 # $Id: config.in,v 1.158 2002/01/24 22:14:44 davem Exp $
2 # For a description of the syntax of this configuration file,
3 # see the Configure script.
6 mainmenu "Linux/UltraSPARC Kernel Configuration"
8 config MMU
9         bool
10         default y
12 source "init/Kconfig"
15 menu "General setup"
17 config BBC_I2C
18         tristate "UltraSPARC-III bootbus i2c controller driver"
19         help
20           The BBC devices on the UltraSPARC III have two I2C controllers.  The
21           first I2C controller connects mainly to configuration PROMs (NVRAM,
22           CPU configuration, DIMM types, etc.).  The second I2C controller
23           connects to environmental control devices such as fans and
24           temperature sensors.  The second controller also connects to the
25           smartcard reader, if present.  Say Y to enable support for these.
27 config VT
28         bool
29         default y
30         ---help---
31           If you say Y here, you will get support for terminal devices with
32           display and keyboard devices. These are called "virtual" because you
33           can run several virtual terminals (also called virtual consoles) on
34           one physical terminal. This is rather useful, for example one
35           virtual terminal can collect system messages and warnings, another
36           one can be used for a text-mode user session, and a third could run
37           an X session, all in parallel. Switching between virtual terminals
38           is done with certain key combinations, usually Alt-<function key>.
40           The setterm command ("man setterm") can be used to change the
41           properties (such as colors or beeping) of a virtual terminal. The
42           man page console_codes(4) ("man console_codes") contains the special
43           character sequences that can be used to change those properties
44           directly. The fonts used on virtual terminals can be changed with
45           the setfont ("man setfont") command and the key bindings are defined
46           with the loadkeys ("man loadkeys") command.
48           You need at least one virtual terminal device in order to make use
49           of your keyboard and monitor. Therefore, only people configuring an
50           embedded system would want to say N here in order to save some
51           memory; the only way to log into such a system is then via a serial
52           or network connection.
54           If unsure, say Y, or else you won't be able to do much with your new
55           shiny Linux system :-)
57 config VT_CONSOLE
58         bool
59         default y
60         ---help---
61           The system console is the device which receives all kernel messages
62           and warnings and which allows logins in single user mode. If you
63           answer Y here, a virtual terminal (the device used to interact with
64           a physical terminal) can be used as system console. This is the most
65           common mode of operations, so you should say Y here unless you want
66           the kernel messages be output only to a serial port (in which case
67           you should say Y to "Console on serial port", below).
69           If you do say Y here, by default the currently visible virtual
70           terminal (/dev/tty0) will be used as system console. You can change
71           that with a kernel command line option such as "console=tty3" which
72           would use the third virtual terminal as system console. (Try "man
73           bootparam" or see the documentation of your boot loader (lilo or
74           loadlin) about how to pass options to the kernel at boot time.)
76           If unsure, say Y.
78 config HW_CONSOLE
79         bool
80         default y
82 config HUGETLB_PAGE
83         bool "SPARC64 Huge TLB Page Support"
84         help
85           This enables support for huge pages.  User space applications
86           can make use of this support with the sys_alloc_hugepages and
87           sys_free_hugepages system calls.  If your applications are
88           huge page aware, then say Y here.
90           Otherwise, say N.
92 config SMP
93         bool "Symmetric multi-processing support"
94         ---help---
95           This enables support for systems with more than one CPU. If you have
96           a system with only one CPU, like most personal computers, say N. If
97           you have a system with more than one CPU, say Y.
99           If you say N here, the kernel will run on single and multiprocessor
100           machines, but will use only one CPU of a multiprocessor machine. If
101           you say Y here, the kernel will run on many, but not all,
102           singleprocessor machines. On a singleprocessor machine, the kernel
103           will run faster if you say N here.
105           Note that if you say Y here and choose architecture "586" or
106           "Pentium" under "Processor family", the kernel will not work on 486
107           architectures. Similarly, multiprocessor kernels for the "PPro"
108           architecture may not work on all Pentium based boards.
110           People using multiprocessor machines who say Y here should also say
111           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
112           Management" code will be disabled if you say Y here.
114           See also the <file:Documentation/smp.tex>,
115           <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>,
116           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
117           <http://www.tldp.org/docs.html#howto>.
119           If you don't know what to do here, say N.
121 config PREEMPT
122         bool "Preemptible Kernel"
123         help
124           This option reduces the latency of the kernel when reacting to
125           real-time or interactive events by allowing a low priority process to
126           be preempted even if it is in kernel mode executing a system call.
127           This allows applications to run more reliably even when the system is
128           under load.
130           Say Y here if you are building a kernel for a desktop, embedded
131           or real-time system.  Say N if you are unsure.
133 config NR_CPUS
134         int "Maximum number of CPUs (2-64)"
135         depends on SMP
136         default "64"
138 config CPU_FREQ
139         bool "CPU Frequency scaling"
140         help
141           Clock scaling allows you to change the clock speed of CPUs on the
142           fly.  Currently there are only sparc64 drivers for UltraSPARC-III
143           and UltraSPARC-IIe processors.
145           For details, take a look at linux/Documentation/cpufreq. 
147           If in doubt, say N.
149 config CPU_FREQ_TABLE
150        tristate "CPU frequency table helpers"
151        depends on CPU_FREQ
152        default y
153        help
154          Many CPUFreq drivers use these helpers, so only say N here if
155          the CPUFreq driver of your choice doesn't need these helpers.
157          If in doubt, say Y.
159 config US3_FREQ
160         tristate "UltraSPARC-III CPU Frequency driver"
161         depends on CPU_FREQ_TABLE
162         help
163           This adds the CPUFreq driver for UltraSPARC-III processors.
165           For details, take a look at linux/Documentation/cpufreq. 
167           If in doubt, say N.
169 config US2E_FREQ
170         tristate "UltraSPARC-IIe CPU Frequency driver"
171         depends on CPU_FREQ_TABLE
172         help
173           This adds the CPUFreq driver for UltraSPARC-IIe processors.
175           For details, take a look at linux/Documentation/cpufreq. 
177           If in doubt, say N.
179 source "drivers/cpufreq/Kconfig"
181 # Identify this as a Sparc64 build
182 config SPARC64
183         bool
184         default y
185         help
186           SPARC is a family of RISC microprocessors designed and marketed by
187           Sun Microsystems, incorporated.  This port covers the newer 64-bit
188           UltraSPARC.  The UltraLinux project maintains both the SPARC32 and
189           SPARC64 ports; its web page is available at
190           <http://www.ultralinux.org/>.
192 config HOTPLUG
193         bool "Support for hot-pluggable devices"
194         ---help---
195           Say Y here if you want to plug devices into your computer while
196           the system is running, and be able to use them quickly.  In many
197           cases, the devices can likewise be unplugged at any time too.
199           One well known example of this is PCMCIA- or PC-cards, credit-card
200           size devices such as network cards, modems or hard drives which are
201           plugged into slots found on all modern laptop computers.  Another
202           example, used on modern desktops as well as laptops, is USB.
204           Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
205           software (at <http://linux-hotplug.sourceforge.net/>) and install it.
206           Then your kernel will automatically call out to a user mode "policy
207           agent" (/sbin/hotplug) to load modules and set up software needed
208           to use devices as you hotplug them.
210 # Global things across all Sun machines.
211 config HAVE_DEC_LOCK
212         bool
213         default y
215 config RWSEM_GENERIC_SPINLOCK
216         bool
218 config RWSEM_XCHGADD_ALGORITHM
219         bool
220         default y
222 config GENERIC_ISA_DMA
223         bool
224         default y
226 config ISA
227         bool
228         help
229           Find out whether you have ISA slots on your motherboard.  ISA is the
230           name of a bus system, i.e. the way the CPU talks to the other stuff
231           inside your box.  Other bus systems are PCI, EISA, MicroChannel
232           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
233           newer boards don't support it.  If you have ISA, say Y, otherwise N.
235 config ISAPNP
236         bool
237         help
238           Say Y here if you would like support for ISA Plug and Play devices.
239           Some information is in <file:Documentation/isapnp.txt>.
241           This support is also available as a module called isapnp ( =
242           code which can be inserted in and removed from the running kernel
243           whenever you want). If you want to compile it as a module, say M
244           here and read <file:Documentation/modules.txt>.
246           If unsure, say Y.
248 config EISA
249         bool
250         ---help---
251           The Extended Industry Standard Architecture (EISA) bus was
252           developed as an open alternative to the IBM MicroChannel bus.
254           The EISA bus provided some of the features of the IBM MicroChannel
255           bus while maintaining backward compatibility with cards made for
256           the older ISA bus.  The EISA bus saw limited use between 1988 and
257           1995 when it was made obsolete by the PCI bus.
259           Say Y here if you are building a kernel for an EISA-based machine.
261           Otherwise, say N.
263 config MCA
264         bool
265         help
266           MicroChannel Architecture is found in some IBM PS/2 machines and
267           laptops.  It is a bus system similar to PCI or ISA. See
268           <file:Documentation/mca.txt> (and especially the web page given
269           there) before attempting to build an MCA bus kernel.
271 config PCMCIA
272         tristate
273         ---help---
274           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
275           computer.  These are credit-card size devices such as network cards,
276           modems or hard drives often used with laptops computers.  There are
277           actually two varieties of these cards: the older 16 bit PCMCIA cards
278           and the newer 32 bit CardBus cards.  If you want to use CardBus
279           cards, you need to say Y here and also to "CardBus support" below.
281           To use your PC-cards, you will need supporting software from David
282           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
283           for location).  Please also read the PCMCIA-HOWTO, available from
284           <http://www.tldp.org/docs.html#howto>.
286           This driver is also available as a module ( = code which can be
287           inserted in and removed from the running kernel whenever you want).
288           When compiled this way, there will be modules called pcmcia_core
289           and ds.  If you want to compile it as a module, say M here and
290           read <file:Documentation/modules.txt>.
292 config SBUS
293         bool
294         default y
296 config SBUSCHAR
297         bool
298         default y
300 config SUN_AUXIO
301         bool
302         default y
304 config SUN_IO
305         bool
306         default y
308 config PCI
309         bool "PCI support"
310         help
311           Find out whether you have a PCI motherboard. PCI is the name of a
312           bus system, i.e. the way the CPU talks to the other stuff inside
313           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
314           VESA. If you have PCI, say Y, otherwise N.
316           The PCI-HOWTO, available from
317           <http://www.tldp.org/docs.html#howto>, contains valuable
318           information about which PCI hardware does work under Linux and which
319           doesn't.
321 config PCI_DOMAINS
322         bool
323         default PCI
325 config RTC
326         tristate
327         depends on PCI
328         default y
329         ---help---
330           If you say Y here and create a character special file /dev/rtc with
331           major number 10 and minor number 135 using mknod ("man mknod"), you
332           will get access to the real time clock (or hardware clock) built
333           into your computer.
335           Every PC has such a clock built in. It can be used to generate
336           signals from as low as 1Hz up to 8192Hz, and can also be used
337           as a 24 hour alarm. It reports status information via the file
338           /proc/driver/rtc and its behaviour is set by various ioctls on
339           /dev/rtc.
341           If you run Linux on a multiprocessor machine and said Y to
342           "Symmetric Multi Processing" above, you should say Y here to read
343           and set the RTC in an SMP compatible fashion.
345           If you think you have a use for such a device (such as periodic data
346           sampling), then say Y here, and read <file:Documentation/rtc.txt>
347           for details.
349           This driver is also available as a module ( = code which can be
350           inserted in and removed from the running kernel whenever you want).
351           The module is called rtc. If you want to compile it as a module,
352           say M here and read <file:Documentation/modules.txt>.
354 source "drivers/pci/Kconfig"
356 config SUN_OPENPROMFS
357         tristate "Openprom tree appears in /proc/openprom"
358         help
359           If you say Y, the OpenPROM device tree will be available as a
360           virtual file system, which you can mount to /proc/openprom by "mount
361           -t openpromfs none /proc/openprom".
363           If you want to compile the /proc/openprom support as a module ( =
364           code which can be inserted in and removed from the running kernel
365           whenever you want), say M here and read
366           <file:Documentation/modules.txt>.
367           The module will be called openpromfs.  If unsure, say M.
369 config KCORE_ELF
370         bool
371         depends on PROC_FS
372         default y
373         ---help---
374           If you enabled support for /proc file system then the file
375           /proc/kcore will contain the kernel core image. This can be used
376           in gdb:
378           $ cd /usr/src/linux ; gdb vmlinux /proc/kcore
380           You have two choices here: ELF and A.OUT. Selecting ELF will make
381           /proc/kcore appear in ELF core format as defined by the Executable
382           and Linking Format specification. Selecting A.OUT will choose the
383           old "a.out" format which may be necessary for some old versions
384           of binutils or on some architectures.
386           This is especially useful if you have compiled the kernel with the
387           "-g" option to preserve debugging information. It is mainly used
388           for examining kernel data structures on the live kernel so if you
389           don't understand what this means or are not a kernel hacker, just
390           leave it at its default value ELF.
392 config SPARC32_COMPAT
393         bool "Kernel support for Linux/Sparc 32bit binary compatibility"
394         help
395           This allows you to run 32-bit binaries on your Ultra.
396           Everybody wants this; say Y.
398 config COMPAT
399         bool
400         depends on SPARC32_COMPAT
401         default y
403 config BINFMT_ELF32
404         tristate "Kernel support for 32-bit ELF binaries"
405         depends on SPARC32_COMPAT
406         help
407           This allows you to run 32-bit Linux/ELF binaries on your Ultra.
408           Everybody wants this; say Y.
410 config BINFMT_AOUT32
411         bool "Kernel support for 32-bit (ie. SunOS) a.out binaries"
412         depends on SPARC32_COMPAT
413         help
414           This allows you to run 32-bit a.out format binaries on your Ultra.
415           If you want to run SunOS binaries (see SunOS binary emulation below)
416           or other a.out binaries, say Y. If unsure, say N.
418 source "fs/Kconfig.binfmt"
420 config SUNOS_EMUL
421         bool "SunOS binary emulation"
422         help
423           This allows you to run most SunOS binaries.  If you want to do this,
424           say Y here and place appropriate files in /usr/gnemul/sunos. See
425           <http://www.ultralinux.org/faq.html> for more information.  If you
426           want to run SunOS binaries on an Ultra you must also say Y to
427           "Kernel support for 32-bit a.out binaries" above.
429 config SOLARIS_EMUL
430         tristate "Solaris binary emulation (EXPERIMENTAL)"
431         depends on EXPERIMENTAL
432         help
433           This is experimental code which will enable you to run (many)
434           Solaris binaries on your SPARC Linux machine.
436           This code is also available as a module ( = code which can be
437           inserted in and removed from the running kernel whenever you want).
438           The module will be called solaris. If you want to compile it as a
439           module, say M here and read <file:Documentation/modules.txt>.
441 source "drivers/parport/Kconfig"
443 config PRINTER
444         tristate "Parallel printer support"
445         depends on PARPORT
446         ---help---
447           If you intend to attach a printer to the parallel port of your Linux
448           box (as opposed to using a serial printer; if the connector at the
449           printer has 9 or 25 holes ["female"], then it's serial), say Y.
450           Also read the Printing-HOWTO, available from
451           <http://www.tldp.org/docs.html#howto>.
453           It is possible to share one parallel port among several devices
454           (e.g. printer and ZIP drive) and it is safe to compile the
455           corresponding drivers into the kernel.  If you want to compile this
456           driver as a module however ( = code which can be inserted in and
457           removed from the running kernel whenever you want), say M here and
458           read <file:Documentation/modules.txt> and
459           <file:Documentation/parport.txt>.  The module will be called lp.
461           If you have several parallel ports, you can specify which ports to
462           use with the "lp" kernel command line option.  (Try "man bootparam"
463           or see the documentation of your boot loader (lilo or loadlin) about
464           how to pass options to the kernel at boot time.)  The syntax of the
465           "lp" command line option can be found in <file:drivers/char/lp.c>.
467           If you have more than 8 printers, you need to increase the LP_NO
468           macro in lp.c and the PARPORT_MAX macro in parport.h.
470 config ENVCTRL
471         tristate "SUNW, envctrl support"
472         depends on PCI
473         help
474           Kernel support for temperature and fan monitoring on Sun SME
475           machines.
477           This code is also available as a module ( = code which can be
478           inserted in and removed from the running kernel whenever you want).
479           The module will be called envctrl. If you want to compile it as a
480           module, say M here and read <file:Documentation/modules.txt>.
482 config DISPLAY7SEG
483         tristate "7-Segment Display support"
484         depends on PCI
485         ---help---
486           This is the driver for the 7-segment display and LED present on
487           Sun Microsystems CompactPCI models CP1400 and CP1500.
489           This driver is also available as a module ( = code which can be
490           inserted in and removed from the running kernel whenever you want).
491           The module will be called display7seg. If you want to compile it
492           as a module, say M here and read <file:Documentation/modules.txt>.
494           If you do not have a CompactPCI model CP1400 or CP1500, or
495           another UltraSPARC-IIi-cEngine boardset with a 7-segment display,
496           you should say N to this option.
498 config WATCHDOG_CP1XXX
499         tristate "CP1XXX Hardware Watchdog support"
500         depends on PCI
501         ---help---
502           This is the driver for the hardware watchdog timers present on
503           Sun Microsystems CompactPCI models CP1400 and CP1500.
505           This driver is also available as a module ( = code which can be
506           inserted in and removed from the running kernel whenever you want).
507           The module will be called cpwatchdog. If you want to compile it
508           as a module, say M here and read <file:Documentation/modules.txt>.
510           If you do not have a CompactPCI model CP1400 or CP1500, or
511           another UltraSPARC-IIi-cEngine boardset with hardware watchdog,
512           you should say N to this option.
514 config WATCHDOG_RIO
515         tristate "RIO Hardware Watchdog support"
516         depends on PCI
517         help
518           Say Y here to support the hardware watchdog capability on Sun RIO
519           machines.  The watchdog timeout period is normally one minute but
520           can be changed with a boot-time parameter.
522 endmenu
524 source "drivers/base/Kconfig"
526 source "drivers/video/Kconfig"
528 source "drivers/serial/Kconfig"
530 source "drivers/sbus/char/Kconfig"
532 source "drivers/mtd/Kconfig"
535 menu "Block devices"
537 config BLK_DEV_FD
538         bool "Normal floppy disk support"
539         ---help---
540           If you want to use the floppy disk drive(s) of your PC under Linux,
541           say Y. Information about this driver, especially important for IBM
542           Thinkpad users, is contained in <file:Documentation/floppy.txt>.
543           That file also contains the location of the Floppy driver FAQ as
544           well as location of the fdutils package used to configure additional
545           parameters of the driver at run time.
547           This driver is also available as a module ( = code which can be
548           inserted in and removed from the running kernel whenever you want).
549           The module will be called floppy. If you want to compile it as a
550           module, say M here and read <file:Documentation/modules.txt>.
552 config BLK_DEV_LOOP
553         tristate "Loopback device support"
554         ---help---
555           Saying Y here will allow you to use a regular file as a block
556           device; you can then create a file system on that block device and
557           mount it just as you would mount other block devices such as hard
558           drive partitions, CD-ROM drives or floppy drives. The loop devices
559           are block special device files with major number 7 and typically
560           called /dev/loop0, /dev/loop1 etc.
562           This is useful if you want to check an ISO 9660 file system before
563           burning the CD, or if you want to use floppy images without first
564           writing them to floppy. Furthermore, some Linux distributions avoid
565           the need for a dedicated Linux partition by keeping their complete
566           root file system inside a DOS FAT file using this loop device
567           driver.
569           The loop device driver can also be used to "hide" a file system in a
570           disk partition, floppy, or regular file, either using encryption
571           (scrambling the data) or steganography (hiding the data in the low
572           bits of, say, a sound file). This is also safe if the file resides
573           on a remote file server. If you want to do this, you will first have
574           to acquire and install a kernel patch from
575           <ftp://ftp.kerneli.org/pub/kerneli/>, and then you need to
576           say Y to this option.
578           Note that alternative ways to use encrypted file systems are
579           provided by the cfs package, which can be gotten from
580           <ftp://ftp.kerneli.org/pub/kerneli/net-source/>, and the newer tcfs
581           package, available at <http://tcfs.dia.unisa.it/>. You do not need
582           to say Y here if you want to use one of these. However, using cfs
583           requires saying Y to "NFS file system support" below while using
584           tcfs requires applying a kernel patch. An alternative steganography
585           solution is provided by StegFS, also available from
586           <ftp://ftp.kerneli.org/pub/kerneli/net-source/>.
588           To use the loop device, you need the losetup utility and a recent
589           version of the mount program, both contained in the util-linux
590           package. The location and current version number of util-linux is
591           contained in the file <file:Documentation/Changes>.
593           Note that this loop device has nothing to do with the loopback
594           device used for network connections from the machine to itself.
596           If you want to compile this driver as a module ( = code which can be
597           inserted in and removed from the running kernel whenever you want),
598           say M here and read <file:Documentation/modules.txt>. The module
599           will be called loop.
601           Most users will answer N here.
603 config BLK_DEV_NBD
604         tristate "Network block device support"
605         depends on NET
606         ---help---
607           Saying Y here will allow your computer to be a client for network
608           block devices, i.e. it will be able to use block devices exported by
609           servers (mount file systems on them etc.). Communication between
610           client and server works over TCP/IP networking, but to the client
611           program this is hidden: it looks like a regular local file access to
612           a block device special file such as /dev/nd0.
614           Network block devices also allows you to run a block-device in
615           userland (making server and client physically the same computer,
616           communicating using the loopback network device).
618           Read <file:Documentation/nbd.txt> for more information, especially
619           about where to find the server code, which runs in user space and
620           does not need special kernel support.
622           Note that this has nothing to do with the network file systems NFS
623           or Coda; you can say N here even if you intend to use NFS or Coda.
625           If you want to compile this driver as a module ( = code which can be
626           inserted in and removed from the running kernel whenever you want),
627           say M here and read <file:Documentation/modules.txt>. The module
628           will be called nbd.
630           If unsure, say N.
632 source "drivers/md/Kconfig"
634 config BLK_DEV_RAM
635         tristate "RAM disk support"
636         ---help---
637           Saying Y here will allow you to use a portion of your RAM memory as
638           a block device, so that you can make file systems on it, read and
639           write to it and do all the other things that you can do with normal
640           block devices (such as hard drives). It is usually used to load and
641           store a copy of a minimal root file system off of a floppy into RAM
642           during the initial install of Linux.
644           Note that the kernel command line option "ramdisk=XX" is now
645           obsolete. For details, read <file:Documentation/ramdisk.txt>.
647           If you want to compile this as a module ( = code which can be
648           inserted in and removed from the running kernel whenever you want),
649           say M and read <file:Documentation/modules.txt>. The module will be
650           called rd.
652           Most normal users won't need the RAM disk functionality, and can
653           thus say N here.
655 config BLK_DEV_RAM_SIZE
656         int "Default RAM disk size"
657         depends on BLK_DEV_RAM
658         default "4096"
659         help
660           The default value is 4096. Only change this if you know what are
661           you doing. If you are using IBM S/390, then set this to 8192.
663 config BLK_DEV_INITRD
664         bool "Initial RAM disk (initrd) support"
665         depends on BLK_DEV_RAM=y
666         help
667           The initial RAM disk is a RAM disk that is loaded by the boot loader
668           (loadlin or lilo) and that is mounted as root before the normal boot
669           procedure. It is typically used to load modules needed to mount the
670           "real" root file system, etc. See <file:Documentation/initrd.txt>
671           for details.
673 endmenu
676 source "drivers/ide/Kconfig"
679 menu "SCSI support"
681 config SCSI
682         tristate "SCSI support"
683         ---help---
684           If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
685           any other SCSI device under Linux, say Y and make sure that you know
686           the name of your SCSI host adapter (the card inside your computer
687           that "speaks" the SCSI protocol, also called SCSI controller),
688           because you will be asked for it.
690           You also need to say Y here if you want support for the parallel
691           port version of the 100 MB IOMEGA ZIP drive.
693           This driver is also available as a module ( = code which can be
694           inserted in and removed from the running kernel whenever you want).
695           The module will be called scsi_mod.  If you want to compile it as
696           a module, say M here and read <file:Documentation/modules.txt> and
697           <file:Documentation/scsi/scsi.txt>.  However, do not compile this as a
698           module if your root file system (the one containing the directory /)
699           is located on a SCSI device.
701 source "drivers/scsi/Kconfig"
703 endmenu
705 source "drivers/fc4/Kconfig"
707 if PCI
708 source "drivers/message/fusion/Kconfig"
709 endif
711 source "drivers/ieee1394/Kconfig"
713 source "net/Kconfig"
715 source "net/ax25/Kconfig"
717 source "net/irda/Kconfig"
719 source "drivers/isdn/Kconfig"
721 source "drivers/telephony/Kconfig"
723 # This one must be before the filesystem configs. -DaveM
725 menu "Unix 98 PTY support"
727 config UNIX98_PTYS
728         bool "Unix98 PTY support"
729         ---help---
730           A pseudo terminal (PTY) is a software device consisting of two
731           halves: a master and a slave. The slave device behaves identical to
732           a physical terminal; the master device is used by a process to
733           read data from and write data to the slave, thereby emulating a
734           terminal. Typical programs for the master side are telnet servers
735           and xterms.
737           Linux has traditionally used the BSD-like names /dev/ptyxx for
738           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
739           has a number of problems. The GNU C library glibc 2.1 and later,
740           however, supports the Unix98 naming standard: in order to acquire a
741           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
742           terminal is then made available to the process and the pseudo
743           terminal slave can be accessed as /dev/pts/<number>. What was
744           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
746           The entries in /dev/pts/ are created on the fly by a virtual
747           file system; therefore, if you say Y here you should say Y to
748           "/dev/pts file system for Unix98 PTYs" as well.
750           If you want to say Y here, you need to have the C library glibc 2.1
751           or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
752           Read the instructions in <file:Documentation/Changes> pertaining to
753           pseudo terminals. It's safe to say N.
755 config UNIX98_PTY_COUNT
756         int "Maximum number of Unix98 PTYs in use (0-2048)"
757         depends on UNIX98_PTYS
758         default "256"
759         help
760           The maximum number of Unix98 PTYs that can be used at any one time.
761           The default is 256, and should be enough for desktop systems. Server
762           machines which support incoming telnet/rlogin/ssh connections and/or
763           serve several X terminals may want to increase this: every incoming
764           connection and every xterm uses up one PTY.
766           When not in use, each additional set of 256 PTYs occupy
767           approximately 8 KB of kernel memory on 32-bit architectures.
769 endmenu
772 menu "Video For Linux"
774 config VIDEO_DEV
775         tristate "Video For Linux"
776         ---help---
777           Support for audio/video capture and overlay devices and FM radio
778           cards. The exact capabilities of each device vary. User tools for
779           this are available from
780           <ftp://ftp.uk.linux.org/pub/linux/video4linux/>.
782           If you are interested in writing a driver for such an audio/video
783           device or user software interacting with such a driver, please read
784           the file <file:Documentation/video4linux/API.html>.
786           This driver is also available as a module called videodev ( = code
787           which can be inserted in and removed from the running kernel
788           whenever you want). If you want to compile it as a module, say M
789           here and read <file:Documentation/modules.txt>.
791 config VIDEO_BT848
792         tristate "BT848 Video For Linux"
793         depends on PCI && VIDEO_DEV
794         ---help---
795           Support for BT848 based frame grabber/overlay boards. This includes
796           the Miro, Hauppauge and STB boards. Please read the material in
797           <file:Documentation/video4linux/bttv> for more information.
799           If you say Y or M here, you need to say Y or M to "I2C support" and
800           "I2C bit-banging interfaces" in the character device section.
802           This driver is available as a module called bttv ( = code
803           which can be inserted in and removed from the running kernel
804           whenever you want). If you want to compile it as a module, say M
805           here and read <file:Documentation/modules.txt>.
807 endmenu
810 menu "XFree86 DRI support"
812 config DRM
813         bool "Direct Rendering Manager (XFree86 DRI support)"
814         help
815           Kernel-level support for the Direct Rendering Infrastructure (DRI)
816           introduced in XFree86 4.0. If you say Y here, you need to select
817           the module that's right for your graphics card from the list below.
818           These modules provide support for synchronization, security, and
819           DMA transfers. Please see <http://dri.sourceforge.net/> for more
820           details.  You should also select and configure AGP
821           (/dev/agpgart) support.
823 config DRM_FFB
824         tristate "Creator/Creator3D"
825         depends on DRM
826         help
827           Choose this option if you have one of Sun's Creator3D-based graphics
828           and frame buffer cards.  Product page at
829           <http://www.sun.com/desktop/products/Graphics/creator3d.html>.
831 config DRM_TDFX
832         tristate "3dfx Banshee/Voodoo3+"
833         depends on DRM
834         help
835           Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
836           graphics card.  If M is selected, the module will be called tdfx.
838 config DRM_R128
839         tristate "ATI Rage 128"
840         depends on DRM
841         help
842           Choose this option if you have an ATI Rage 128 graphics card.  If M
843           is selected, the module will be called r128.  AGP support for
844           this card is strongly suggested (unless you have a PCI version).
846 endmenu
848 source "drivers/input/Kconfig"
850 source "fs/Kconfig"
853 menu "Sound"
855 config SOUND
856         tristate "Sound card support"
857         ---help---
858           If you have a sound card in your computer, i.e. if it can say more
859           than an occasional beep, say Y.  Be sure to have all the information
860           about your sound card and its configuration down (I/O port,
861           interrupt and DMA channel), because you will be asked for it.
863           You want to read the Sound-HOWTO, available from
864           <http://www.tldp.org/docs.html#howto>. General information about
865           the modular sound system is contained in the files
866           <file:Documentation/sound/Introduction>.  The file
867           <file:Documentation/sound/README.OSS> contains some slightly
868           outdated but still useful information as well.
870           If you have a PnP sound card and you want to configure it at boot
871           time using the ISA PnP tools (read
872           <http://www.roestock.demon.co.uk/isapnptools/>), then you need to
873           compile the sound card support as a module ( = code which can be
874           inserted in and removed from the running kernel whenever you want)
875           and load that module after the PnP configuration is finished.  To do
876           this, say M here and read <file:Documentation/modules.txt> as well
877           as <file:Documentation/sound/README.modules>; the module will be
878           called soundcore.
880           I'm told that even without a sound card, you can make your computer
881           say more than an occasional beep, by programming the PC speaker.
882           Kernel patches and supporting utilities to do that are in the pcsp
883           package, available at <ftp://ftp.infradead.org/pub/pcsp/>.
885 source "sound/Kconfig"
887 endmenu
889 source "drivers/usb/Kconfig"
891 source "net/bluetooth/Kconfig"
894 menu "Watchdog"
896 config SOFT_WATCHDOG
897         tristate "Software watchdog"
898         help
899           A software monitoring watchdog. This will fail to reboot your system
900           from some situations that the hardware watchdog will recover
901           from. Equally it's a lot cheaper to install.
903           This driver is also available as a module ( = code which can be
904           inserted in and removed from the running kernel whenever you want).
905           If you want to compile it as a module, say M here and read
906           <file:Documentation/modules.txt>. The module will be called
907           softdog.
909 endmenu
911 source "arch/sparc64/oprofile/Kconfig"
913 menu "Kernel hacking"
915 config DEBUG_KERNEL
916         bool "Kernel debugging"
917         help
918           Say Y here if you are developing drivers or trying to debug and
919           identify kernel problems.
921 config DEBUG_SLAB
922         bool "Debug memory allocations"
923         depends on DEBUG_KERNEL
924         help
925           Say Y here to have the kernel do limited verification on memory
926           allocation as well as poisoning memory on free to catch use of freed
927           memory.
929 config MAGIC_SYSRQ
930         bool "Magic SysRq key"
931         depends on DEBUG_KERNEL
932         help
933           If you say Y here, you will have some control over the system even
934           if the system crashes for example during kernel debugging (e.g., you
935           will be able to flush the buffer cache to disk, reboot the system
936           immediately or dump some status information). This is accomplished
937           by pressing various keys while holding SysRq (Alt+PrintScreen). It
938           also works on a serial console (on PC hardware at least), if you
939           send a BREAK and then within 5 seconds a command keypress. The
940           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
941           unless you really know what this hack does.
943 config DEBUG_SPINLOCK
944         bool "Spinlock debugging"
945         depends on DEBUG_KERNEL
946         help
947           Say Y here and build SMP to catch missing spinlock initialization
948           and certain other kinds of spinlock errors commonly made.  This is
949           best used in conjunction with the NMI watchdog so that spinlock
950           deadlocks are also debuggable.
952 config DEBUG_SPINLOCK_SLEEP
953         bool "Sleep-inside-spinlock checking"
954         help
955           If you say Y here, various routines which may sleep will become very
956           noisy if they are called with a spinlock held.        
958 config DEBUG_BUGVERBOSE
959         bool "Verbose BUG() reporting (adds 70K)"
960         depends on DEBUG_KERNEL
961         help
962           Say Y here to make BUG() panics output the file name and line number
963           of the BUG call as well as the EIP and oops trace.  This aids
964           debugging but costs about 70-100K of memory.
966 config DEBUG_DCFLUSH
967         bool "D-cache flush debugging"
968         depends on DEBUG_KERNEL
970 config STACK_DEBUG
971         bool "Stack Overflow Detection Support"
973 config MCOUNT
974         bool
975         depends on STACK_DEBUG
976         default y
978 endmenu
980 source "security/Kconfig"
982 source "crypto/Kconfig"
984 source "lib/Kconfig"