# $Id: config.in,v 1.113 2002/01/24 22:14:44 davem Exp $
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#

mainmenu "Linux/SPARC Kernel Configuration"

config MMU
	bool
	default y

config UID16
	bool
	default y

config HIGHMEM
	bool
	default y

config GENERIC_ISA_DMA
	bool
	default y

source "init/Kconfig"


menu "General setup"

config VT
	bool
	default y
	---help---
	  If you say Y here, you will get support for terminal devices with
	  display and keyboard devices. These are called "virtual" because you
	  can run several virtual terminals (also called virtual consoles) on
	  one physical terminal. This is rather useful, for example one
	  virtual terminal can collect system messages and warnings, another
	  one can be used for a text-mode user session, and a third could run
	  an X session, all in parallel. Switching between virtual terminals
	  is done with certain key combinations, usually Alt-<function key>.

	  The setterm command ("man setterm") can be used to change the
	  properties (such as colors or beeping) of a virtual terminal. The
	  man page console_codes(4) ("man console_codes") contains the special
	  character sequences that can be used to change those properties
	  directly. The fonts used on virtual terminals can be changed with
	  the setfont ("man setfont") command and the key bindings are defined
	  with the loadkeys ("man loadkeys") command.

	  You need at least one virtual terminal device in order to make use
	  of your keyboard and monitor. Therefore, only people configuring an
	  embedded system would want to say N here in order to save some
	  memory; the only way to log into such a system is then via a serial
	  or network connection.

	  If unsure, say Y, or else you won't be able to do much with your new
	  shiny Linux system :-)

config VT_CONSOLE
	bool
	default y
	---help---
	  The system console is the device which receives all kernel messages
	  and warnings and which allows logins in single user mode. If you
	  answer Y here, a virtual terminal (the device used to interact with
	  a physical terminal) can be used as system console. This is the most
	  common mode of operations, so you should say Y here unless you want
	  the kernel messages be output only to a serial port (in which case
	  you should say Y to "Console on serial port", below).

	  If you do say Y here, by default the currently visible virtual
	  terminal (/dev/tty0) will be used as system console. You can change
	  that with a kernel command line option such as "console=tty3" which
	  would use the third virtual terminal as system console. (Try "man
	  bootparam" or see the documentation of your boot loader (lilo or
	  loadlin) about how to pass options to the kernel at boot time.)

	  If unsure, say Y.

config HW_CONSOLE
	bool
	default y

config SMP
	bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
	---help---
	  This enables support for systems with more than one CPU. If you have
	  a system with only one CPU, like most personal computers, say N. If
	  you have a system with more than one CPU, say Y.

	  If you say N here, the kernel will run on single and multiprocessor
	  machines, but will use only one CPU of a multiprocessor machine. If
	  you say Y here, the kernel will run on many, but not all,
	  singleprocessor machines. On a singleprocessor machine, the kernel
	  will run faster if you say N here.

	  Note that if you say Y here and choose architecture "586" or
	  "Pentium" under "Processor family", the kernel will not work on 486
	  architectures. Similarly, multiprocessor kernels for the "PPro"
	  architecture may not work on all Pentium based boards.

	  People using multiprocessor machines who say Y here should also say
	  Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
	  Management" code will be disabled if you say Y here.

	  See also the <file:Documentation/smp.tex>,
	  <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>,
	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
	  <http://www.linuxdoc.org/docs.html#howto>.

	  If you don't know what to do here, say N.

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

# Identify this as a Sparc32 build
config SPARC32
	bool
	default y
	help
	  SPARC is a family of RISC microprocessors designed and marketed by
	  Sun Microsystems, incorporated.  They are very widely found in Sun
	  workstations and clones. This port covers the original 32-bit SPARC;
	  it is old and stable and usually considered one of the "big three"
	  along with the Intel and Alpha ports.  The UltraLinux project
	  maintains both the SPARC32 and SPARC64 ports; its web page is
	  available at <http://www.ultralinux.org/>.

# Global things across all Sun machines.
config ISA
	bool
	help
	  ISA is found on Espresso only and is not supported currently.
	  Say N

config EISA
	bool
	help
	  EISA is not supported.
	  Say N

config MCA
	bool
	help
	  MCA is not supported.
	  Say N

config PCMCIA
	tristate
	---help---
	  Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
	  computer.  These are credit-card size devices such as network cards,
	  modems or hard drives often used with laptops computers.  There are
	  actually two varieties of these cards: the older 16 bit PCMCIA cards
	  and the newer 32 bit CardBus cards.  If you want to use CardBus
	  cards, you need to say Y here and also to "CardBus support" below.

	  To use your PC-cards, you will need supporting software from David
	  Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
	  for location).  Please also read the PCMCIA-HOWTO, available from
	  <http://www.linuxdoc.org/docs.html#howto>.

	  This driver is also available as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want).
	  When compiled this way, there will be modules called pcmcia_core
	  and ds.  If you want to compile it as a module, say M here and
	  read <file:Documentation/modules.txt>.

config SBUS
	bool
	default y

config SBUSCHAR
	bool
	default y

config SERIAL_CONSOLE
	bool
	default y
	---help---
	  If you say Y here, it will be possible to use a serial port as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
	  mode). This could be useful if some terminal or printer is connected
	  to that serial port.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyS1". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

	  If you don't have a VGA card installed and you say Y here, the
	  kernel will automatically use the first serial line, /dev/ttyS0, as
	  system console.

	  If unsure, say N.

config SUN_AUXIO
	bool
	default y

config SUN_IO
	bool
	default y

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

config RWSEM_XCHGADD_ALGORITHM
	bool

config SUN_PM
	bool
	default y
	help
	  Enable power management and CPU standby features on supported 
	  SPARC platforms. 

config SUN4
	bool "Support for SUN4 machines (disables SUN4[CDM] support)"
	help
	  Say Y here if, and only if, your machine is a sun4. Note that
	  a kernel compiled with this option will run only on sun4.
	  (And the current version will probably work only on sun4/330.)

if !SUN4

config PCI
	bool "Support for PCI and PS/2 keyboard/mouse"
	help
	  CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
	  CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
	  All of these platforms are extremely obscure, so say N if unsure.

source "drivers/pci/Kconfig"

endif

config SUN_OPENPROMFS
	tristate "Openprom tree appears in /proc/openprom"
	help
	  If you say Y, the OpenPROM device tree will be available as a
	  virtual file system, which you can mount to /proc/openprom by "mount
	  -t openpromfs none /proc/openprom".

	  If you want to compile the /proc/openprom support as a module ( =
	  code which can be inserted in and removed from the running kernel
	  whenever you want), say M here and read
	  <file:Documentation/modules.txt>.
	  The module will be called openpromfs.  If unsure, say M.

config KCORE_ELF
	bool
	depends on PROC_FS
	default y
	---help---
	  If you enabled support for /proc file system then the file
	  /proc/kcore will contain the kernel core image. This can be used
	  in gdb:

	  $ cd /usr/src/linux ; gdb vmlinux /proc/kcore

	  You have two choices here: ELF and A.OUT. Selecting ELF will make
	  /proc/kcore appear in ELF core format as defined by the Executable
	  and Linking Format specification. Selecting A.OUT will choose the
	  old "a.out" format which may be necessary for some old versions
	  of binutils or on some architectures.

	  This is especially useful if you have compiled the kernel with the
	  "-g" option to preserve debugging information. It is mainly used
	  for examining kernel data structures on the live kernel so if you
	  don't understand what this means or are not a kernel hacker, just
	  leave it at its default value ELF.

config BINFMT_AOUT
	tristate "Kernel support for a.out binaries"
	---help---
	  A.out (Assembler.OUTput) is a set of formats for libraries and
	  executables used in the earliest versions of UNIX. Linux used the
	  a.out formats QMAGIC and ZMAGIC until they were replaced with the
	  ELF format.

	  As more and more programs are converted to ELF, the use for a.out
	  will gradually diminish. If you disable this option it will reduce
	  your kernel by one page. This is not much and by itself does not
	  warrant removing support. However its removal is a good idea if you
	  wish to ensure that absolutely none of your programs will use this
	  older executable format. If you don't know what to answer at this
	  point then answer Y. If someone told you "You need a kernel with
	  QMAGIC support" then you'll have to say Y here. You may answer M to
	  compile a.out support as a module and later load the module when you
	  want to use a program or library in a.out format. The module will be
	  called binfmt_aout. Saying M or N here is dangerous though,
	  because some crucial programs on your system might still be in A.OUT
	  format.

config BINFMT_ELF
	tristate "Kernel support for ELF binaries"
	---help---
	  ELF (Executable and Linkable Format) is a format for libraries and
	  executables used across different architectures and operating
	  systems. Saying Y here will enable your kernel to run ELF binaries
	  and enlarge it by about 13 KB. ELF support under Linux has now all
	  but replaced the traditional Linux a.out formats (QMAGIC and ZMAGIC)
	  because it is portable (this does *not* mean that you will be able
	  to run executables from different architectures or operating systems
	  however) and makes building run-time libraries very easy. Many new
	  executables are distributed solely in ELF format. You definitely
	  want to say Y here.

	  Information about ELF is contained in the ELF HOWTO available from
	  <http://www.linuxdoc.org/docs.html#howto>.

	  If you find that after upgrading from Linux kernel 1.2 and saying Y
	  here, you still can't run any ELF binaries (they just crash), then
	  you'll have to install the newest ELF runtime libraries, including
	  ld.so (check the file <file:Documentation/Changes> for location and
	  latest version).

	  If you want to compile this as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M here and read <file:Documentation/modules.txt>.  The module
	  will be called binfmt_elf. Saying M or N here is dangerous because
	  some crucial programs on your system might be in ELF format.

config BINFMT_MISC
	tristate "Kernel support for MISC binaries"
	---help---
	  If you say Y here, it will be possible to plug wrapper-driven binary
	  formats into the kernel. You will like this especially when you use
	  programs that need an interpreter to run like Java, Python or
	  Emacs-Lisp. It's also useful if you often run DOS executables under
	  the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from
	  <http://www.linuxdoc.org/docs.html#howto>). Once you have
	  registered such a binary class with the kernel, you can start one of
	  those programs simply by typing in its name at a shell prompt; Linux
	  will automatically feed it to the correct interpreter.

	  You can do other nice things, too. Read the file
	  <file:Documentation/binfmt_misc.txt> to learn how to use this
	  feature, and <file:Documentation/java.txt> for information about how
	  to include Java support.

	  You must say Y to "/proc file system support" (CONFIG_PROC_FS) to
	  use this part of the kernel.

	  You may say M here for module support and later load the module when
	  you have use for it; the module is called binfmt_misc. If you
	  don't know what to answer at this point, say Y.

config SUNOS_EMUL
	bool "SunOS binary emulation"
	help
	  This allows you to run most SunOS binaries.  If you want to do this,
	  say Y here and place appropriate files in /usr/gnemul/sunos. See
	  <http://www.ultralinux.org/faq.html> for more information.  If you
	  want to run SunOS binaries on an Ultra you must also say Y to
	  "Kernel support for 32-bit a.out binaries" above.

source "drivers/parport/Kconfig"

config PRINTER
	tristate "Parallel printer support"
	depends on PARPORT
	---help---
	  If you intend to attach a printer to the parallel port of your Linux
	  box (as opposed to using a serial printer; if the connector at the
	  printer has 9 or 25 holes ["female"], then it's serial), say Y.
	  Also read the Printing-HOWTO, available from
	  <http://www.linuxdoc.org/docs.html#howto>.

	  It is possible to share one parallel port among several devices
	  (e.g. printer and ZIP drive) and it is safe to compile the
	  corresponding drivers into the kernel.  If you want to compile this
	  driver as a module however ( = code which can be inserted in and
	  removed from the running kernel whenever you want), say M here and
	  read <file:Documentation/modules.txt> and
	  <file:Documentation/parport.txt>.  The module will be called lp.

	  If you have several parallel ports, you can specify which ports to
	  use with the "lp" kernel command line option.  (Try "man bootparam"
	  or see the documentation of your boot loader (lilo or loadlin) about
	  how to pass options to the kernel at boot time.)  The syntax of the
	  "lp" command line option can be found in <file:drivers/char/lp.c>.

	  If you have more than 8 printers, you need to increase the LP_NO
	  macro in lp.c and the PARPORT_MAX macro in parport.h.

endmenu

source "drivers/video/Kconfig"

source "drivers/mtd/Kconfig"

source "drivers/serial/Kconfig"

if !SUN4
source "drivers/sbus/char/Kconfig"
endif


menu "Block devices"

config BLK_DEV_FD
	bool "Normal floppy disk support"
	---help---
	  If you want to use the floppy disk drive(s) of your PC under Linux,
	  say Y. Information about this driver, especially important for IBM
	  Thinkpad users, is contained in <file:Documentation/floppy.txt>.
	  That file also contains the location of the Floppy driver FAQ as
	  well as location of the fdutils package used to configure additional
	  parameters of the driver at run time.

	  This driver is also available as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want).
	  The module will be called floppy. If you want to compile it as a
	  module, say M here and read <file:Documentation/modules.txt>.

config BLK_DEV_LOOP
	tristate "Loopback device support"
	---help---
	  Saying Y here will allow you to use a regular file as a block
	  device; you can then create a file system on that block device and
	  mount it just as you would mount other block devices such as hard
	  drive partitions, CD-ROM drives or floppy drives. The loop devices
	  are block special device files with major number 7 and typically
	  called /dev/loop0, /dev/loop1 etc.

	  This is useful if you want to check an ISO 9660 file system before
	  burning the CD, or if you want to use floppy images without first
	  writing them to floppy. Furthermore, some Linux distributions avoid
	  the need for a dedicated Linux partition by keeping their complete
	  root file system inside a DOS FAT file using this loop device
	  driver.

	  The loop device driver can also be used to "hide" a file system in a
	  disk partition, floppy, or regular file, either using encryption
	  (scrambling the data) or steganography (hiding the data in the low
	  bits of, say, a sound file). This is also safe if the file resides
	  on a remote file server. If you want to do this, you will first have
	  to acquire and install a kernel patch from
	  <ftp://ftp.kerneli.org/pub/kerneli/>, and then you need to
	  say Y to this option.

	  Note that alternative ways to use encrypted file systems are
	  provided by the cfs package, which can be gotten from
	  <ftp://ftp.kerneli.org/pub/kerneli/net-source/>, and the newer tcfs
	  package, available at <http://tcfs.dia.unisa.it/>. You do not need
	  to say Y here if you want to use one of these. However, using cfs
	  requires saying Y to "NFS file system support" below while using
	  tcfs requires applying a kernel patch. An alternative steganography
	  solution is provided by StegFS, also available from
	  <ftp://ftp.kerneli.org/pub/kerneli/net-source/>.

	  To use the loop device, you need the losetup utility and a recent
	  version of the mount program, both contained in the util-linux
	  package. The location and current version number of util-linux is
	  contained in the file <file:Documentation/Changes>.

	  Note that this loop device has nothing to do with the loopback
	  device used for network connections from the machine to itself.

	  If you want to compile this driver as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M here and read <file:Documentation/modules.txt>. The module
	  will be called loop.

	  Most users will answer N here.

config BLK_DEV_NBD
	tristate "Network block device support"
	depends on NET
	---help---
	  Saying Y here will allow your computer to be a client for network
	  block devices, i.e. it will be able to use block devices exported by
	  servers (mount file systems on them etc.). Communication between
	  client and server works over TCP/IP networking, but to the client
	  program this is hidden: it looks like a regular local file access to
	  a block device special file such as /dev/nd0.

	  Network block devices also allows you to run a block-device in
	  userland (making server and client physically the same computer,
	  communicating using the loopback network device).

	  Read <file:Documentation/nbd.txt> for more information, especially
	  about where to find the server code, which runs in user space and
	  does not need special kernel support.

	  Note that this has nothing to do with the network file systems NFS
	  or Coda; you can say N here even if you intend to use NFS or Coda.

	  If you want to compile this driver as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M here and read <file:Documentation/modules.txt>. The module
	  will be called nbd.

	  If unsure, say N.

source "drivers/md/Kconfig"

config BLK_DEV_RAM
	tristate "RAM disk support"
	---help---
	  Saying Y here will allow you to use a portion of your RAM memory as
	  a block device, so that you can make file systems on it, read and
	  write to it and do all the other things that you can do with normal
	  block devices (such as hard drives). It is usually used to load and
	  store a copy of a minimal root file system off of a floppy into RAM
	  during the initial install of Linux.

	  Note that the kernel command line option "ramdisk=XX" is now
	  obsolete. For details, read <file:Documentation/ramdisk.txt>.

	  If you want to compile this as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M and read <file:Documentation/modules.txt>. The module will be
	  called rd.

	  Most normal users won't need the RAM disk functionality, and can
	  thus say N here.

config BLK_DEV_RAM_SIZE
	int "Default RAM disk size"
	depends on BLK_DEV_RAM
	default "4096"
	help
	  The default value is 4096. Only change this if you know what are
	  you doing. If you are using IBM S/390, then set this to 8192.

config BLK_DEV_INITRD
	bool "Initial RAM disk (initrd) support"
	depends on BLK_DEV_RAM=y
	help
	  The initial RAM disk is a RAM disk that is loaded by the boot loader
	  (loadlin or lilo) and that is mounted as root before the normal boot
	  procedure. It is typically used to load modules needed to mount the
	  "real" root file system, etc. See <file:Documentation/initrd.txt>
	  for details.

endmenu

# Don't frighten a common SBus user
if PCI

menu "ATA/ATAPI/MFM/RLL support"

config IDE
	tristate "ATA/ATAPI/MFM/RLL support"
	---help---
	  If you say Y here, your kernel will be able to manage low cost mass
	  storage units such as ATA/(E)IDE and ATAPI units. The most common
	  cases are IDE hard drives and ATAPI CD-ROM drives.

	  If your system is pure SCSI and doesn't use these interfaces, you
	  can say N here.

	  Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
	  for mass storage units such as hard disks. It was designed by
	  Western Digital and Compaq Computer in 1984. It was then named
	  ST506. Quite a number of disks use the IDE interface.

	  AT Attachment (ATA) is the superset of the IDE specifications.
	  ST506 was also called ATA-1.

	  Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
	  ATA-3. It provides support for larger disks (up to 8.4GB by means of
	  the LBA standard), more disks (4 instead of 2) and for other mass
	  storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
	  ATA-4 and provides faster (and more CPU friendly) transfer modes
	  than previous PIO (Programmed processor Input/Output) from previous
	  ATA/IDE standards by means of fast DMA controllers.

	  ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
	  CD-ROM drives, similar in many respects to the SCSI protocol.

	  SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
	  designed in order to prevent data corruption and disk crash by
	  detecting pre hardware failure conditions (heat, access time, and
	  the like...). Disks built since June 1995 may follow this standard.
	  The kernel itself don't manage this; however there are quite a
	  number of user programs such as smart that can query the status of
	  SMART parameters disk.

	  If you want to compile this driver as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M here and read <file:Documentation/modules.txt>. The module
	  will be called ide.

	  For further information, please read <file:Documentation/ide.txt>.

	  If unsure, say Y.

source "drivers/ide/Kconfig"

endmenu

endif

source "drivers/isdn/Kconfig"


menu "SCSI support"

config SCSI
	tristate "SCSI support"
	---help---
	  If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
	  any other SCSI device under Linux, say Y and make sure that you know
	  the name of your SCSI host adapter (the card inside your computer
	  that "speaks" the SCSI protocol, also called SCSI controller),
	  because you will be asked for it.

	  You also need to say Y here if you want support for the parallel
	  port version of the 100 MB IOMEGA ZIP drive.

	  This driver is also available as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want).
	  The module will be called scsi_mod.  If you want to compile it as
	  a module, say M here and read <file:Documentation/modules.txt> and
	  <file:Documentation/scsi/scsi.txt>.  However, do not compile this as a
	  module if your root file system (the one containing the directory /)
	  is located on a SCSI device.

comment "SCSI support type (disk, tape, CDrom)"
	depends on SCSI

config BLK_DEV_SD
	tristate "SCSI disk support"
	depends on SCSI
	---help---
	  If you want to use a SCSI hard disk or the SCSI or parallel port
	  version of the IOMEGA ZIP drive under Linux, say Y and read the
	  SCSI-HOWTO, the Disk-HOWTO and the Multi-Disk-HOWTO, available from
	  <http://www.linuxdoc.org/docs.html#howto>. This is NOT for SCSI
	  CD-ROMs.

	  This driver is also available as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want).
	  The module will be called sd_mod.  If you want to compile it as a
	  module, say M here and read <file:Documentation/modules.txt> and
	  <file:Documentation/scsi/scsi.txt>.  Do not compile this driver as a
	  module if your root file system (the one containing the directory /)
	  is located on a SCSI disk. In this case, do not compile the driver
	  for your SCSI host adapter (below) as a module either.

config SD_EXTRA_DEVS
	int "Maximum number of SCSI disks that can be loaded as modules"
	depends on BLK_DEV_SD
	default "40"
	---help---
	  This controls the amount of additional space allocated in tables for
	  drivers that are loaded as modules after the kernel is booted.  In
	  the event that the SCSI core itself was loaded as a module, this
	  value is the number of additional disks that can be loaded after the
	  first host driver is loaded.

	  Admittedly this isn't pretty, but there are tons of race conditions
	  involved with resizing the internal arrays on the fly.  Someday this
	  flag will go away, and everything will work automatically.

	  If you don't understand what's going on, go with the default.

config CHR_DEV_ST
	tristate "SCSI tape support"
	depends on SCSI
	---help---
	  If you want to use a SCSI tape drive under Linux, say Y and read the
	  SCSI-HOWTO, available from
	  <http://www.linuxdoc.org/docs.html#howto>, and
	  <file:Documentation/scsi/st.txt> in the kernel source.  This is NOT
	  for SCSI CD-ROMs.

	  This driver is also available as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want).
	  The module will be called st. If you want to compile it as a
	  module, say M here and read <file:Documentation/modules.txt> and
	  <file:Documentation/scsi/scsi.txt>.

config CHR_DEV_OSST
	tristate "SCSI OnStream SC-x0 tape support"
	depends on SCSI
	---help---
	  The OnStream SC-x0 SCSI tape drives can not be driven by the
	  standard st driver, but instead need this special osst driver and
	  use the  /dev/osstX char device nodes (major 206).  Via usb-storage
	  and ide-scsi, you may be able to drive the USB-x0 and DI-x0 drives
	  as well.  Note that there is also a second generation of OnStream
	  tape drives (ADR-x0) that supports the standard SCSI-2 commands for
	  tapes (QIC-157) and can be driven by the standard driver st.
	  For more information, you may have a look at the SCSI-HOWTO
	  <http://www.linuxdoc.org/docs.html#howto>  and
	  <file:Documentation/scsi/osst.txt>  in the kernel source.
	  More info on the OnStream driver may be found on
	  <http://linux1.onstream.nl/test/>
	  Please also have a look at the standard st docu, as most of it
	  applies to osst as well.

	  This driver is also available as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want).
	  The module will be called osst. If you want to compile it as a
	  module, say M here and read <file:Documentation/modules.txt> and
	  <file:Documentation/scsi/scsi.txt>.

config BLK_DEV_SR
	tristate "SCSI CDROM support"
	depends on SCSI
	---help---
	  If you want to use a SCSI CD-ROM under Linux, say Y and read the
	  SCSI-HOWTO and the CD-ROM-HOWTO at
	  <http://www.linuxdoc.org/docs.html#howto>. Also make sure to say Y
	  or M to "ISO 9660 CD-ROM file system support" later.

	  This driver is also available as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want).
	  The module will be called sr_mod. If you want to compile it as a
	  module, say M here and read <file:Documentation/modules.txt> and
	  <file:Documentation/scsi/scsi.txt>.

config BLK_DEV_SR_VENDOR
	bool "Enable vendor-specific extensions (for SCSI CDROM)"
	depends on BLK_DEV_SR
	help
	  This enables the usage of vendor specific SCSI commands. This is
	  required to support multisession CDs with old NEC/TOSHIBA cdrom
	  drives (and HP Writers). If you have such a drive and get the first
	  session only, try saying Y here; everybody else says N.

config SR_EXTRA_DEVS
	int "Maximum number of CDROM devices that can be loaded as modules"
	depends on BLK_DEV_SR
	default "2"
	---help---
	  This controls the amount of additional space allocated in tables for
	  drivers that are loaded as modules after the kernel is booted. In
	  the event that the SCSI core itself was loaded as a module, this
	  value is the number of additional CD-ROMs that can be loaded after
	  the first host driver is loaded.

	  Admittedly this isn't pretty, but there are tons of race conditions
	  involved with resizing the internal arrays on the fly.  Someday this
	  flag will go away, and everything will work automatically.

	  If you don't understand what's going on, go with the default.

config CHR_DEV_SG
	tristate "SCSI generic support"
	depends on SCSI
	---help---
	  If you want to use SCSI scanners, synthesizers or CD-writers or just
	  about anything having "SCSI" in its name other than hard disks,
	  CD-ROMs or tapes, say Y here. These won't be supported by the kernel
	  directly, so you need some additional software which knows how to
	  talk to these devices using the SCSI protocol:

	  For scanners, look at SANE (<http://www.mostang.com/sane/>). For CD
	  writer software look at Cdrtools
	  (<http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html>)
	  and for burning a "disk at once": CDRDAO
	  (<http://cdrdao.sourceforge.net/>). Cdparanoia is a high
	  quality digital reader of audio CDs (<http://www.xiph.org/paranoia/>).
	  For other devices, it's possible that you'll have to write the
	  driver software yourself. Please read the file
	  <file:Documentation/scsi/scsi-generic.txt> for more information.

	  If you want to compile this as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M here and read <file:Documentation/modules.txt> and
	  <file:Documentation/scsi/scsi.txt>. The module will be called sg.
	  If unsure, say N.

comment "Some SCSI devices (e.g. CD jukebox) support multiple LUNs"
	depends on SCSI

config SCSI_MULTI_LUN
	bool "Probe all LUNs on each SCSI device"
	depends on SCSI
	help
	  If you have a SCSI device that supports more than one LUN (Logical
	  Unit Number), e.g. a CD jukebox, and only one LUN is detected, you
	  can say Y here to force the SCSI driver to probe for multiple LUNs.
	  A SCSI device with multiple LUNs acts logically like multiple SCSI
	  devices. The vast majority of SCSI devices have only one LUN, and
	  so most people can say N here and should in fact do so, because it
	  is safer.

config SCSI_CONSTANTS
	bool "Verbose SCSI error reporting (kernel size +=12K)"
	depends on SCSI
	help
	  The error messages regarding your SCSI hardware will be easier to
	  understand if you say Y here; it will enlarge your kernel by about
	  12 KB. If in doubt, say Y.

config SCSI_LOGGING
	bool "SCSI logging facility"
	depends on SCSI
	---help---
	  This turns on a logging facility that can be used to debug a number
	  of SCSI related problems.

	  If you say Y here, no logging output will appear by default, but you
	  can enable logging by saying Y to "/proc file system support" and
	  "Sysctl support" below and executing the command

	  echo "scsi log token [level]" > /proc/scsi/scsi

	  at boot time after the /proc file system has been mounted.

	  There are a number of things that can be used for 'token' (you can
	  find them in the source: <file:drivers/scsi/scsi.c>), and this
	  allows you to select the types of information you want, and the
	  level allows you to select the level of verbosity.

	  If you say N here, it may be harder to track down some types of SCSI
	  problems. If you say Y here your kernel will be somewhat larger, but
	  there should be no noticeable performance impact as long as you have
	  logging turned off.


menu "SCSI low-level drivers"
	depends on SCSI!=n

config SCSI_SUNESP
	tristate "Sparc ESP Scsi Driver"
	depends on SCSI
	help
	  This is the driver for the Sun ESP SCSI host adapter. The ESP
	  chipset is present in most SPARC SBUS-based computers.

	  This support is also available as a module called esp ( = code
	  which can be inserted in and removed from the running kernel
	  whenever you want). If you want to compile it as a module, say M
	  here and read <file:Documentation/modules.txt>.

config SCSI_QLOGICPTI
	tristate "PTI Qlogic,ISP Driver"
	depends on SCSI
	help
	  This driver supports SBUS SCSI controllers from PTI or QLogic. These
	  controllers are known under Solaris as qpti and in the openprom as
	  PTI,ptisp or QLGC,isp. Note that PCI QLogic SCSI controllers are
	  driven by a different driver.

	  This support is also available as a module called qlogicpti ( =
	  code which can be inserted in and removed from the running kernel
	  whenever you want). If you want to compile it as a module, say M
	  here and read <file:Documentation/modules.txt>.

endmenu

endmenu

source "drivers/fc4/Kconfig"

source "net/Kconfig"

source "net/ax25/Kconfig"

# This one must be before the filesystem configs. -DaveM

menu "Unix98 PTY support"

config UNIX98_PTYS
	bool "Unix98 PTY support"
	---help---
	  A pseudo terminal (PTY) is a software device consisting of two
	  halves: a master and a slave. The slave device behaves identical to
	  a physical terminal; the master device is used by a process to
	  read data from and write data to the slave, thereby emulating a
	  terminal. Typical programs for the master side are telnet servers
	  and xterms.

	  Linux has traditionally used the BSD-like names /dev/ptyxx for
	  masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
	  has a number of problems. The GNU C library glibc 2.1 and later,
	  however, supports the Unix98 naming standard: in order to acquire a
	  pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
	  terminal is then made available to the process and the pseudo
	  terminal slave can be accessed as /dev/pts/<number>. What was
	  traditionally /dev/ttyp2 will then be /dev/pts/2, for example.

	  The entries in /dev/pts/ are created on the fly by a virtual
	  file system; therefore, if you say Y here you should say Y to
	  "/dev/pts file system for Unix98 PTYs" as well.

	  If you want to say Y here, you need to have the C library glibc 2.1
	  or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
	  Read the instructions in <file:Documentation/Changes> pertaining to
	  pseudo terminals. It's safe to say N.

config UNIX98_PTY_COUNT
	int "Maximum number of Unix98 PTYs in use (0-2048)"
	depends on UNIX98_PTYS
	default "256"
	help
	  The maximum number of Unix98 PTYs that can be used at any one time.
	  The default is 256, and should be enough for desktop systems. Server
	  machines which support incoming telnet/rlogin/ssh connections and/or
	  serve several X terminals may want to increase this: every incoming
	  connection and every xterm uses up one PTY.

	  When not in use, each additional set of 256 PTYs occupy
	  approximately 8 KB of kernel memory on 32-bit architectures.

endmenu

source "drivers/input/Kconfig"

source "fs/Kconfig"


menu "Sound card support"

config SOUND
	tristate "Sound card support"
	---help---
	  If you have a sound card in your computer, i.e. if it can say more
	  than an occasional beep, say Y.  Be sure to have all the information
	  about your sound card and its configuration down (I/O port,
	  interrupt and DMA channel), because you will be asked for it.

	  You want to read the Sound-HOWTO, available from
	  <http://www.linuxdoc.org/docs.html#howto>. General information about
	  the modular sound system is contained in the files
	  <file:Documentation/sound/Introduction>.  The file
	  <file:Documentation/sound/README.OSS> contains some slightly
	  outdated but still useful information as well.

	  If you have a PnP sound card and you want to configure it at boot
	  time using the ISA PnP tools (read
	  <http://www.roestock.demon.co.uk/isapnptools/>), then you need to
	  compile the sound card support as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want)
	  and load that module after the PnP configuration is finished.  To do
	  this, say M here and read <file:Documentation/modules.txt> as well
	  as <file:Documentation/sound/README.modules>; the module will be
	  called soundcore.

	  I'm told that even without a sound card, you can make your computer
	  say more than an occasional beep, by programming the PC speaker.
	  Kernel patches and supporting utilities to do that are in the pcsp
	  package, available at <ftp://ftp.infradead.org/pub/pcsp/>.

source "sound/Kconfig"

endmenu

source "drivers/usb/Kconfig"

source "net/bluetooth/Kconfig"


menu "Watchdog"

config SOFT_WATCHDOG
	tristate "Software watchdog"
	help
	  A software monitoring watchdog. This will fail to reboot your system
	  from some situations that the hardware watchdog will recover
	  from. Equally it's a lot cheaper to install.

	  This driver is also available as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want).
	  If you want to compile it as a module, say M here and read
	  <file:Documentation/modules.txt>. The module will be called
	  softdog.

endmenu


menu "Kernel hacking"

config DEBUG_SLAB
	bool "Debug memory allocations"

config MAGIC_SYSRQ
	bool "Magic SysRq key"
	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). This is accomplished
	  by pressing various keys while holding SysRq (Alt+PrintScreen). It
	  also works on a serial console (on PC hardware at least), if you
	  send a BREAK and then within 5 seconds a command keypress. The
	  keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
	  unless you really know what this hack does.

config DEBUG_SPINLOCK
	bool "Spinlock debugging"

config DEBUG_SPINLOCK_SLEEP
	bool "Sleep-inside-spinlock checking"
	help
	  If you say Y here, various routines which may sleep will become very
	  noisy if they are called with a spinlock held.	

endmenu

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"

