summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2002-10-29 04:32:41 -0800
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-10-29 04:32:41 -0800
commit82fe246fb7291daaf2f71fdb8b61a07ce5e3678b (patch)
treeef3cc6709c4a752dc10795018f5b9fd440db4271
parentb5ae1625139f28927a47024303a7893333fdbc8b (diff)
[PATCH] new kernel configuration 7/7
This adds the remaining config files.
-rw-r--r--crypto/Kconfig44
-rw-r--r--fs/Kconfig1419
-rw-r--r--fs/ncpfs/Kconfig86
-rw-r--r--fs/nls/Kconfig458
-rw-r--r--fs/partitions/Kconfig218
-rw-r--r--init/Kconfig150
-rw-r--r--lib/Kconfig29
-rw-r--r--net/Kconfig625
-rw-r--r--net/ax25/Kconfig119
-rw-r--r--net/bluetooth/Kconfig63
-rw-r--r--net/bluetooth/bnep/Kconfig27
-rw-r--r--net/bluetooth/rfcomm/Kconfig17
-rw-r--r--net/bridge/netfilter/Kconfig135
-rw-r--r--net/decnet/Kconfig37
-rw-r--r--net/ipv4/Kconfig352
-rw-r--r--net/ipv4/netfilter/Kconfig525
-rw-r--r--net/ipv6/Kconfig5
-rw-r--r--net/ipv6/netfilter/Kconfig182
-rw-r--r--net/ipx/Kconfig31
-rw-r--r--net/irda/Kconfig100
-rw-r--r--net/irda/ircomm/Kconfig13
-rw-r--r--net/irda/irlan/Kconfig14
-rw-r--r--net/irda/irnet/Kconfig14
-rw-r--r--net/sched/Kconfig328
-rw-r--r--net/sctp/Kconfig76
-rw-r--r--security/Kconfig15
-rw-r--r--sound/Kconfig44
-rw-r--r--sound/arm/Kconfig14
-rw-r--r--sound/core/Kconfig77
-rw-r--r--sound/drivers/Kconfig42
-rw-r--r--sound/isa/Kconfig188
-rw-r--r--sound/oss/Kconfig1085
-rw-r--r--sound/oss/dmasound/Kconfig65
-rw-r--r--sound/pci/Kconfig172
-rw-r--r--sound/ppc/Kconfig11
-rw-r--r--sound/sparc/Kconfig16
-rw-r--r--sound/usb/Kconfig13
37 files changed, 6809 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig
new file mode 100644
index 000000000000..b3337e230554
--- /dev/null
+++ b/crypto/Kconfig
@@ -0,0 +1,44 @@
+#
+# Cryptographic API Configuration
+#
+
+menu "Cryptographic options"
+
+config CRYPTO
+ bool "Cryptographic API"
+ help
+ This option provides the core Cryptographic API.
+
+config CRYPTO_MD4
+ tristate "MD4 digest algorithm"
+ depends on CRYPTO
+ help
+ MD4 message digest algorithm (RFC1320), including HMAC (RFC2104).
+
+
+config CRYPTO_MD5
+ tristate "MD5 digest algorithm"
+ depends on CRYPTO
+ help
+ MD5 message digest algorithm (RFC1321), including HMAC (RFC2104, RFC2403).
+
+config CRYPTO_SHA1
+ tristate "SHA-1 digest algorithm"
+ depends on CRYPTO
+ help
+ SHA-1 secure hash standard (FIPS 180-1), including HMAC (RFC2104, RFC2404).
+
+config CRYPTO_DES
+ tristate "DES and Triple DES EDE cipher algorithms"
+ depends on CRYPTO
+ help
+ DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
+
+config CRYPTO_TEST
+ tristate "Testing module"
+ depends on CRYPTO
+ help
+ Quick & dirty crypto test module.
+
+endmenu
+
diff --git a/fs/Kconfig b/fs/Kconfig
new file mode 100644
index 000000000000..a0e840af15d8
--- /dev/null
+++ b/fs/Kconfig
@@ -0,0 +1,1419 @@
+#
+# File system configuration
+#
+
+menu "File systems"
+
+config QUOTA
+ bool "Quota support"
+ help
+ If you say Y here, you will be able to set per user limits for disk
+ usage (also called disk quotas). Currently, it works for the
+ ext2, ext3, and reiserfs file system. You need additional software
+ in order to use quota support (you can download sources from
+ <http://www.sf.net/projects/linuxquota/>). For further details, read
+ the Quota mini-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>. Probably the quota
+ support is only useful for multi user systems. If unsure, say N.
+
+config QFMT_V1
+ tristate "Old quota format support"
+ depends on QUOTA
+ help
+ This quota format was (is) used by kernels earlier than 2.4.??. If
+ you have quota working and you don't want to convert to new quota
+ format say Y here.
+
+config QFMT_V2
+ tristate "Quota format v2 support"
+ depends on QUOTA
+ help
+ This quota format allows using quotas with 32-bit UIDs/GIDs. If you
+ need this functionality say Y here. Note that you will need latest
+ quota utilities for new quota format with this kernel.
+
+config QUOTACTL
+ bool
+ depends on XFS_QUOTA || QUOTA
+ default y
+
+config AUTOFS_FS
+ tristate "Kernel automounter support"
+ ---help---
+ The automounter is a tool to automatically mount remote file systems
+ on demand. This implementation is partially kernel-based to reduce
+ overhead in the already-mounted case; this is unlike the BSD
+ automounter (amd), which is a pure user space daemon.
+
+ To use the automounter you need the user-space tools from the autofs
+ package; you can find the location in <file:Documentation/Changes>.
+ You also want to answer Y to "NFS file system support", below.
+
+ If you want to use the newer version of the automounter with more
+ features, say N here and say Y to "Kernel automounter v4 support",
+ below.
+
+ 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 autofs.o.
+
+ If you are not a part of a fairly large, distributed network, you
+ probably do not need an automounter, and can say N here.
+
+config AUTOFS4_FS
+ tristate "Kernel automounter version 4 support (also supports v3)"
+ ---help---
+ The automounter is a tool to automatically mount remote file systems
+ on demand. This implementation is partially kernel-based to reduce
+ overhead in the already-mounted case; this is unlike the BSD
+ automounter (amd), which is a pure user space daemon.
+
+ To use the automounter you need the user-space tools from
+ <ftp://ftp.kernel.org/pub/linux/daemons/autofs/testing-v4/>; you also
+ want to answer Y to "NFS file system support", below.
+
+ 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 autofs4.o. You will need to add "alias autofs
+ autofs4" to your modules configuration file.
+
+ If you are not a part of a fairly large, distributed network or
+ don't have a laptop which needs to dynamically reconfigure to the
+ local network, you probably do not need an automounter, and can say
+ N here.
+
+config REISERFS_FS
+ tristate "Reiserfs support"
+ ---help---
+ Stores not just filenames but the files themselves in a balanced
+ tree. Uses journaling.
+
+ Balanced trees are more efficient than traditional file system
+ architectural foundations.
+
+ In general, ReiserFS is as fast as ext2, but is very efficient with
+ large directories and small files. Additional patches are needed
+ for NFS and quotas, please see <http://www.reiserfs.org/> for links.
+
+ It is more easily extended to have features currently found in
+ database and keyword search systems than block allocation based file
+ systems are. The next version will be so extended, and will support
+ plugins consistent with our motto ``It takes more than a license to
+ make source code open.''
+
+ Read <http://www.reiserfs.org/> to learn more about reiserfs.
+
+ Sponsored by Threshold Networks, Emusic.com, and Bigstorage.com.
+
+ If you like it, you can pay us to add new features to it that you
+ need, buy a support contract, or pay us to port it to another OS.
+
+config REISERFS_CHECK
+ bool "Enable reiserfs debug mode"
+ depends on REISERFS_FS
+ help
+ If you set this to Y, then ReiserFS will perform every check it can
+ possibly imagine of its internal consistency throughout its
+ operation. It will also go substantially slower. More than once we
+ have forgotten that this was on, and then gone despondent over the
+ latest benchmarks.:-) Use of this option allows our team to go all
+ out in checking for consistency when debugging without fear of its
+ effect on end users. If you are on the verge of sending in a bug
+ report, say Y and you might get a useful error message. Almost
+ everyone should say N.
+
+config REISERFS_PROC_INFO
+ bool "Stats in /proc/fs/reiserfs"
+ depends on REISERFS_FS
+ help
+ Create under /proc/fs/reiserfs a hierarchy of files, displaying
+ various ReiserFS statistics and internal data at the expense of
+ making your kernel or module slightly larger (+8 KB). This also
+ increases the amount of kernel memory required for each mount.
+ Almost everyone but ReiserFS developers and people fine-tuning
+ reiserfs or tracing problems should say N.
+
+config ADFS_FS
+ tristate "ADFS file system support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ ---help---
+ The Acorn Disc Filing System is the standard file system of the
+ RiscOS operating system which runs on Acorn's ARM-based Risc PC
+ systems and the Acorn Archimedes range of machines. If you say Y
+ here, Linux will be able to read from ADFS partitions on hard drives
+ and from ADFS-formatted floppy discs. If you also want to be able to
+ write to those devices, say Y to "ADFS write support" below.
+
+ The ADFS partition should be the first partition (i.e.,
+ /dev/[hs]d?1) on each of your drives. Please read the file
+ <file:Documentation/filesystems/adfs.txt> for further details.
+
+ This code is also available as a module called adfs.o ( = 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>.
+
+ If unsure, say N.
+
+config ADFS_FS_RW
+ bool "ADFS write support (DANGEROUS)"
+ depends on ADFS_FS
+ help
+ If you say Y here, you will be able to write to ADFS partitions on
+ hard drives and ADFS-formatted floppy disks. This is experimental
+ codes, so if you're unsure, say N.
+
+config AFFS_FS
+ tristate "Amiga FFS file system support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ ---help---
+ The Fast File System (FFS) is the common file system used on hard
+ disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20). Say Y
+ if you want to be able to read and write files from and to an Amiga
+ FFS partition on your hard drive. Amiga floppies however cannot be
+ read with this driver due to an incompatibility of the floppy
+ controller used in an Amiga and the standard floppy controller in
+ PCs and workstations. Read <file:Documentation/filesystems/affs.txt>
+ and <file:fs/affs/Changes>.
+
+ With this driver you can also mount disk files used by Bernd
+ Schmidt's Un*X Amiga Emulator
+ (<http://www.freiburg.linux.de/~uae/>).
+ If you want to do this, you will also need to say Y or M to "Loop
+ device support", above.
+
+ This file system is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called affs.o. If you want to compile it as a module,
+ say M here and read <file:Documentation/modules.txt>. If unsure,
+ say N.
+
+config HFS_FS
+ tristate "Apple Macintosh file system support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ ---help---
+ If you say Y here, you will be able to mount Macintosh-formatted
+ floppy disks and hard drive partitions with full read-write access.
+ Please read <file:fs/hfs/HFS.txt> to learn about the available mount
+ options.
+
+ This file system support is also available as a module ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). The module is called hfs.o. If you want to
+ compile it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+
+config BEFS_FS
+ tristate "BeOS file systemv(BeFS) support (read only) (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ ---help---
+ The BeOS File System (BeFS) is the native file system of Be, Inc's
+ BeOS. Notable features include support for arbitrary attributes
+ on files and directories, and database-like indices on selected
+ attributes. (Also note that this driver doesn't make those features
+ available at this time). It is a 64 bit filesystem, so it supports
+ extreemly large volumes and files.
+
+ If you use this filesystem, you should also say Y to at least one
+ of the NLS (native language support) options below.
+
+ If you don't know what this is about, say N.
+
+ 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 Documentation/modules.txt. The module will be
+ called befs.o.
+
+config BEFS_DEBUG
+ bool "Debug BeFS"
+ depends on BEFS_FS
+ help
+ If you say Y here, you can use the 'debug' mount option to enable
+ debugging output from the driver.
+
+config BFS_FS
+ tristate "BFS file system support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ ---help---
+ Boot File System (BFS) is a file system used under SCO UnixWare to
+ allow the bootloader access to the kernel image and other important
+ files during the boot process. It is usually mounted under /stand
+ and corresponds to the slice marked as "STAND" in the UnixWare
+ partition. You should say Y if you want to read or write the files
+ on your /stand slice from within Linux. You then also need to say Y
+ to "UnixWare slices support", below. More information about the BFS
+ file system is contained in the file
+ <file:Documentation/filesystems/bfs.txt>.
+
+ If you don't know what this is about, say N.
+
+ 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 bfs.o. Note that the file system of your root
+ partition (the one containing the directory /) cannot be compiled as
+ a module.
+
+config EXT3_FS
+ tristate "Ext3 journalling file system support"
+ ---help---
+ This is the journaling version of the Second extended file system
+ (often called ext3), the de facto standard Linux file system
+ (method to organize files on a storage device) for hard disks.
+
+ The journaling code included in this driver means you do not have
+ to run e2fsck (file system checker) on your file systems after a
+ crash. The journal keeps track of any changes that were being made
+ at the time the system crashed, and can ensure that your file system
+ is consistent without the need for a lengthy check.
+
+ Other than adding the journal to the file system, the on-disk format
+ of ext3 is identical to ext2. It is possible to freely switch
+ between using the ext3 driver and the ext2 driver, as long as the
+ file system has been cleanly unmounted, or e2fsck is run on the file
+ system.
+
+ To add a journal on an existing ext2 file system or change the
+ behavior of ext3 file systems, you can use the tune2fs utility ("man
+ tune2fs"). To modify attributes of files and directories on ext3
+ file systems, use chattr ("man chattr"). You need to be using
+ e2fsprogs version 1.20 or later in order to create ext3 journals
+ (available at <http://sourceforge.net/projects/e2fsprogs/>).
+
+ If you want to compile this file system 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 ext3.o. Be aware however that the file system
+ of your root partition (the one containing the directory /) cannot
+ be compiled as a module, and so this may be dangerous.
+
+# CONFIG_JBD could be its own option (even modular), but until there are
+# other users than ext3, we will simply make it be the same as CONFIG_EXT3_FS
+# dep_tristate ' Journal Block Device support (JBD for ext3)' CONFIG_JBD $CONFIG_EXT3_FS
+config JBD
+ bool
+ default EXT3_FS
+ ---help---
+ This is a generic journaling layer for block devices. It is
+ currently used by the ext3 file system, but it could also be used to
+ add journal support to other file systems or block devices such as
+ RAID or LVM.
+
+ If you are using the ext3 file system, you need to say Y here. If
+ you are not using ext3 then you will probably want to say N.
+
+ If you want to compile this device 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 jbd.o. If you are compiling ext3 into the kernel,
+ you cannot compile this code as a module.
+
+config JBD_DEBUG
+ bool "JBD (ext3) debugging support"
+ depends on JBD
+ ---help---
+ If you are using the ext3 journaled file system (or potentially any
+ other file system/device using JBD), this option allows you to
+ enable debugging output while the system is running, in order to
+ help track down any problems you are having. By default the
+ debugging output will be turned off.
+
+ If you select Y here, then you will be able to turn on debugging
+ with "echo N > /proc/sys/fs/jbd-debug", where N is a number between
+ 1 and 5, the higher the number, the more debugging output is
+ generated. To turn debugging off again, do
+ "echo 0 > /proc/sys/fs/jbd-debug".
+
+# msdos file systems
+config FAT_FS
+ tristate "DOS FAT fs support"
+ ---help---
+ If you want to use one of the FAT-based file systems (the MS-DOS,
+ VFAT (Windows 95) and UMSDOS (used to run Linux on top of an
+ ordinary DOS partition) file systems), then you must say Y or M here
+ to include FAT support. You will then be able to mount partitions or
+ diskettes with FAT-based file systems and transparently access the
+ files on them, i.e. MSDOS files will look and behave just like all
+ other Unix files.
+
+ This FAT support is not a file system in itself, it only provides
+ the foundation for the other file systems. You will have to say Y or
+ M to at least one of "MSDOS fs support" or "VFAT fs support" in
+ order to make use of it.
+
+ Another way to read and write MSDOS floppies and hard drive
+ partitions from within Linux (but not transparently) is with the
+ mtools ("man mtools") program suite. You don't need to say Y here in
+ order to do that.
+
+ If you need to move large files on floppies between a DOS and a
+ Linux box, say Y here, mount the floppy under Linux with an MSDOS
+ file system and use GNU tar's M option. GNU tar is a program
+ available for Unix and DOS ("man tar" or "info tar").
+
+ It is now also becoming possible to read and write compressed FAT
+ file systems; read <file:Documentation/filesystems/fat_cvf.txt> for
+ details.
+
+ The FAT support will enlarge your kernel by about 37 KB. If unsure,
+ say Y.
+
+ If you want to compile this 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>. The
+ module will be called fat.o. Note that if you compile the FAT
+ support as a module, you cannot compile any of the FAT-based file
+ systems into the kernel -- they will have to be modules as well.
+ The file system of your root partition (the one containing the
+ directory /) cannot be a module, so don't say M here if you intend
+ to use UMSDOS as your root file system.
+
+config MSDOS_FS
+ tristate "MSDOS fs support"
+ depends on FAT_FS
+ ---help---
+ This allows you to mount MSDOS partitions of your hard drive (unless
+ they are compressed; to access compressed MSDOS partitions under
+ Linux, you can either use the DOS emulator DOSEMU, described in the
+ DOSEMU-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>, or try dmsdosfs in
+ <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you
+ intend to use dosemu with a non-compressed MSDOS partition, say Y
+ here) and MSDOS floppies. This means that file access becomes
+ transparent, i.e. the MSDOS files look and behave just like all
+ other Unix files.
+
+ If you want to use UMSDOS, the Unix-like file system on top of a
+ DOS file system, which allows you to run Linux from within a DOS
+ partition without repartitioning, you'll have to say Y or M here.
+
+ If you have Windows 95 or Windows NT installed on your MSDOS
+ partitions, you should use the VFAT file system (say Y to "VFAT fs
+ support" below), or you will not be able to see the long filenames
+ generated by Windows 95 / Windows NT.
+
+ This option will enlarge your kernel by about 7 KB. If unsure,
+ answer Y. This will only work if you said Y to "DOS FAT fs support"
+ as well. If you want to compile this 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>.
+ The module will be called msdos.o.
+
+#dep_tristate ' UMSDOS: Unix-like file system on top of standard MSDOS fs' CONFIG_UMSDOS_FS $CONFIG_MSDOS_FS
+# UMSDOS is temprory broken
+config UMSDOS_FS
+ bool
+ ---help---
+ Say Y here if you want to run Linux from within an existing DOS
+ partition of your hard drive. The advantage of this is that you can
+ get away without repartitioning your hard drive (which often implies
+ backing everything up and restoring afterwards) and hence you're
+ able to quickly try out Linux or show it to your friends; the
+ disadvantage is that Linux becomes susceptible to DOS viruses and
+ that UMSDOS is somewhat slower than ext2fs. Another use of UMSDOS
+ is to write files with long unix filenames to MSDOS floppies; it
+ also allows Unix-style soft-links and owner/permissions of files on
+ MSDOS floppies. You will need a program called umssync in order to
+ make use of UMSDOS; read
+ <file:Documentation/filesystems/umsdos.txt>.
+
+ To get utilities for initializing/checking UMSDOS file system, or
+ latest patches and/or information, visit the UMSDOS home page at
+ <http://www.voyager.hr/~mnalis/umsdos/>.
+
+ This option enlarges your kernel by about 28 KB and it only works if
+ you said Y to both "DOS FAT fs support" and "MSDOS fs support"
+ above. 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 umsdos.o. Note that the file system of your
+ root partition (the one containing the directory /) cannot be a
+ module, so saying M could be dangerous. If unsure, say N.
+
+config VFAT_FS
+ tristate "VFAT (Windows-95) fs support"
+ depends on FAT_FS
+ ---help---
+ This option provides support for normal Windows file systems with
+ long filenames. That includes non-compressed FAT-based file systems
+ used by Windows 95, Windows 98, Windows NT 4.0, and the Unix
+ programs from the mtools package.
+
+ You cannot use the VFAT file system for your Linux root partition
+ (the one containing the directory /); use UMSDOS instead if you
+ want to run Linux from within a DOS partition (i.e. say Y to
+ "Unix like fs on top of std MSDOS fs", below).
+
+ The VFAT support enlarges your kernel by about 10 KB and it only
+ works if you said Y to the "DOS FAT fs support" above. Please read
+ the file <file:Documentation/filesystems/vfat.txt> for details. If
+ unsure, say Y.
+
+ 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 vfat.o.
+
+config EFS_FS
+ tristate "EFS file system support (read only) (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ ---help---
+ EFS is an older file system used for non-ISO9660 CD-ROMs and hard
+ disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer
+ uses the XFS file system for hard disk partitions however).
+
+ This implementation only offers read-only access. If you don't know
+ what all this is about, it's safe to say N. For more information
+ about EFS see its home page at <http://aeschi.ch.eu.org/efs/>.
+
+ If you want to compile the EFS file system 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 efs.o.
+
+config JFFS_FS
+ tristate "Journalling Flash File System (JFFS) support"
+ depends on MTD
+ help
+ JFFS is the Journaling Flash File System developed by Axis
+ Communications in Sweden, aimed at providing a crash/powerdown-safe
+ file system for disk-less embedded devices. Further information is
+ available at (<http://developer.axis.com/software/jffs/>).
+
+config JFFS_FS_VERBOSE
+ int "JFFS debugging verbosity (0 = quiet, 3 = noisy)"
+ depends on JFFS_FS
+ default "0"
+ help
+ Determines the verbosity level of the JFFS debugging messages.
+
+config JFFS_PROC_FS
+ bool "JFFS stats available in /proc filesystem"
+ depends on JFFS_FS
+ help
+ Enabling this option will cause statistics from mounted JFFS file systems
+ to be made available to the user in the /proc/fs/jffs/ directory.
+
+config JFFS2_FS
+ tristate "Journalling Flash File System v2 (JFFS2) support"
+ depends on MTD
+ help
+ JFFS2 is the second generation of the Journalling Flash File System
+ for use on diskless embedded devices. It provides improved wear
+ levelling, compression and support for hard links. You cannot use
+ this on normal block devices, only on 'MTD' devices.
+
+ Further information should be made available soon at
+ <http://sources.redhat.com/jffs2/>.
+
+config JFFS2_FS_DEBUG
+ int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)"
+ depends on JFFS2_FS
+ default "0"
+ ---help---
+ This controls the amount of debugging messages produced by the JFFS2
+ code. Set it to zero for use in production systems. For evaluation,
+ testing and debugging, it's advisable to set it to one. This will
+ enable a few assertions and will print debugging messages at the
+ KERN_DEBUG loglevel, where they won't normally be visible. Level 2
+ is unlikely to be useful - it enables extra debugging in certain
+ areas which at one point needed debugging, but when the bugs were
+ located and fixed, the detailed messages were relegated to level 2.
+
+ If reporting bugs, please try to have available a full dump of the
+ messages at debug level 1 while the misbehaviour was occurring.
+
+config JFFS2_FS_NAND
+ bool "JFFS2 support for NAND flash (EXPERIMENTAL)"
+ depends on JFFS2_FS && EXPERIMENTAL
+
+config CRAMFS
+ tristate "Compressed ROM file system support"
+ ---help---
+ Saying Y here includes support for CramFs (Compressed ROM File
+ System). CramFs is designed to be a simple, small, and compressed
+ file system for ROM based embedded systems. CramFs is read-only,
+ limited to 256MB file systems (with 16MB files), and doesn't support
+ 16/32 bits uid/gid, hard links and timestamps.
+
+ See <file:Documentation/filesystems/cramfs.txt> and
+ <file:fs/cramfs/README> for further 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>. The module
+ will be called cramfs.o. Note that the root file system (the one
+ containing the directory /) cannot be compiled as a module.
+
+ If unsure, say N.
+
+config TMPFS
+ bool "Virtual memory file system support (former shm fs)"
+ help
+ Tmpfs is a file system which keeps all files in virtual memory.
+
+ Everything in tmpfs is temporary in the sense that no files will be
+ created on your hard drive. The files live in memory and swap
+ space. If you unmount a tmpfs instance, everything stored therein is
+ lost.
+
+ See <file:Documentation/filesystems/tmpfs.txt> for details.
+
+config RAMFS
+ bool
+ default y
+ ---help---
+ Ramfs is a file system which keeps all files in RAM. It allows
+ read and write access.
+
+ It is more of an programming example than a useable file system. If
+ you need a file system which lives in RAM with limit checking use
+ tmpfs.
+
+ 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 ramfs.o.
+
+config ISO9660_FS
+ tristate "ISO 9660 CDROM file system support"
+ ---help---
+ This is the standard file system used on CD-ROMs. It was previously
+ known as "High Sierra File System" and is called "hsfs" on other
+ Unix systems. The so-called Rock-Ridge extensions which allow for
+ long Unix filenames and symbolic links are also supported by this
+ driver. If you have a CD-ROM drive and want to do more with it than
+ just listen to audio CDs and watch its LEDs, say Y (and read
+ <file:Documentation/filesystems/isofs.txt> and the CD-ROM-HOWTO,
+ available from <http://www.linuxdoc.org/docs.html#howto>), thereby
+ enlarging your kernel by about 27 KB; otherwise say N.
+
+ 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 isofs.o.
+
+config JOLIET
+ bool "Microsoft Joliet CDROM extensions"
+ depends on ISO9660_FS
+ help
+ Joliet is a Microsoft extension for the ISO 9660 CD-ROM file system
+ which allows for long filenames in unicode format (unicode is the
+ new 16 bit character code, successor to ASCII, which encodes the
+ characters of almost all languages of the world; see
+ <http://www.unicode.org/> for more information). Say Y here if you
+ want to be able to read Joliet CD-ROMs under Linux.
+
+config ZISOFS
+ bool "Transparent decompression extension"
+ depends on ISO9660_FS
+ help
+ This is a Linux-specific extension to RockRidge which lets you store
+ data in compressed form on a CD-ROM and have it transparently
+ decompressed when the CD-ROM is accessed. See
+ <http://www.kernel.org/pub/linux/utils/fs/zisofs/> for the tools
+ necessary to create such a filesystem. Say Y here if you want to be
+ able to read such compressed CD-ROMs.
+
+config JFS_FS
+ tristate "JFS filesystem support"
+ help
+ This is a port of IBM's Journaled Filesystem . More information is
+ available in the file Documentation/filesystems/jfs.txt.
+
+ If you do not intend to use the JFS filesystem, say N.
+
+config JFS_DEBUG
+ bool "JFS debugging"
+ depends on JFS_FS
+ help
+ If you are experiencing any problems with the JFS filesystem, say
+ Y here. This will result in additional debugging messages to be
+ written to the system log. Under normal circumstances, this
+ results in very little overhead.
+
+config JFS_STATISTICS
+ bool "JFS statistics"
+ depends on JFS_FS
+ help
+ Enabling this option will cause statistics from the JFS file system
+ to be made available to the user in the /proc/fs/jfs/ directory.
+
+config MINIX_FS
+ tristate "Minix fs support"
+ ---help---
+ Minix is a simple operating system used in many classes about OS's.
+ The minix file system (method to organize files on a hard disk
+ partition or a floppy disk) was the original file system for Linux,
+ but has been superseded by the second extended file system ext2fs.
+ You don't want to use the minix file system on your hard disk
+ because of certain built-in restrictions, but it is sometimes found
+ on older Linux floppy disks. This option will enlarge your kernel
+ by about 28 KB. If unsure, say N.
+
+ 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 minix.o. Note that the file system of your root
+ partition (the one containing the directory /) cannot be compiled as
+ a module.
+
+config VXFS_FS
+ tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
+ ---help---
+ FreeVxFS is a file system driver that support the VERITAS VxFS(TM)
+ file system format. VERITAS VxFS(TM) is the standard file system
+ of SCO UnixWare (and possibly others) and optionally available
+ for Sunsoft Solaris, HP-UX and many other operating systems.
+ Currently only readonly access is supported.
+
+ NOTE: the file system type as used by mount(1), mount(2) and
+ fstab(5) is 'vxfs' as it describes the file system format, not
+ the actual driver.
+
+ This file system is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called freevxfs.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>. If
+ unsure, say N.
+
+config NTFS_FS
+ tristate "NTFS file system support (read only)"
+ ---help---
+ NTFS is the file system of Microsoft Windows NT/2000/XP. For more
+ information see <file:Documentation/filesystems/ntfs.txt>. Saying Y
+ here would allow you to read from NTFS partitions.
+
+ This file system 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 ntfs.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+ If you are not using Windows NT/2000/XP in addition to Linux on your
+ computer it is safe to say N.
+
+config NTFS_DEBUG
+ bool "NTFS debugging support"
+ depends on NTFS_FS
+ ---help---
+ If you are experiencing any problems with the NTFS file system, say
+ Y here. This will result in additional consistency checks to be
+ performed by the driver as well as additional debugging messages to
+ be written to the system log. Note that debugging messages are
+ disabled by default. To enable them, supply the option debug_msgs=1
+ at the kernel command line when booting the kernel or as an option
+ to insmod when loading the ntfs module. Once the driver is active,
+ you can enable debugging messages by doing (as root):
+ echo 1 > /proc/sys/fs/ntfs-debug
+ Replacing the "1" with "0" would disable debug messages.
+
+ If you leave debugging messages disabled, this results in little
+ overhead, but enabling debug messages results in very significant
+ slowdown of the system.
+
+ When reporting bugs, please try to have available a full dump of
+ debugging messages while the misbehaviour was occurring.
+
+config NTFS_RW
+ bool "NTFS write support (DANGEROUS)"
+ depends on NTFS_FS && EXPERIMENTAL
+ help
+ This enables the experimental write support in the NTFS driver.
+
+ WARNING: Do not use this option unless you are actively developing
+ NTFS as it is currently guaranteed to be broken and you
+ may lose all your data!
+
+ It is strongly recommended and perfectly safe to say N here.
+
+config HPFS_FS
+ tristate "OS/2 HPFS file system support"
+ ---help---
+ OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS
+ is the file system used for organizing files on OS/2 hard disk
+ partitions. Say Y if you want to be able to read files from and
+ write files to an OS/2 HPFS partition on your hard drive. OS/2
+ floppies however are in regular MSDOS format, so you don't need this
+ option in order to be able to read them. Read
+ <file:Documentation/filesystems/hpfs.txt>.
+
+ This file system is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called hpfs.o. If you want to compile it as a module,
+ say M here and read <file:Documentation/modules.txt>. If unsure,
+ say N.
+
+config PROC_FS
+ bool "/proc file system support"
+ ---help---
+ This is a virtual file system providing information about the status
+ of the system. "Virtual" means that it doesn't take up any space on
+ your hard disk: the files are created on the fly by the kernel when
+ you try to access them. Also, you cannot read the files with older
+ version of the program less: you need to use more or cat.
+
+ It's totally cool; for example, "cat /proc/interrupts" gives
+ information about what the different IRQs are used for at the moment
+ (there is a small number of Interrupt ReQuest lines in your computer
+ that are used by the attached devices to gain the CPU's attention --
+ often a source of trouble if two devices are mistakenly configured
+ to use the same IRQ). The program procinfo to display some
+ information about your system gathered from the /proc file system.
+
+ Before you can use the /proc file system, it has to be mounted,
+ meaning it has to be given a location in the directory hierarchy.
+ That location should be /proc. A command such as "mount -t proc proc
+ /proc" or the equivalent line in /etc/fstab does the job.
+
+ The /proc file system is explained in the file
+ <file:Documentation/filesystems/proc.txt> and on the proc(5) manpage
+ ("man 5 proc").
+
+ This option will enlarge your kernel by about 67 KB. Several
+ programs depend on this, so everyone should say Y here.
+
+config DEVFS_FS
+ bool "/dev file system support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ ---help---
+ This is support for devfs, a virtual file system (like /proc) which
+ provides the file system interface to device drivers, normally found
+ in /dev. Devfs does not depend on major and minor number
+ allocations. Device drivers register entries in /dev which then
+ appear automatically, which means that the system administrator does
+ not have to create character and block special device files in the
+ /dev directory using the mknod command (or MAKEDEV script) anymore.
+
+ This is work in progress. If you want to use this, you *must* read
+ the material in <file:Documentation/filesystems/devfs/>, especially
+ the file README there.
+
+ If unsure, say N.
+
+config DEVFS_MOUNT
+ bool "Automatically mount at boot"
+ depends on DEVFS_FS
+ help
+ This option appears if you have CONFIG_DEVFS_FS enabled. Setting
+ this to 'Y' will make the kernel automatically mount devfs onto /dev
+ when the system is booted, before the init thread is started.
+ You can override this with the "devfs=nomount" boot option.
+
+ If unsure, say N.
+
+config DEVFS_DEBUG
+ bool "Debug devfs"
+ depends on DEVFS_FS
+ help
+ If you say Y here, then the /dev file system code will generate
+ debugging messages. See the file
+ <file:Documentation/filesystems/devfs/boot-options> for more
+ details.
+
+ If unsure, say N.
+
+# It compiles as a module for testing only. It should not be used
+# as a module in general. If we make this "tristate", a bunch of people
+# who don't know what they are doing turn it on and complain when it
+# breaks.
+config DEVPTS_FS
+ bool "/dev/pts file system for Unix98 PTYs"
+ depends on UNIX98_PTYS
+ ---help---
+ You should say Y here if you said Y to "Unix98 PTY support" above.
+ You'll then get a virtual file system which can be mounted on
+ /dev/pts with "mount -t devpts". This, together with the pseudo
+ terminal master multiplexer /dev/ptmx, is used for pseudo terminal
+ support as described in The Open Group's Unix98 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 GNU C library glibc 2.1 contains the requisite support for this
+ mode of operation; you also need client programs that use the Unix98
+ API. Please read <file:Documentation/Changes> for more information
+ about the Unix98 pty devices.
+
+ Note that the experimental "/dev file system support"
+ (CONFIG_DEVFS_FS) is a more general facility.
+
+config QNX4FS_FS
+ tristate "QNX4 file system support (read only)"
+ ---help---
+ This is the file system used by the real-time operating systems
+ QNX 4 and QNX 6 (the latter is also called QNX RTP).
+ Further information is available at <http://www.qnx.com/>.
+ Say Y if you intend to mount QNX hard disks or floppies.
+ Unless you say Y to "QNX4FS read-write support" below, you will
+ only be able to read these file systems.
+
+ This file system support is also available as a module ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). The module is called qnx4.o. If you want to
+ compile it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+
+ If you don't know whether you need it, then you don't need it:
+ answer N.
+
+config QNX4FS_RW
+ bool "QNX4FS write support (DANGEROUS)"
+ depends on QNX4FS_FS && EXPERIMENTAL
+ help
+ Say Y if you want to test write support for QNX4 file systems.
+
+ It's currently broken, so for now:
+ answer N.
+
+config ROMFS_FS
+ tristate "ROM file system support"
+ ---help---
+ This is a very small read-only file system mainly intended for
+ initial ram disks of installation disks, but it could be used for
+ other read-only media as well. Read
+ <file:Documentation/filesystems/romfs.txt> for details.
+
+ This file system support is also available as a module ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). The module is called romfs.o. If you want to
+ compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. Note that the file system of your
+ root partition (the one containing the directory /) cannot be a
+ module.
+
+ If you don't know whether you need it, then you don't need it:
+ answer N.
+
+config EXT2_FS
+ tristate "Second extended fs support"
+ ---help---
+ This is the de facto standard Linux file system (method to organize
+ files on a storage device) for hard disks.
+
+ You want to say Y here, unless you intend to use Linux exclusively
+ from inside a DOS partition using the UMSDOS file system. The
+ advantage of the latter is that you can get away without
+ repartitioning your hard drive (which often implies backing
+ everything up and restoring afterwards); the disadvantage is that
+ Linux becomes susceptible to DOS viruses and that UMSDOS is somewhat
+ slower than ext2fs. Even if you want to run Linux in this fashion,
+ it might be a good idea to have ext2fs around: it enables you to
+ read more floppy disks and facilitates the transition to a *real*
+ Linux partition later. Another (rare) case which doesn't require
+ ext2fs is a diskless Linux box which mounts all files over the
+ network using NFS (in this case it's sufficient to say Y to "NFS
+ file system support" below). Saying Y here will enlarge your kernel
+ by about 44 KB.
+
+ The Ext2fs-Undeletion mini-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>, gives information about
+ how to retrieve deleted files on ext2fs file systems.
+
+ To change the behavior of ext2 file systems, you can use the tune2fs
+ utility ("man tune2fs"). To modify attributes of files and
+ directories on ext2 file systems, use chattr ("man chattr").
+
+ Ext2fs partitions can be read from within DOS using the ext2tool
+ command line tool package (available from
+ <ftp://ibiblio.org/pub/Linux/system/filesystems/ext2/>) and from
+ within Windows NT using the ext2nt command line tool package from
+ <ftp://ibiblio.org/pub/Linux/utils/dos/>. Explore2fs is a
+ graphical explorer for ext2fs partitions which runs on Windows 95
+ and Windows NT and includes experimental write support; it is
+ available from
+ <http://jnewbigin-pc.it.swin.edu.au/Linux/Explore2fs.htm>.
+
+ If you want to compile this file system 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 ext2.o. Be aware however that the file system
+ of your root partition (the one containing the directory /) cannot
+ be compiled as a module, and so this could be dangerous. Most
+ everyone wants to say Y here.
+
+config SYSV_FS
+ tristate "System V/Xenix/V7/Coherent file system support"
+ ---help---
+ SCO, Xenix and Coherent are commercial Unix systems for Intel
+ machines, and Version 7 was used on the DEC PDP-11. Saying Y
+ here would allow you to read from their floppies and hard disk
+ partitions.
+
+ If you have floppies or hard disk partitions like that, it is likely
+ that they contain binaries from those other Unix systems; in order
+ to run these binaries, you will want to install linux-abi which is a
+ a set of kernel modules that lets you run SCO, Xenix, Wyse,
+ UnixWare, Dell Unix and System V programs under Linux. It is
+ available via FTP (user: ftp) from
+ <ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>).
+ NOTE: that will work only for binaries from Intel-based systems;
+ PDP ones will have to wait until somebody ports Linux to -11 ;-)
+
+ If you only intend to mount files from some other Unix over the
+ network using NFS, you don't need the System V file system support
+ (but you need NFS file system support obviously).
+
+ Note that this option is generally not needed for floppies, since a
+ good portable way to transport files and directories between unixes
+ (and even other operating systems) is given by the tar program ("man
+ tar" or preferably "info tar"). Note also that this option has
+ nothing whatsoever to do with the option "System V IPC". Read about
+ the System V file system in
+ <file:Documentation/filesystems/sysv-fs.txt>.
+ Saying Y here will enlarge your kernel by about 27 KB.
+
+ 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 sysv.o.
+
+ If you haven't heard about all of this before, it's safe to say N.
+
+config UDF_FS
+ tristate "UDF file system support (read only)"
+ ---help---
+ This is the new file system used on some CD-ROMs and DVDs. Say Y if
+ you intend to mount DVD discs or CDRW's written in packet mode, or
+ if written to by other UDF utilities, such as DirectCD. This UDF
+ file system support is read-only. If you want to write to UDF
+ file systems on some media, you need to say Y to "UDF read-write
+ support" below in addition. Please read
+ <file:Documentation/filesystems/udf.txt>.
+
+ This file system support is also available as a module ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). The module is called udf.o. If you want to
+ compile it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+
+ If unsure, say N.
+
+config UDF_RW
+ bool "UDF write support (DANGEROUS)"
+ depends on UDF_FS && EXPERIMENTAL
+ help
+ Say Y if you want to test write support for UDF file systems.
+ Due to lack of support for writing to CDR/CDRW's, this option
+ is only supported for hard discs, DVD-RAM, and loopback files.
+
+config UFS_FS
+ tristate "UFS file system support (read only)"
+ ---help---
+ BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD,
+ OpenBSD and NeXTstep) use a file system called UFS. Some System V
+ Unixes can create and mount hard disk partitions and diskettes using
+ this file system as well. Saying Y here will allow you to read from
+ these partitions; if you also want to write to them, say Y to the
+ experimental "UFS file system write support", below. Please read the
+ file <file:Documentation/filesystems/ufs.txt> for more information.
+
+ If you only intend to mount files from some other Unix over the
+ network using NFS, you don't need the UFS file system support (but
+ you need NFS file system support obviously).
+
+ Note that this option is generally not needed for floppies, since a
+ good portable way to transport files and directories between unixes
+ (and even other operating systems) is given by the tar program ("man
+ tar" or preferably "info tar").
+
+ When accessing NeXTstep files, you may need to convert them from the
+ NeXT character set to the Latin1 character set; use the program
+ recode ("info recode") for this purpose.
+
+ If you want to compile the UFS file system 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 ufs.o.
+
+ If you haven't heard about all of this before, it's safe to say N.
+
+config UFS_FS_WRITE
+ bool "UFS file system write support (DANGEROUS)"
+ depends on UFS_FS && EXPERIMENTAL
+ help
+ Say Y here if you want to try writing to UFS partitions. This is
+ experimental, so you should back up your UFS partitions beforehand.
+
+config XFS_FS
+ tristate "XFS filesystem support"
+ ---help---
+ XFS is a high performance journaling filesystem which originated
+ on the SGI IRIX platform. It is completely multi-threaded, can
+ support large files and large filesystems, extended attributes,
+ variable block sizes, is extent based, and makes extensive use of
+ Btrees (directories, extents, free space) to aid both performance
+ and scalability.
+
+ Refer to the documentation at <http://oss.sgi.com/projects/xfs/>
+ for complete details. This implementation is on-disk compatible
+ with the IRIX version of XFS.
+
+ If you want to compile this file system 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 xfs.o. Be aware, however, that if the file
+ system of your root partition is compiled as a module, you'll need
+ to use an initial ramdisk (initrd) to boot.
+
+config XFS_RT
+ bool "Realtime support (EXPERIMENTAL)"
+ depends on XFS_FS && EXPERIMENTAL
+ ---help---
+ If you say Y here you will be able to mount and use XFS filesystems
+ which contain a realtime subvolume. The realtime subvolume is a
+ separate area of disk space where only file data is stored. The
+ realtime subvolume is designed to provide very deterministic
+ data rates suitable for media streaming applications.
+
+ See the xfs man page in section 5 for a bit more information.
+
+ This feature is unsupported at this time, is not yet fully
+ functional, and may cause serious problems.
+
+ If unsure, say N.
+
+config XFS_QUOTA
+ bool "Quota support"
+ depends on XFS_FS
+ ---help---
+ If you say Y here, you will be able to set limits for disk usage on
+ a per user and/or a per group basis under XFS. XFS considers quota
+ information as filesystem metadata and uses journaling to provide a
+ higher level guarantee of consistency. The on-disk data format for
+ quota is also compatible with the IRIX version of XFS, allowing a
+ filesystem to be migrated between Linux and IRIX without any need
+ for conversion.
+
+ If unsure, say N. More comprehensive documentation can be found in
+ README.quota in the xfsprogs package. XFS quota can be used either
+ with or without the generic quota support enabled (CONFIG_QUOTA) -
+ they are completely independent subsystems.
+
+
+menu "Network File Systems"
+ depends on NET
+
+config CODA_FS
+ tristate "Coda file system support (advanced network fs)"
+ depends on INET
+ ---help---
+ Coda is an advanced network file system, similar to NFS in that it
+ enables you to mount file systems of a remote server and access them
+ with regular Unix commands as if they were sitting on your hard
+ disk. Coda has several advantages over NFS: support for
+ disconnected operation (e.g. for laptops), read/write server
+ replication, security model for authentication and encryption,
+ persistent client caches and write back caching.
+
+ If you say Y here, your Linux box will be able to act as a Coda
+ *client*. You will need user level code as well, both for the
+ client and server. Servers are currently user level, i.e. they need
+ no kernel support. Please read
+ <file:Documentation/filesystems/coda.txt> and check out the Coda
+ home page <http://www.coda.cs.cmu.edu/>.
+
+ If you want to compile the coda client 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 coda.o.
+
+config INTERMEZZO_FS
+ tristate "InterMezzo file system support (replicating fs) (EXPERIMENTAL)"
+ depends on INET && EXPERIMENTAL
+ help
+ InterMezzo is a networked file system with disconnected operation
+ and kernel level write back caching. It is most often used for
+ replicating potentially large trees or keeping laptop/desktop copies
+ in sync.
+
+ If you say Y or M your kernel or module will provide InterMezzo
+ support. You will also need a file server daemon, which you can get
+ from <http://www.inter-mezzo.org/>.
+
+config NFS_FS
+ tristate "NFS file system support"
+ depends on INET
+ ---help---
+ If you are connected to some other (usually local) Unix computer
+ (using SLIP, PLIP, PPP or Ethernet) and want to mount files residing
+ on that computer (the NFS server) using the Network File Sharing
+ protocol, say Y. "Mounting files" means that the client can access
+ the files with usual UNIX commands as if they were sitting on the
+ client's hard disk. For this to work, the server must run the
+ programs nfsd and mountd (but does not need to have NFS file system
+ support enabled in its kernel). NFS is explained in the Network
+ Administrator's Guide, available from
+ <http://www.linuxdoc.org/docs.html#guide>, on its man page: "man
+ nfs", and in the NFS-HOWTO.
+
+ A superior but less widely used alternative to NFS is provided by
+ the Coda file system; see "Coda file system support" below.
+
+ If you say Y here, you should have said Y to TCP/IP networking also.
+ This option would enlarge your kernel by about 27 KB.
+
+ This file system is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called nfs.o. If you want to compile it as a module,
+ say M here and read <file:Documentation/modules.txt>.
+
+ If you are configuring a diskless machine which will mount its root
+ file system over NFS at boot time, say Y here and to "Kernel
+ level IP autoconfiguration" above and to "Root file system on NFS"
+ below. You cannot compile this driver as a module in this case.
+ There are two packages designed for booting diskless machines over
+ the net: netboot, available from
+ <http://ftp1.sourceforge.net/netboot/>, and Etherboot,
+ available from <http://ftp1.sourceforge.net/etherboot/>.
+
+ If you don't know what all this is about, say N.
+
+config NFS_V3
+ bool "Provide NFSv3 client support"
+ depends on NFS_FS
+ help
+ Say Y here if you want your NFS client to be able to speak the newer
+ version 3 of the NFS protocol.
+
+ If unsure, say N.
+
+config NFS_V4
+ bool "Provide NFSv4 client support (EXPERIMENTAL)"
+ depends on NFS_FS && EXPERIMENTAL
+ help
+ Say Y here if you want your NFS client to be able to speak the newer
+ version 4 of the NFS protocol. This feature is experimental, and
+ should only be used if you are interested in helping to test NFSv4.
+
+ If unsure, say N.
+
+config ROOT_NFS
+ bool "Root file system on NFS"
+ depends on NFS_FS=y && IP_PNP
+ help
+ If you want your Linux box to mount its whole root file system (the
+ one containing the directory /) from some other computer over the
+ net via NFS (presumably because your box doesn't have a hard disk),
+ say Y. Read <file:Documentation/nfsroot.txt> for details. It is
+ likely that in this case, you also want to say Y to "Kernel level IP
+ autoconfiguration" so that your box can discover its network address
+ at boot time.
+
+ Most people say N here.
+
+config NFSD
+ tristate "NFS server support"
+ depends on INET
+ ---help---
+ If you want your Linux box to act as an NFS *server*, so that other
+ computers on your local network which support NFS can access certain
+ directories on your box transparently, you have two options: you can
+ use the self-contained user space program nfsd, in which case you
+ should say N here, or you can say Y and use the kernel based NFS
+ server. The advantage of the kernel based solution is that it is
+ faster.
+
+ In either case, you will need support software; the respective
+ locations are given in the file <file:Documentation/Changes> in the
+ NFS section.
+
+ If you say Y here, you will get support for version 2 of the NFS
+ protocol (NFSv2). If you also want NFSv3, say Y to the next question
+ as well.
+
+ Please read the NFS-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>.
+
+ The NFS server is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called nfsd.o. If you want to compile it as a module,
+ say M here and read <file:Documentation/modules.txt>. If unsure,
+ say N.
+
+config NFSD_V3
+ bool "Provide NFSv3 server support"
+ depends on NFSD
+ help
+ If you would like to include the NFSv3 server as well as the NFSv2
+ server, say Y here. If unsure, say Y.
+
+config NFSD_V4
+ bool "Provide NFSv4 server support (EXPERIMENTAL)"
+ depends on NFSD_V3 && EXPERIMENTAL
+ help
+ If you would like to include the NFSv4 server as well as the NFSv2
+ and NFSv3 servers, say Y here. This feature is experimental, and
+ should only be used if you are interested in helping to test NFSv4.
+ If unsure, say N.
+
+config NFSD_TCP
+ bool "Provide NFS server over TCP support (EXPERIMENTAL)"
+ depends on NFSD && EXPERIMENTAL
+ help
+ Enable NFS service over TCP connections. This the officially
+ still experimental, but seems to work well.
+
+config SUNRPC
+ tristate
+ default m if NFS_FS!=y && NFSD!=y && (NFS_FS=m || NFSD=m)
+ default y if NFS_FS=y || NFSD=y
+
+config LOCKD
+ tristate
+ default m if NFS_FS!=y && NFSD!=y && (NFS_FS=m || NFSD=m)
+ default y if NFS_FS=y || NFSD=y
+
+config LOCKD_V4
+ bool
+ depends on NFSD_V3 || NFS_V3
+ default y
+
+config EXPORTFS
+ tristate
+ default NFSD
+
+config CIFS
+ tristate "CIFS support (advanced network filesystem for Samba, Window and other CIFS compliant servers)(EXPERIMENTAL)"
+ depends on INET
+ ---help---
+ This is the client VFS module for the Common Internet File System
+ (CIFS) protocol which is the successor to the Server Message Block
+ (SMB) protocol, the native file sharing mechanism for most early
+ PC operating systems. CIFS is fully supported by current network
+ file servers such as Windows 2000 (including Windows NT version 4
+ and Windows XP) as well by Samba (which provides excellent CIFS
+ server support for Linux and many other operating systems). For
+ production systems the smbfs module may be used instead of this
+ cifs module since smbfs is currently more stable and provides
+ support for older servers. The intent of this module is to provide the
+ most advanced network file system function for CIFS compliant servers,
+ including support for dfs (heirarchical name space), secure per-user
+ session establishment, safe distributed caching (oplock), optional
+ packet signing, Unicode and other internationalization improvements, and
+ optional Winbind (nsswitch) integration. This module is in an early
+ development stage, so unless you are specifically interested in this
+ filesystem, just say N.
+
+config SMB_FS
+ tristate "SMB file system support (to mount Windows shares etc.)"
+ depends on INET
+ ---help---
+ SMB (Server Message Block) is the protocol Windows for Workgroups
+ (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share
+ files and printers over local networks. Saying Y here allows you to
+ mount their file systems (often called "shares" in this context) and
+ access them just like any other Unix directory. Currently, this
+ works only if the Windows machines use TCP/IP as the underlying
+ transport protocol, and not NetBEUI. For details, read
+ <file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO,
+ available from <http://www.linuxdoc.org/docs.html#howto>.
+
+ Note: if you just want your box to act as an SMB *server* and make
+ files and printing services available to Windows clients (which need
+ to have a TCP/IP stack), you don't need to say Y here; you can use
+ the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>)
+ for that.
+
+ General information about how to connect Linux, Windows machines and
+ Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
+
+ If you want to compile the SMB 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 smbfs.o. Most people say N, however.
+
+config SMB_NLS_DEFAULT
+ bool "Use a default NLS"
+ depends on SMB_FS
+ help
+ Enabling this will make smbfs use nls translations by default. You
+ need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls
+ settings and you need to give the default nls for the SMB server as
+ CONFIG_SMB_NLS_REMOTE.
+
+ The nls settings can be changed at mount time, if your smbmount
+ supports that, using the codepage and iocharset parameters.
+
+ smbmount from samba 2.2.0 or later supports this.
+
+config SMB_NLS_REMOTE
+ string "Default Remote NLS Option"
+ depends on SMB_NLS_DEFAULT
+ default "cp437"
+ help
+ This setting allows you to specify a default value for which
+ codepage the server uses. If this field is left blank no
+ translations will be done by default. The local codepage/charset
+ default to CONFIG_NLS_DEFAULT.
+
+ The nls settings can be changed at mount time, if your smbmount
+ supports that, using the codepage and iocharset parameters.
+
+ smbmount from samba 2.2.0 or later supports this.
+
+config NCP_FS
+ tristate "NCP file system support (to mount NetWare volumes)"
+ depends on IPX!=n || INET
+ ---help---
+ NCP (NetWare Core Protocol) is a protocol that runs over IPX and is
+ used by Novell NetWare clients to talk to file servers. It is to
+ IPX what NFS is to TCP/IP, if that helps. Saying Y here allows you
+ to mount NetWare file server volumes and to access them just like
+ any other Unix directory. For details, please read the file
+ <file:Documentation/filesystems/ncpfs.txt> in the kernel source and
+ the IPX-HOWTO from <http://www.linuxdoc.org/docs.html#howto>.
+
+ You do not have to say Y here if you want your Linux box to act as a
+ file *server* for Novell NetWare clients.
+
+ General information about how to connect Linux, Windows machines and
+ Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
+
+ 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 ncpfs.o. Say N unless you are connected to a Novell
+ network.
+
+source "fs/ncpfs/Kconfig"
+
+# for fs/nls/Config.in
+config AFS_FS
+ tristate "Andrew File System support (AFS) (Experimental)"
+ depends on INET && EXPERIMENTAL
+ help
+ If you say Y here, you will get an experimental Andrew File System
+ driver. It currently only supports unsecured read-only AFS access.
+
+ See Documentation/filesystems/afs.txt for more intormation.
+
+ If unsure, say N.
+
+config RXRPC
+ tristate
+ default m if AFS_FS=m
+ default y if AFS_FS=y
+
+endmenu
+
+# for fs/nls/Config.in
+config ZISOFS_FS
+ tristate
+ depends on ZISOFS
+ default ISO9660_FS
+
+
+menu "Partition Types"
+
+source "fs/partitions/Kconfig"
+
+endmenu
+
+source "fs/nls/Kconfig"
+
+endmenu
+
diff --git a/fs/ncpfs/Kconfig b/fs/ncpfs/Kconfig
new file mode 100644
index 000000000000..fe2f2dcc7297
--- /dev/null
+++ b/fs/ncpfs/Kconfig
@@ -0,0 +1,86 @@
+#
+# NCP Filesystem configuration
+#
+config NCPFS_PACKET_SIGNING
+ bool "Packet signatures"
+ depends on NCP_FS
+ help
+ NCP allows packets to be signed for stronger security. If you want
+ security, say Y. Normal users can leave it off. To be able to use
+ packet signing you must use ncpfs > 2.0.12.
+
+config NCPFS_IOCTL_LOCKING
+ bool "Proprietary file locking"
+ depends on NCP_FS
+ help
+ Allows locking of records on remote volumes. Say N unless you have
+ special applications which are able to utilize this locking scheme.
+
+config NCPFS_STRONG
+ bool "Clear remove/delete inhibit when needed"
+ depends on NCP_FS
+ help
+ Allows manipulation of files flagged as Delete or Rename Inhibit.
+ To use this feature you must mount volumes with the ncpmount
+ parameter "-s" (ncpfs-2.0.12 and newer). Say Y unless you are not
+ mounting volumes with -f 444.
+
+config NCPFS_NFS_NS
+ bool "Use NFS namespace if available"
+ depends on NCP_FS
+ help
+ Allows you to utilize NFS namespace on NetWare servers. It brings
+ you case sensitive filenames. Say Y. You can disable it at
+ mount-time with the `-N nfs' parameter of ncpmount.
+
+config NCPFS_OS2_NS
+ bool "Use LONG (OS/2) namespace if available"
+ depends on NCP_FS
+ help
+ Allows you to utilize OS2/LONG namespace on NetWare servers.
+ Filenames in this namespace are limited to 255 characters, they are
+ case insensitive, and case in names is preserved. Say Y. You can
+ disable it at mount time with the -N os2 parameter of ncpmount.
+
+config NCPFS_SMALLDOS
+ bool "Lowercase DOS filenames"
+ depends on NCP_FS
+ ---help---
+ If you say Y here, every filename on a NetWare server volume using
+ the OS2/LONG namespace and created under DOS or on a volume using
+ DOS namespace will be converted to lowercase characters.
+ Saying N here will give you these filenames in uppercase.
+
+ This is only a cosmetic option since the OS2/LONG namespace is case
+ insensitive. The only major reason for this option is backward
+ compatibility when moving from DOS to OS2/LONG namespace support.
+ Long filenames (created by Win95) will not be affected.
+
+ This option does not solve the problem that filenames appear
+ differently under Linux and under Windows, since Windows does an
+ additional conversions on the client side. You can achieve similar
+ effects by saying Y to "Allow using of Native Language Support"
+ below.
+
+config NCPFS_NLS
+ bool "Use Native Language Support"
+ depends on NCP_FS
+ help
+ Allows you to use codepages and I/O charsets for file name
+ translation between the server file system and input/output. This
+ may be useful, if you want to access the server with other operating
+ systems, e.g. Windows 95. See also NLS for more Information.
+
+ To select codepages and I/O charsets use ncpfs-2.2.0.13 or newer.
+
+config NCPFS_EXTRAS
+ bool "Enable symbolic links and execute flags"
+ depends on NCP_FS
+ help
+ This enables the use of symbolic links and an execute permission
+ bit on NCPFS. The file server need not have long name space or NFS
+ name space loaded for these to work.
+
+ To use the new attributes, it is recommended to use the flags
+ '-f 600 -d 755' on the ncpmount command line.
+
diff --git a/fs/nls/Kconfig b/fs/nls/Kconfig
new file mode 100644
index 000000000000..074a9a96c3b0
--- /dev/null
+++ b/fs/nls/Kconfig
@@ -0,0 +1,458 @@
+#
+# Native language support configuration
+#
+# smb wants NLS
+config SMB_NLS
+ bool
+ depends on SMB_FS
+ default y
+
+# msdos and Joliet want NLS
+config NLS
+ bool
+ depends on JOLIET || FAT_FS || NTFS_FS || NCPFS_NLS || SMB_NLS || JFS_FS || CIFS || BEFS_FS
+ default y
+
+
+menu "Native Language Support"
+ depends on NLS
+
+config NLS_DEFAULT
+ string "Default NLS Option"
+ default "iso8859-1"
+ ---help---
+ The default NLS used when mounting file system. Note, that this is
+ the NLS used by your console, not the NLS used by a specific file
+ system (if different) to store data (filenames) on a disk.
+ Currently, the valid values are:
+ big5, cp437, cp737, cp775, cp850, cp852, cp855, cp857, cp860, cp861,
+ cp862, cp863, cp864, cp865, cp866, cp869, cp874, cp932, cp936,
+ cp949, cp950, cp1251, cp1255, euc-jp, euc-kr, gb2312, iso8859-1,
+ iso8859-2, iso8859-3, iso8859-4, iso8859-5, iso8859-6, iso8859-7,
+ iso8859-8, iso8859-9, iso8859-13, iso8859-14, iso8859-15,
+ koi8-r, koi8-ru, koi8-u, sjis, tis-620, utf8.
+ If you specify a wrong value, it will use the built-in NLS;
+ compatible with iso8859-1.
+
+ If unsure, specify it as "iso8859-1".
+
+config NLS_CODEPAGE_437
+ tristate "Codepage 437 (United States, Canada)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored
+ in so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage that is used in
+ the United States and parts of Canada. This is recommended.
+
+config NLS_CODEPAGE_737
+ tristate "Codepage 737 (Greek)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored
+ in so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage that is used for
+ Greek. If unsure, say N.
+
+config NLS_CODEPAGE_775
+ tristate "Codepage 775 (Baltic Rim)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored
+ in so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage that is used
+ for the Baltic Rim Languages (Latvian and Lithuanian). If unsure,
+ say N.
+
+config NLS_CODEPAGE_850
+ tristate "Codepage 850 (Europe)"
+ ---help---
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage that is used for
+ much of Europe -- United Kingdom, Germany, Spain, Italy, and [add
+ more countries here]. It has some characters useful to many European
+ languages that are not part of the US codepage 437.
+
+ If unsure, say Y.
+
+config NLS_CODEPAGE_852
+ tristate "Codepage 852 (Central/Eastern Europe)"
+ ---help---
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the Latin 2 codepage used by DOS
+ for much of Central and Eastern Europe. It has all the required
+ characters for these languages: Albanian, Croatian, Czech, English,
+ Finnish, Hungarian, Irish, German, Polish, Romanian, Serbian (Latin
+ transcription), Slovak, Slovenian, and Sorbian.
+
+config NLS_CODEPAGE_855
+ tristate "Codepage 855 (Cyrillic)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Cyrillic.
+
+config NLS_CODEPAGE_857
+ tristate "Codepage 857 (Turkish)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Turkish.
+
+config NLS_CODEPAGE_860
+ tristate "Codepage 860 (Portuguese)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Portuguese.
+
+config NLS_CODEPAGE_861
+ tristate "Codepage 861 (Icelandic)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Icelandic.
+
+config NLS_CODEPAGE_862
+ tristate "Codepage 862 (Hebrew)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Hebrew.
+
+config NLS_CODEPAGE_863
+ tristate "Codepage 863 (Canadian French)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Canadian
+ French.
+
+config NLS_CODEPAGE_864
+ tristate "Codepage 864 (Arabic)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Arabic.
+
+config NLS_CODEPAGE_865
+ tristate "Codepage 865 (Norwegian, Danish)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for the Nordic
+ European countries.
+
+config NLS_CODEPAGE_866
+ tristate "Codepage 866 (Cyrillic/Russian)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for
+ Cyrillic/Russian.
+
+config NLS_CODEPAGE_869
+ tristate "Codepage 869 (Greek)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Greek.
+
+config NLS_CODEPAGE_936
+ tristate "Simplified Chinese charset (CP936, GB2312)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Simplified
+ Chinese(GBK).
+
+config NLS_CODEPAGE_950
+ tristate "Traditional Chinese charset (Big5)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Traditional
+ Chinese(Big5).
+
+config NLS_CODEPAGE_932
+ tristate "Japanese charsets (Shift-JIS, EUC-JP)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Shift-JIS
+ or EUC-JP. To use EUC-JP, you can use 'euc-jp' as mount option or
+ NLS Default value during kernel configuration, instead of 'cp932'.
+
+config NLS_CODEPAGE_949
+ tristate "Korean charset (CP949, EUC-KR)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for UHC.
+
+config NLS_CODEPAGE_874
+ tristate "Thai charset (CP874, TIS-620)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Thai.
+
+config NLS_ISO8859_8
+ tristate "Hebrew charsets (ISO-8859-8, CP1255)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for ISO8859-8, the Hebrew
+ character set.
+
+config NLS_CODEPAGE_1250
+ tristate "Windows CP1250 (Slavic/Central European Languages)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CDROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the Windows CP-1250
+ character set, which works for most Latin-written Slavic and Central
+ European languages: Czech, German, Hungarian, Polish, Rumanian, Croatian,
+ Slovak, Slovene.
+
+config NLS_CODEPAGE_1251
+ tristate "Windows CP1251 (Bulgarian, Belarusian)"
+ help
+ The Microsoft FAT file system family can deal with filenames in
+ native language character sets. These character sets are stored in
+ so-called DOS codepages. You need to include the appropriate
+ codepage if you want to be able to read/write these filenames on
+ DOS/Windows partitions correctly. This does apply to the filenames
+ only, not to the file contents. You can include several codepages;
+ say Y here if you want to include the DOS codepage for Russian and
+ Bulgarian and Belarusian.
+
+config NLS_ISO8859_1
+ tristate "NLS ISO 8859-1 (Latin 1; Western European Languages)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the Latin 1 character
+ set, which covers most West European languages such as Albanian,
+ Catalan, Danish, Dutch, English, Faeroese, Finnish, French, German,
+ Galician, Irish, Icelandic, Italian, Norwegian, Portuguese, Spanish,
+ and Swedish. It is also the default for the US. If unsure, say Y.
+
+config NLS_ISO8859_2
+ tristate "NLS ISO 8859-2 (Latin 2; Slavic/Central European Languages)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the Latin 2 character
+ set, which works for most Latin-written Slavic and Central European
+ languages: Czech, German, Hungarian, Polish, Rumanian, Croatian,
+ Slovak, Slovene.
+
+config NLS_ISO8859_3
+ tristate "NLS ISO 8859-3 (Latin 3; Esperanto, Galician, Maltese, Turkish)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the Latin 3 character
+ set, which is popular with authors of Esperanto, Galician, Maltese,
+ and Turkish.
+
+config NLS_ISO8859_4
+ tristate "NLS ISO 8859-4 (Latin 4; old Baltic charset)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the Latin 4 character
+ set which introduces letters for Estonian, Latvian, and
+ Lithuanian. It is an incomplete predecessor of Latin 7.
+
+config NLS_ISO8859_5
+ tristate "NLS ISO 8859-5 (Cyrillic)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for ISO8859-5, a Cyrillic
+ character set with which you can type Bulgarian, Belarusian,
+ Macedonian, Russian, Serbian, and Ukrainian. Note that the charset
+ KOI8-R is preferred in Russia.
+
+config NLS_ISO8859_6
+ tristate "NLS ISO 8859-6 (Arabic)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for ISO8859-6, the Arabic
+ character set.
+
+config NLS_ISO8859_7
+ tristate "NLS ISO 8859-7 (Modern Greek)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for ISO8859-7, the Modern
+ Greek character set.
+
+config NLS_ISO8859_9
+ tristate "NLS ISO 8859-9 (Latin 5; Turkish)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the Latin 5 character
+ set, and it replaces the rarely needed Icelandic letters in Latin 1
+ with the Turkish ones. Useful in Turkey.
+
+config NLS_ISO8859_13
+ tristate "NLS ISO 8859-13 (Latin 7; Baltic)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the Latin 7 character
+ set, which supports modern Baltic languages including Latvian
+ and Lithuanian.
+
+config NLS_ISO8859_14
+ tristate "NLS ISO 8859-14 (Latin 8; Celtic)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the Latin 8 character
+ set, which adds the last accented vowels for Welsh (aka Cymraeg)
+ (and Manx Gaelic) that were missing in Latin 1.
+ <http://linux.speech.cymru.org/> has further information.
+
+config NLS_ISO8859_15
+ tristate "NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)"
+ ---help---
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the Latin 9 character
+ set, which covers most West European languages such as Albanian,
+ Catalan, Danish, Dutch, English, Estonian, Faeroese, Finnish,
+ French, German, Galician, Irish, Icelandic, Italian, Norwegian,
+ Portuguese, Spanish, and Swedish. Latin 9 is an update to
+ Latin 1 (ISO 8859-1) that removes a handful of rarely used
+ characters and instead adds support for Estonian, corrects the
+ support for French and Finnish, and adds the new Euro character.
+ If unsure, say Y.
+
+config NLS_KOI8_R
+ tristate "NLS KOI8-R (Russian)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the preferred Russian
+ character set.
+
+config NLS_KOI8_U
+ tristate "NLS KOI8-U/RU (Ukrainian, Belarusian)"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the preferred Ukrainian
+ (koi8-u) and Belarusian (koi8-ru) character sets.
+
+config NLS_UTF8
+ tristate "NLS UTF8"
+ help
+ If you want to display filenames with native language characters
+ from the Microsoft FAT file system family or from JOLIET CD-ROMs
+ correctly on the screen, you need to include the appropriate
+ input/output character sets. Say Y here for the UTF-8 encoding of
+ the Unicode/ISO9646 universal character set.
+
+endmenu
+
diff --git a/fs/partitions/Kconfig b/fs/partitions/Kconfig
new file mode 100644
index 000000000000..d3ac356e33b9
--- /dev/null
+++ b/fs/partitions/Kconfig
@@ -0,0 +1,218 @@
+#
+# Partition configuration
+#
+config PARTITION_ADVANCED
+ bool "Advanced partition selection"
+ help
+ Say Y here if you would like to use hard disks under Linux which
+ were partitioned under an operating system running on a different
+ architecture than your Linux system.
+
+ Note that the answer to this question won't directly affect the
+ kernel: saying N will just cause the configurator to skip all
+ the questions about foreign partitioning schemes.
+
+ If unsure, say N.
+
+config ACORN_PARTITION
+ bool "Acorn partition support" if PARTITION_ADVANCED
+ default y if !PARTITION_ADVANCED && ARCH_ACORN
+ help
+ Support hard disks partitioned under Acorn operating systems.
+
+# bool ' Cumana partition support' CONFIG_ACORN_PARTITION_CUMANA
+config ACORN_PARTITION_ICS
+ bool "ICS partition support" if PARTITION_ADVANCED && ACORN_PARTITION
+ default y if !PARTITION_ADVANCED && ARCH_ACORN
+ help
+ Say Y here if you would like to use hard disks under Linux which
+ were partitioned using the ICS interface on Acorn machines.
+
+config ACORN_PARTITION_ADFS
+ bool "Native filecore partition support" if PARTITION_ADVANCED && ACORN_PARTITION
+ default y if !PARTITION_ADVANCED && ARCH_ACORN
+ help
+ The Acorn Disc Filing System is the standard file system of the
+ RiscOS operating system which runs on Acorn's ARM-based Risc PC
+ systems and the Acorn Archimedes range of machines. If you say
+ `Y' here, Linux will support disk partitions created under ADFS.
+
+config ACORN_PARTITION_POWERTEC
+ bool "PowerTec partition support" if PARTITION_ADVANCED && ACORN_PARTITION
+ default y if !PARTITION_ADVANCED && ARCH_ACORN
+ help
+ Support reading partition tables created on Acorn machines using
+ the PowerTec SCSI drive.
+
+config ACORN_PARTITION_RISCIX
+ bool "RISCiX partition support" if PARTITION_ADVANCED && ACORN_PARTITION
+ default y if !PARTITION_ADVANCED && ARCH_ACORN
+ help
+ Once upon a time, there was a native Unix port for the Acorn series
+ of machines called RISCiX. If you say 'Y' here, Linux will be able
+ to read disks partitioned under RISCiX.
+
+config OSF_PARTITION
+ bool "Alpha OSF partition support" if PARTITION_ADVANCED
+ default y if !PARTITION_ADVANCED && ALPHA
+ help
+ Say Y here if you would like to use hard disks under Linux which
+ were partitioned on an Alpha machine.
+
+config AMIGA_PARTITION
+ bool "Amiga partition table support" if PARTITION_ADVANCED
+ default y if !PARTITION_ADVANCED && (AMIGA || AFFS_FS=y)
+ help
+ Say Y here if you would like to use hard disks under Linux which
+ were partitioned under AmigaOS.
+
+config ATARI_PARTITION
+ bool "Atari partition table support" if PARTITION_ADVANCED
+ default y if !PARTITION_ADVANCED && ATARI
+ help
+ Say Y here if you would like to use hard disks under Linux which
+ were partitioned under the Atari OS.
+
+config IBM_PARTITION
+ bool "IBM disk label and partition support"
+ depends on PARTITION_ADVANCED && ARCH_S390
+ help
+ Say Y here if you would like to be able to read the hard disk
+ partition table format used by IBM DASD disks operating under CMS.
+ Otherwise, say N.
+
+config MAC_PARTITION
+ bool "Macintosh partition map support" if PARTITION_ADVANCED
+ default y if !PARTITION_ADVANCED && MAC
+ help
+ Say Y here if you would like to use hard disks under Linux which
+ were partitioned on a Macintosh.
+
+config MSDOS_PARTITION
+ bool "PC BIOS (MSDOS partition tables) support" if PARTITION_ADVANCED
+ default y if !PARTITION_ADVANCED && !AMIGA && !ATARI && !MAC && !SGI_IP22 && !ARM && !SGI_IP27
+ help
+ Say Y here if you would like to use hard disks under Linux which
+ were partitioned on an x86 PC (not necessarily by DOS).
+
+config BSD_DISKLABEL
+ bool "BSD disklabel (FreeBSD partition tables) support"
+ depends on PARTITION_ADVANCED && MSDOS_PARTITION
+ help
+ FreeBSD uses its own hard disk partition scheme on your PC. It
+ requires only one entry in the primary partition table of your disk
+ and manages it similarly to DOS extended partitions, putting in its
+ first sector a new partition table in BSD disklabel format. Saying Y
+ here allows you to read these disklabels and further mount FreeBSD
+ partitions from within Linux if you have also said Y to "UFS
+ file system support", above. If you don't know what all this is
+ about, say N.
+
+config MINIX_SUBPARTITION
+ bool "Minix subpartition support"
+ depends on PARTITION_ADVANCED && MSDOS_PARTITION
+ help
+ Minix 2.0.0/2.0.2 subpartition table support for Linux.
+ Say Y here if you want to mount and use Minix 2.0.0/2.0.2
+ subpartitions.
+
+config SOLARIS_X86_PARTITION
+ bool "Solaris (x86) partition table support"
+ depends on PARTITION_ADVANCED && MSDOS_PARTITION
+ help
+ Like most systems, Solaris x86 uses its own hard disk partition
+ table format, incompatible with all others. Saying Y here allows you
+ to read these partition tables and further mount Solaris x86
+ partitions from within Linux if you have also said Y to "UFS
+ file system support", above.
+
+config UNIXWARE_DISKLABEL
+ bool "Unixware slices support"
+ depends on PARTITION_ADVANCED && MSDOS_PARTITION
+ ---help---
+ Like some systems, UnixWare uses its own slice table inside a
+ partition (VTOC - Virtual Table of Contents). Its format is
+ incompatible with all other OSes. Saying Y here allows you to read
+ VTOC and further mount UnixWare partitions read-only from within
+ Linux if you have also said Y to "UFS file system support" or
+ "System V and Coherent file system support", above.
+
+ This is mainly used to carry data from a UnixWare box to your
+ Linux box via a removable medium like magneto-optical, ZIP or
+ removable IDE drives. Note, however, that a good portable way to
+ transport files and directories between unixes (and even other
+ operating systems) is given by the tar program ("man tar" or
+ preferably "info tar").
+
+ If you don't know what all this is about, say N.
+
+config LDM_PARTITION
+ bool "Windows Logical Disk Manager (Dynamic Disk) support"
+ depends on PARTITION_ADVANCED
+ ---help---
+ Say Y here if you would like to use hard disks under Linux which
+ were partitioned using Windows 2000's or XP's Logical Disk Manager.
+ They are also known as "Dynamic Disks".
+
+ Windows 2000 introduced the concept of Dynamic Disks to get around
+ the limitations of the PC's partitioning scheme. The Logical Disk
+ Manager allows the user to repartition a disk and create spanned,
+ mirrored, striped or RAID volumes, all without the need for
+ rebooting.
+
+ Normal partitions are now called Basic Disks under Windows 2000 and
+ XP.
+
+ For a fuller description read <file:Documentation/ldm.txt>.
+
+ If unsure, say N.
+
+config LDM_DEBUG
+ bool "Windows LDM extra logging"
+ depends on LDM_PARTITION
+ help
+ Say Y here if you would like LDM to log verbosely. This could be
+ helpful if the driver doesn't work as expected and you'd like to
+ report a bug.
+
+ If unsure, say N.
+
+config SGI_PARTITION
+ bool "SGI partition support" if PARTITION_ADVANCED
+ default y if !PARTITION_ADVANCED && (SGI_IP22 || SGI_IP27)
+ help
+ Say Y here if you would like to be able to read the hard disk
+ partition table format used by SGI machines.
+
+config ULTRIX_PARTITION
+ bool "Ultrix partition table support" if PARTITION_ADVANCED
+ default y if !PARTITION_ADVANCED && DECSTATION
+ help
+ Say Y here if you would like to be able to read the hard disk
+ partition table format used by DEC (now Compaq) Ultrix machines.
+ Otherwise, say N.
+
+config SUN_PARTITION
+ bool "Sun partition tables support" if PARTITION_ADVANCED
+ default y if !PARTITION_ADVANCED && (SPARC32 || SPARC64)
+ ---help---
+ Like most systems, SunOS uses its own hard disk partition table
+ format, incompatible with all others. Saying Y here allows you to
+ read these partition tables and further mount SunOS partitions from
+ within Linux if you have also said Y to "UFS file system support",
+ above. This is mainly used to carry data from a SPARC under SunOS to
+ your Linux box via a removable medium like magneto-optical or ZIP
+ drives; note however that a good portable way to transport files and
+ directories between unixes (and even other operating systems) is
+ given by the tar program ("man tar" or preferably "info tar"). If
+ you don't know what all this is about, say N.
+
+config EFI_PARTITION
+ bool "EFI GUID Partition support"
+ depends on PARTITION_ADVANCED
+ help
+ Say Y here if you would like to use hard disks under Linux which
+ were partitioned using EFI GPT. Presently only useful on the
+ IA-64 platform.
+
+# define_bool CONFIG_ACORN_PARTITION_CUMANA y
diff --git a/init/Kconfig b/init/Kconfig
new file mode 100644
index 000000000000..fbce2d79f8f9
--- /dev/null
+++ b/init/Kconfig
@@ -0,0 +1,150 @@
+
+menu "Code maturity level options"
+
+config EXPERIMENTAL
+ bool "Prompt for development and/or incomplete code/drivers"
+ ---help---
+ Some of the various things that Linux supports (such as network
+ drivers, file systems, network protocols, etc.) can be in a state
+ of development where the functionality, stability, or the level of
+ testing is not yet high enough for general use. This is usually
+ known as the "alpha-test" phase among developers. If a feature is
+ currently in alpha-test, then the developers usually discourage
+ uninformed widespread use of this feature by the general public to
+ avoid "Why doesn't this work?" type mail messages. However, active
+ testing and use of these systems is welcomed. Just be aware that it
+ may not meet the normal level of reliability or it may fail to work
+ in some special cases. Detailed bug reports from people familiar
+ with the kernel internals are usually welcomed by the developers
+ (before submitting bug reports, please read the documents
+ <file:README>, <file:MAINTAINERS>, <file:REPORTING-BUGS>,
+ <file:Documentation/BUG-HUNTING>, and
+ <file:Documentation/oops-tracing.txt> in the kernel source).
+
+ This option will also make obsoleted drivers available. These are
+ drivers that have been replaced by something else, and/or are
+ scheduled to be removed in a future kernel release.
+
+ Unless you intend to help test and develop a feature or driver that
+ falls into this category, or you have a situation that requires
+ using these features, you should probably say N here, which will
+ cause the configurator to present you with fewer choices. If
+ you say Y here, you will be offered the choice of using features or
+ drivers that are currently considered to be in the alpha-test phase.
+
+endmenu
+
+
+menu "General setup"
+
+config NET
+ bool "Networking support"
+ ---help---
+ Unless you really know what you are doing, you should say Y here.
+ The reason is that some programs need kernel networking support even
+ when running on a stand-alone machine that isn't connected to any
+ other computer. If you are upgrading from an older kernel, you
+ should consider updating your networking tools too because changes
+ in the kernel and the tools often go hand in hand. The tools are
+ contained in the package net-tools, the location and version number
+ of which are given in <file:Documentation/Changes>.
+
+ For a general introduction to Linux networking, it is highly
+ recommended to read the NET-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>.
+
+config SYSVIPC
+ bool "System V IPC"
+ ---help---
+ Inter Process Communication is a suite of library functions and
+ system calls which let processes (running programs) synchronize and
+ exchange information. It is generally considered to be a good thing,
+ and some programs won't run unless you say Y here. In particular, if
+ you want to run the DOS emulator dosemu under Linux (read the
+ DOSEMU-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>), you'll need to say Y
+ here.
+
+ You can find documentation about IPC with "info ipc" and also in
+ section 6.4 of the Linux Programmer's Guide, available from
+ <http://www.linuxdoc.org/docs.html#guide>.
+
+config BSD_PROCESS_ACCT
+ bool "BSD Process Accounting"
+ help
+ If you say Y here, a user level program will be able to instruct the
+ kernel (via a special system call) to write process accounting
+ information to a file: whenever a process exits, information about
+ that process will be appended to the file by the kernel. The
+ information includes things such as creation time, owning user,
+ command name, memory usage, controlling terminal etc. (the complete
+ list is in the struct acct in <file:include/linux/acct.h>). It is
+ up to the user level program to do useful things with this
+ information. This is generally a good idea, so say Y.
+
+config SYSCTL
+ bool "Sysctl support"
+ ---help---
+ The sysctl interface provides a means of dynamically changing
+ certain kernel parameters and variables on the fly without requiring
+ a recompile of the kernel or reboot of the system. The primary
+ interface consists of a system call, but if you say Y to "/proc
+ file system support", a tree of modifiable sysctl entries will be
+ generated beneath the /proc/sys directory. They are explained in the
+ files in <file:Documentation/sysctl/>. Note that enabling this
+ option will enlarge the kernel by at least 8 KB.
+
+ As it is generally a good thing, you should say Y here unless
+ building a kernel for install/rescue disks or your system is very
+ limited in memory.
+
+endmenu
+
+
+menu "Loadable module support"
+
+config MODULES
+ bool "Enable loadable module support"
+ help
+ Kernel modules are small pieces of compiled code which can be
+ inserted in or removed from the running kernel, using the programs
+ insmod and rmmod. This is described in the file
+ <file:Documentation/modules.txt>, including the fact that you have
+ to say "make modules" in order to compile the modules that you chose
+ during kernel configuration. Modules can be device drivers, file
+ systems, binary executable formats, and so on. If you think that you
+ may want to make use of modules with this kernel in the future, then
+ say Y here. If unsure, say Y.
+
+config MODVERSIONS
+ bool "Set version information on all module symbols"
+ depends on MODULES
+ ---help---
+ Usually, modules have to be recompiled whenever you switch to a new
+ kernel. Saying Y here makes it possible, and safe, to use the
+ same modules even after compiling a new kernel; this requires the
+ program modprobe. All the software needed for module support is in
+ the modutils package (check the file <file:Documentation/Changes>
+ for location and latest version). NOTE: if you say Y here but don't
+ have the program genksyms (which is also contained in the above
+ mentioned modutils package), then the building of your kernel will
+ fail. If you are going to use modules that are generated from
+ non-kernel sources, you would benefit from this option. Otherwise
+ it's not that important. So, N ought to be a safe bet.
+
+config KMOD
+ bool "Kernel module loader"
+ depends on MODULES
+ help
+ Normally when you have selected some drivers and/or file systems to
+ be created as loadable modules, you also have the responsibility to
+ load the corresponding modules (using the programs insmod or
+ modprobe) before you can use them. If you say Y here however, the
+ kernel will be able to load modules for itself: when a part of the
+ kernel needs a module, it runs modprobe with the appropriate
+ arguments, thereby loading the module if it is available. (This is a
+ replacement for kerneld.) Say Y here and read about configuring it
+ in <file:Documentation/kmod.txt>.
+
+endmenu
+
diff --git a/lib/Kconfig b/lib/Kconfig
new file mode 100644
index 000000000000..d965d02e8f3f
--- /dev/null
+++ b/lib/Kconfig
@@ -0,0 +1,29 @@
+#
+# Library configuration
+#
+
+menu "Library routines"
+
+config CRC32
+ tristate "CRC32 functions"
+ help
+ This option is provided for the case where no in-kernel-tree
+ modules require CRC32 functions, but a module built outside the
+ kernel tree does. Such modules that use library CRC32 functions
+ require M here.
+
+#
+# Do we need the compression support?
+#
+config ZLIB_INFLATE
+ tristate
+ default m if CRAMFS!=y && PPP_DEFLATE!=y && JFFS2_FS!=y && ZISOFS_FS!=y && (CRAMFS=m || PPP_DEFLATE=m || JFFS2_FS=m || ZISOFS_FS=m)
+ default y if CRAMFS=y || PPP_DEFLATE=y || JFFS2_FS=y || ZISOFS_FS=y
+
+config ZLIB_DEFLATE
+ tristate
+ default m if PPP_DEFLATE!=y && JFFS2_FS!=y && (PPP_DEFLATE=m || JFFS2_FS=m)
+ default y if PPP_DEFLATE=y || JFFS2_FS=y
+
+endmenu
+
diff --git a/net/Kconfig b/net/Kconfig
new file mode 100644
index 000000000000..48ad2aa073c4
--- /dev/null
+++ b/net/Kconfig
@@ -0,0 +1,625 @@
+#
+# Network configuration
+#
+
+menu "Networking options"
+ depends on NET
+
+config PACKET
+ tristate "Packet socket"
+ ---help---
+ The Packet protocol is used by applications which communicate
+ directly with network devices without an intermediate network
+ protocol implemented in the kernel, e.g. tcpdump. If you want them
+ to work, choose Y.
+
+ This driver is also available as a module called af_packet.o ( =
+ 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>; if you use modprobe
+ or kmod, you may also want to add "alias net-pf-17 af_packet" to
+ /etc/modules.conf.
+
+ If unsure, say Y.
+
+config PACKET_MMAP
+ bool "Packet socket: mmapped IO"
+ depends on PACKET
+ help
+ If you say Y here, the Packet protocol driver will use an IO
+ mechanism that results in faster communication.
+
+ If unsure, say N.
+
+config NETLINK_DEV
+ tristate "Netlink device emulation"
+ help
+ This option will be removed soon. Any programs that want to use
+ character special nodes like /dev/tap0 or /dev/route (all with major
+ number 36) need this option, and need to be rewritten soon to use
+ the real netlink socket.
+ This is a backward compatibility option, choose Y for now.
+
+config NETFILTER
+ bool "Network packet filtering (replaces ipchains)"
+ ---help---
+ Netfilter is a framework for filtering and mangling network packets
+ that pass through your Linux box.
+
+ The most common use of packet filtering is to run your Linux box as
+ a firewall protecting a local network from the Internet. The type of
+ firewall provided by this kernel support is called a "packet
+ filter", which means that it can reject individual network packets
+ based on type, source, destination etc. The other kind of firewall,
+ a "proxy-based" one, is more secure but more intrusive and more
+ bothersome to set up; it inspects the network traffic much more
+ closely, modifies it and has knowledge about the higher level
+ protocols, which a packet filter lacks. Moreover, proxy-based
+ firewalls often require changes to the programs running on the local
+ clients. Proxy-based firewalls don't need support by the kernel, but
+ they are often combined with a packet filter, which only works if
+ you say Y here.
+
+ You should also say Y here if you intend to use your Linux box as
+ the gateway to the Internet for a local network of machines without
+ globally valid IP addresses. This is called "masquerading": if one
+ of the computers on your local network wants to send something to
+ the outside, your box can "masquerade" as that computer, i.e. it
+ forwards the traffic to the intended outside destination, but
+ modifies the packets to make it look like they came from the
+ firewall box itself. It works both ways: if the outside host
+ replies, the Linux box will silently forward the traffic to the
+ correct local computer. This way, the computers on your local net
+ are completely invisible to the outside world, even though they can
+ reach the outside and can receive replies. It is even possible to
+ run globally visible servers from within a masqueraded local network
+ using a mechanism called portforwarding. Masquerading is also often
+ called NAT (Network Address Translation).
+
+ Another use of Netfilter is in transparent proxying: if a machine on
+ the local network tries to connect to an outside host, your Linux
+ box can transparently forward the traffic to a local server,
+ typically a caching proxy server.
+
+ Various modules exist for netfilter which replace the previous
+ masquerading (ipmasqadm), packet filtering (ipchains), transparent
+ proxying, and portforwarding mechanisms. Please see
+ <file:Documentation/Changes> under "iptables" for the location of
+ these packages.
+
+ Make sure to say N to "Fast switching" below if you intend to say Y
+ here, as Fast switching currently bypasses netfilter.
+
+ Chances are that you should say Y here if you compile a kernel which
+ will run as a router and N for regular hosts. If unsure, say N.
+
+config NETFILTER_DEBUG
+ bool "Network packet filtering debugging"
+ depends on NETFILTER
+ help
+ You can say Y here if you want to get additional messages useful in
+ debugging the netfilter code.
+
+config FILTER
+ bool "Socket Filtering"
+ ---help---
+ The Linux Socket Filter is derived from the Berkeley Packet Filter.
+ If you say Y here, user-space programs can attach a filter to any
+ socket and thereby tell the kernel that it should allow or disallow
+ certain types of data to get through the socket. Linux Socket
+ Filtering works on all socket types except TCP for now. See the
+ text file <file:Documentation/networking/filter.txt> for more
+ information.
+
+ You need to say Y here if you want to use PPP packet filtering
+ (see the CONFIG_PPP_FILTER option below).
+
+ If unsure, say N.
+
+config UNIX
+ tristate "Unix domain sockets"
+ ---help---
+ If you say Y here, you will include support for Unix domain sockets;
+ sockets are the standard Unix mechanism for establishing and
+ accessing network connections. Many commonly used programs such as
+ the X Window system and syslog use these sockets even if your
+ machine is not connected to any network. Unless you are working on
+ an embedded system or something similar, you therefore definitely
+ want to say Y here.
+
+ However, the socket support 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 unix.o. If you try building this as a module and you have
+ said Y to "Kernel module loader support" above, be sure to add
+ 'alias net-pf-1 unix' to your /etc/modules.conf file. Note that
+ several important services won't work correctly if you say M here
+ and then neglect to load the module.
+
+ Say Y unless you know what you are doing.
+
+config INET
+ bool "TCP/IP networking"
+ ---help---
+ These are the protocols used on the Internet and on most local
+ Ethernets. It is highly recommended to say Y here (this will enlarge
+ your kernel by about 144 KB), since some programs (e.g. the X window
+ system) use TCP/IP even if your machine is not connected to any
+ other computer. You will get the so-called loopback device which
+ allows you to ping yourself (great fun, that!).
+
+ For an excellent introduction to Linux networking, please read the
+ NET-3-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>.
+
+ This option is also necessary if you want to use the full power of
+ term (term is a program which gives you almost full Internet
+ connectivity if you have a regular dial up shell account on some
+ Internet connected Unix computer; for more information, read
+ <http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html>).
+
+ If you say Y here and also to "/proc file system support" and
+ "Sysctl support" below, you can change various aspects of the
+ behavior of the TCP/IP code by writing to the (virtual) files in
+ /proc/sys/net/ipv4/*; the options are explained in the file
+ <file:Documentation/networking/ip-sysctl.txt>.
+
+ Short answer: say Y.
+
+source "net/ipv4/Kconfig"
+
+# IPv6 as module will cause a CRASH if you try to unload it
+config IPV6
+ tristate "The IPv6 protocol (EXPERIMENTAL)"
+ depends on INET && EXPERIMENTAL
+ ---help---
+ This is experimental support for the next version of the Internet
+ Protocol: IP version 6 (also called IPng "IP next generation").
+ Features of this new protocol include: expanded address space,
+ authentication and privacy, and seamless interoperability with the
+ current version of IP (IP version 4). For general information about
+ IPv6, see <http://playground.sun.com/pub/ipng/html/ipng-main.html>;
+ for specific information about IPv6 under Linux read the HOWTO at
+ <http://www.bieringer.de/linux/IPv6/> and the file net/ipv6/README
+ in the kernel source.
+
+ If you want to use IPv6, please upgrade to the newest net-tools as
+ given in <file:Documentation/Changes>. You will still be able to do
+ regular IPv4 networking as well.
+
+ This protocol support 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 ipv6.o. If you want to compile it
+ as a module, say M here and read <file:Documentation/modules.txt>.
+
+ It is safe to say N here for now.
+
+source "net/ipv6/Kconfig"
+
+source "net/sctp/Kconfig"
+
+config ATM
+ bool "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ ---help---
+ ATM is a high-speed networking technology for Local Area Networks
+ and Wide Area Networks. It uses a fixed packet size and is
+ connection oriented, allowing for the negotiation of minimum
+ bandwidth requirements.
+
+ In order to participate in an ATM network, your Linux box needs an
+ ATM networking card. If you have that, say Y here and to the driver
+ of your ATM card below.
+
+ Note that you need a set of user-space programs to actually make use
+ of ATM. See the file <file:Documentation/networking/atm.txt> for
+ further details.
+
+config ATM_CLIP
+ bool "Classical IP over ATM (EXPERIMENTAL)"
+ depends on ATM && INET
+ help
+ Classical IP over ATM for PVCs and SVCs, supporting InARP and
+ ATMARP. If you want to communication with other IP hosts on your ATM
+ network, you will typically either say Y here or to "LAN Emulation
+ (LANE)" below.
+
+config ATM_CLIP_NO_ICMP
+ bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
+ depends on ATM_CLIP
+ help
+ Normally, an "ICMP host unreachable" message is sent if a neighbour
+ cannot be reached because there is no VC to it in the kernel's
+ ATMARP table. This may cause problems when ATMARP table entries are
+ briefly removed during revalidation. If you say Y here, packets to
+ such neighbours are silently discarded instead.
+
+config ATM_LANE
+ tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
+ depends on ATM
+ help
+ LAN Emulation emulates services of existing LANs across an ATM
+ network. Besides operating as a normal ATM end station client, Linux
+ LANE client can also act as an proxy client bridging packets between
+ ELAN and Ethernet segments. You need LANE if you want to try MPOA.
+
+config ATM_MPOA
+ tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
+ depends on ATM && INET && ATM_LANE!=n
+ help
+ Multi-Protocol Over ATM allows ATM edge devices such as routers,
+ bridges and ATM attached hosts establish direct ATM VCs across
+ subnetwork boundaries. These shortcut connections bypass routers
+ enhancing overall network performance.
+
+config VLAN_8021Q
+ tristate "802.1Q VLAN Support"
+
+config LLC
+ tristate "ANSI/IEEE 802.2 Data link layer protocol (IPX, Appletalk)"
+ help
+ This is a Logical Link Layer protocol used for Appletalk, IPX and in
+ the future by NetBEUI and by the linux-sna project. It originally
+ came from Procom Inc. that released the code for 2.0.36 and was
+ ported to 2.{4,5}. Select this if you want to have support for
+ those protocols or if you want to have the sockets interface for
+ LLC.
+
+
+config LLC_UI
+ bool "LLC sockets interface"
+ depends on LLC
+
+config IPX
+ tristate "The IPX protocol"
+ depends on LLC
+ ---help---
+ This is support for the Novell networking protocol, IPX, commonly
+ used for local networks of Windows machines. You need it if you
+ want to access Novell NetWare file or print servers using the Linux
+ Novell client ncpfs (available from
+ <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
+ within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
+ available from <http://www.linuxdoc.org/docs.html#howto>). In order
+ to do the former, you'll also have to say Y to "NCP file system
+ support", below.
+
+ IPX is similar in scope to IP, while SPX, which runs on top of IPX,
+ is similar to TCP. There is also experimental support for SPX in
+ Linux (see "SPX networking", below).
+
+ To turn your Linux box into a fully featured NetWare file server and
+ IPX router, say Y here and fetch either lwared from
+ <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
+ mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
+ information, read the IPX-HOWTO available from
+ <http://www.linuxdoc.org/docs.html#howto>.
+
+ General information about how to connect Linux, Windows machines and
+ Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
+
+ The IPX driver would enlarge your kernel by about 16 KB. 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 ipx.o. If you want to compile it as a module, say M here
+ and read <file:Documentation/modules.txt>. Unless you want to
+ integrate your Linux box with a local Novell network, say N.
+
+source "net/ipx/Kconfig"
+
+config ATALK
+ tristate "Appletalk protocol support"
+ depends on LLC
+ ---help---
+ AppleTalk is the protocol that Apple computers can use to communicate
+ on a network. If your Linux box is connected to such a network and you
+ wish to connect to it, say Y. You will need to use the netatalk package
+ so that your Linux box can act as a print and file server for Macs as
+ well as access AppleTalk printers. Check out
+ <http://www.zettabyte.net/netatalk/> on the WWW for details.
+ EtherTalk is the name used for AppleTalk over Ethernet and the
+ cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
+ network using serial links. EtherTalk and LocalTalk are fully
+ supported by Linux.
+
+ General information about how to connect Linux, Windows machines and
+ Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. The
+ NET-3-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>, contains valuable
+ information 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 is called appletalk.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>. You
+ almost certainly want to compile it as a module so you can restart
+ your AppleTalk stack without rebooting your machine. I hear that
+ the GNU boycott of Apple is over, so even politically correct people
+ are allowed to say Y here.
+
+source "drivers/net/appletalk/Kconfig"
+
+config DECNET
+ tristate "DECnet Support"
+ ---help---
+ The DECnet networking protocol was used in many products made by
+ Digital (now Compaq). It provides reliable stream and sequenced
+ packet communications over which run a variety of services similar
+ to those which run over TCP/IP.
+
+ To find some tools to use with the kernel layer support, please
+ look at Patrick Caulfield's web site:
+ <http://linux.dreamtime.org/decnet/>.
+
+ More detailed documentation is available in
+ <file:Documentation/networking/decnet.txt>.
+
+ Be sure to say Y to "/proc file system support" and "Sysctl support"
+ below when using DECnet, since you will need sysctl support to aid
+ in configuration at run time.
+
+ The DECnet code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called decnet.o.
+
+source "net/decnet/Kconfig"
+
+config BRIDGE
+ tristate "802.1d Ethernet Bridging"
+ depends on INET
+ ---help---
+ If you say Y here, then your Linux box will be able to act as an
+ Ethernet bridge, which means that the different Ethernet segments it
+ is connected to will appear as one Ethernet to the participants.
+ Several such bridges can work together to create even larger
+ networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
+ As this is a standard, Linux bridges will cooperate properly with
+ other third party bridge products.
+
+ In order to use the Ethernet bridge, you'll need the bridge
+ configuration tools; see <file:Documentation/networking/bridge.txt>
+ for location. Please read the Bridge mini-HOWTO for more
+ information.
+
+ Note that if your box acts as a bridge, it probably contains several
+ Ethernet devices, but the kernel is not able to recognize more than
+ one at boot time without help; for details read the Ethernet-HOWTO,
+ available from in <http://www.linuxdoc.org/docs.html#howto>.
+
+ If you want to compile this code 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 bridge.o.
+
+ If unsure, say N.
+
+source "net/bridge/netfilter/Kconfig"
+
+config X25
+ tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ ---help---
+ X.25 is a set of standardized network protocols, similar in scope to
+ frame relay; the one physical line from your box to the X.25 network
+ entry point can carry several logical point-to-point connections
+ (called "virtual circuits") to other computers connected to the X.25
+ network. Governments, banks, and other organizations tend to use it
+ to connect to each other or to form Wide Area Networks (WANs). Many
+ countries have public X.25 networks. X.25 consists of two
+ protocols: the higher level Packet Layer Protocol (PLP) (say Y here
+ if you want that) and the lower level data link layer protocol LAPB
+ (say Y to "LAPB Data Link Driver" below if you want that).
+
+ You can read more about X.25 at <http://www.sangoma.com/x25.htm> and
+ <http://www.cisco.com/univercd/data/doc/software/11_0/rpcg/cx25.htm>.
+ Information about X.25 for Linux is contained in the files
+ <file:Documentation/networking/x25.txt> and
+ <file:Documentation/networking/x25-iface.txt>.
+
+ One connects to an X.25 network either with a dedicated network card
+ using the X.21 protocol (not yet supported by Linux) or one can do
+ X.25 over a standard telephone line using an ordinary modem (say Y
+ to "X.25 async driver" below) or over Ethernet using an ordinary
+ Ethernet card and either the 802.2 LLC protocol (say Y to "802.2
+ LLC" below) or LAPB over Ethernet (say Y to "LAPB Data Link Driver"
+ and "LAPB over Ethernet driver" below).
+
+ 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 x25.o. If unsure, say N.
+
+config LAPB
+ tristate "LAPB Data Link Driver (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ ---help---
+ Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
+ the lower) part of the X.25 protocol. It offers a reliable
+ connection service to exchange data frames with one other host, and
+ it is used to transport higher level protocols (mostly X.25 Packet
+ Layer, the higher part of X.25, but others are possible as well).
+ Usually, LAPB is used with specialized X.21 network cards, but Linux
+ currently supports LAPB only over Ethernet connections. If you want
+ to use LAPB connections over Ethernet, say Y here and to "LAPB over
+ Ethernet driver" below. Read
+ <file:Documentation/networking/lapb-module.txt> for technical
+ details.
+
+ If you want to compile this driver as a module though ( = 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 lapb.o. If unsure, say N.
+
+config NET_DIVERT
+ bool "Frame Diverter (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ ---help---
+ The Frame Diverter allows you to divert packets from the
+ network, that are not aimed at the interface receiving it (in
+ promisc. mode). Typically, a Linux box setup as an Ethernet bridge
+ with the Frames Diverter on, can do some *really* transparent www
+ caching using a Squid proxy for example.
+
+ This is very useful when you don't want to change your router's
+ config (or if you simply don't have access to it).
+
+ The other possible usages of diverting Ethernet Frames are
+ numberous:
+ - reroute smtp traffic to another interface
+ - traffic-shape certain network streams
+ - transparently proxy smtp connections
+ - etc...
+
+ For more informations, please refer to:
+ <http://diverter.sourceforge.net/>
+ <http://perso.wanadoo.fr/magpie/EtherDivert.html>
+
+ If unsure, say N.
+
+config ECONET
+ tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && INET
+ ---help---
+ Econet is a fairly old and slow networking protocol mainly used by
+ Acorn computers to access file and print servers. It uses native
+ Econet network cards. AUN is an implementation of the higher level
+ parts of Econet that runs over ordinary Ethernet connections, on
+ top of the UDP packet protocol, which in turn runs on top of the
+ Internet protocol IP.
+
+ If you say Y here, you can choose with the next two options whether
+ to send Econet/AUN traffic over a UDP Ethernet connection or over
+ a native Econet network card.
+
+ 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 econet.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config ECONET_AUNUDP
+ bool "AUN over UDP"
+ depends on ECONET
+ help
+ Say Y here if you want to send Econet/AUN traffic over a UDP
+ connection (UDP is a packet based protocol that runs on top of the
+ Internet protocol IP) using an ordinary Ethernet network card.
+
+config ECONET_NATIVE
+ bool "Native Econet"
+ depends on ECONET
+ help
+ Say Y here if you have a native Econet network card installed in
+ your computer.
+
+config WAN_ROUTER
+ tristate "WAN router"
+ depends on EXPERIMENTAL
+ ---help---
+ Wide Area Networks (WANs), such as X.25, frame relay and leased
+ lines, are used to interconnect Local Area Networks (LANs) over vast
+ distances with data transfer rates significantly higher than those
+ achievable with commonly used asynchronous modem connections.
+ Usually, a quite expensive external device called a `WAN router' is
+ needed to connect to a WAN.
+
+ As an alternative, WAN routing can be built into the Linux kernel.
+ With relatively inexpensive WAN interface cards available on the
+ market, a perfectly usable router can be built for less than half
+ the price of an external router. If you have one of those cards and
+ wish to use your Linux box as a WAN router, say Y here and also to
+ the WAN driver for your card, below. You will then need the
+ wan-tools package which is available from <ftp://ftp.sangoma.com/>.
+ Read <file:Documentation/networking/wan-router.txt> for more
+ information.
+
+ The WAN routing support is also available as a module called
+ wanrouter.o ( = 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>.
+
+ If unsure, say N.
+
+config NET_FASTROUTE
+ bool "Fast switching (read help!)"
+ depends on EXPERIMENTAL
+ ---help---
+ Saying Y here enables direct NIC-to-NIC (NIC = Network Interface
+ Card) data transfers on the local network, which is fast.
+
+ IMPORTANT NOTE: This option is NOT COMPATIBLE with "Network packet
+ filtering" (CONFIG_NETFILTER). Say N here if you say Y there.
+
+ However, it will work with all options in the "Advanced router"
+ section (except for "Use TOS value as routing key" and
+ "Use FWMARK value as routing key").
+
+ At the moment, few devices support fast switching (tulip is one of
+ them, a modified 8390 driver can be found at
+ <ftp://ftp.inr.ac.ru/ip-routing/fastroute/fastroute-8390.tar.gz>).
+
+ If unsure, say N.
+
+config NET_HW_FLOWCONTROL
+ bool "Forwarding between high speed interfaces"
+ depends on EXPERIMENTAL
+ ---help---
+ This option enables NIC (Network Interface Card) hardware throttling
+ during periods of extremal congestion. At the moment only a couple
+ of device drivers support it (really only one -- tulip, a modified
+ 8390 driver can be found at
+ <ftp://ftp.inr.ac.ru/ip-routing/fastroute/fastroute-8390.tar.gz>).
+
+ Really, this option is applicable to any machine attached to a fast
+ enough network, and even a 10 Mb NIC is able to kill a not very slow
+ box, such as a 120MHz Pentium.
+
+ However, do not say Y here if you did not experience any serious
+ problems.
+
+
+menu "QoS and/or fair queueing"
+
+config NET_SCHED
+ bool "QoS and/or fair queueing"
+ ---help---
+ When the kernel has several packets to send out over a network
+ device, it has to decide which ones to send first, which ones to
+ delay, and which ones to drop. This is the job of the packet
+ scheduler, and several different algorithms for how to do this
+ "fairly" have been proposed.
+
+ If you say N here, you will get the standard packet scheduler, which
+ is a FIFO (first come, first served). If you say Y here, you will be
+ able to choose from among several alternative algorithms which can
+ then be attached to different network devices. This is useful for
+ example if some of your network devices are real time devices that
+ need a certain minimum data flow rate, or if you need to limit the
+ maximum data flow rate for traffic which matches specified criteria.
+ This code is considered to be experimental.
+
+ To administer these schedulers, you'll need the user-level utilities
+ from the package iproute2+tc at <ftp://ftp.inr.ac.ru/ip-routing/>.
+ That package also contains some documentation; for more, check out
+ <http://snafu.freedom.org/linux2.2/iproute-notes.html>.
+
+ This Quality of Service (QoS) support will enable you to use
+ Differentiated Services (diffserv) and Resource Reservation Protocol
+ (RSVP) on your Linux router if you also say Y to "QoS support",
+ "Packet classifier API" and to some classifiers below. Documentation
+ and software is at <http://icawww1.epfl.ch/linux-diffserv/>.
+
+ If you say Y here and to "/proc file system" below, you will be able
+ to read status information about packet schedulers from the file
+ /proc/net/psched.
+
+ The available schedulers are listed in the following questions; you
+ can say Y to as many as you like. If unsure, say N now.
+
+source "net/sched/Kconfig"
+
+#bool 'Network code profiler' CONFIG_NET_PROFILE
+endmenu
+
+endmenu
+
diff --git a/net/ax25/Kconfig b/net/ax25/Kconfig
new file mode 100644
index 000000000000..8b10560f5bb4
--- /dev/null
+++ b/net/ax25/Kconfig
@@ -0,0 +1,119 @@
+#
+# Amateur Radio protocols and AX.25 device configuration
+#
+# 19971130 Now in an own category to make correct compilation of the
+# AX.25 stuff easier...
+# Joerg Reuter DL1BKE <jreuter@yaina.de>
+# 19980129 Moved to net/ax25/Config.in, sourcing device drivers.
+
+menu "Amateur Radio support"
+
+config HAMRADIO
+ bool "Amateur Radio support"
+ help
+ If you want to connect your Linux box to an amateur radio, answer Y
+ here. You want to read <http://www.tapr.org/tapr/html/pkthome.html> and
+ the AX25-HOWTO, available from <http://www.linuxdoc.org/docs.html#howto>.
+
+ Note that the answer to this question won't directly affect the
+ kernel: saying N will just cause the configurator to skip all
+ the questions about amateur radio.
+
+comment "Packet Radio protocols"
+ depends on HAMRADIO && NET
+
+config AX25
+ tristate "Amateur Radio AX.25 Level 2 protocol"
+ depends on HAMRADIO && NET
+ ---help---
+ This is the protocol used for computer communication over amateur
+ radio. It is either used by itself for point-to-point links, or to
+ carry other protocols such as tcp/ip. To use it, you need a device
+ that connects your Linux box to your amateur radio. You can either
+ use a low speed TNC (a Terminal Node Controller acts as a kind of
+ modem connecting your computer's serial port to your radio's
+ microphone input and speaker output) supporting the KISS protocol or
+ one of the various SCC cards that are supported by the generic Z8530
+ or the DMA SCC driver. Another option are the Baycom modem serial
+ and parallel port hacks or the sound card modem (supported by their
+ own drivers). If you say Y here, you also have to say Y to one of
+ those drivers.
+
+ Information about where to get supporting software for Linux amateur
+ radio as well as information about how to configure an AX.25 port is
+ contained in the AX25-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>. You might also want to
+ check out the file <file:Documentation/networking/ax25.txt> in the
+ kernel source. More information about digital amateur radio in
+ general is on the WWW at
+ <http://www.tapr.org/tapr/html/pkthome.html>.
+
+ 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 ax25.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config AX25_DAMA_SLAVE
+ bool "AX.25 DAMA Slave support"
+ depends on AX25
+ help
+ DAMA is a mechanism to prevent collisions when doing AX.25
+ networking. A DAMA server (called "master") accepts incoming traffic
+ from clients (called "slaves") and redistributes it to other slaves.
+ If you say Y here, your Linux box will act as a DAMA slave; this is
+ transparent in that you don't have to do any special DAMA
+ configuration. (Linux cannot yet act as a DAMA server.) If unsure,
+ say N.
+
+# bool ' AX.25 DAMA Master support' CONFIG_AX25_DAMA_MASTER
+config NETROM
+ tristate "Amateur Radio NET/ROM protocol"
+ depends on AX25
+ ---help---
+ NET/ROM is a network layer protocol on top of AX.25 useful for
+ routing.
+
+ A comprehensive listing of all the software for Linux amateur radio
+ users as well as information about how to configure an AX.25 port is
+ contained in the AX25-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>. You also might want to
+ check out the file <file:Documentation/networking/ax25.txt>. More
+ information about digital amateur radio in general is on the WWW at
+ <http://www.tapr.org/tapr/html/pkthome.html>.
+
+ 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 netrom.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config ROSE
+ tristate "Amateur Radio X.25 PLP (Rose)"
+ depends on AX25
+ ---help---
+ The Packet Layer Protocol (PLP) is a way to route packets over X.25
+ connections in general and amateur radio AX.25 connections in
+ particular, essentially an alternative to NET/ROM.
+
+ A comprehensive listing of all the software for Linux amateur radio
+ users as well as information about how to configure an AX.25 port is
+ contained in the AX25-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>. You also might want to
+ check out the file <file:Documentation/networking/ax25.txt>. More
+ information about digital amateur radio in general is on the WWW at
+ <http://www.tapr.org/tapr/html/pkthome.html>.
+
+ 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 rose.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+
+menu "AX.25 network device drivers"
+ depends on HAMRADIO && NET && AX25!=n
+
+source "drivers/net/hamradio/Kconfig"
+
+endmenu
+
+endmenu
+
diff --git a/net/bluetooth/Kconfig b/net/bluetooth/Kconfig
new file mode 100644
index 000000000000..41dc12340fe1
--- /dev/null
+++ b/net/bluetooth/Kconfig
@@ -0,0 +1,63 @@
+#
+# Bluetooth subsystem configuration
+#
+
+menu "Bluetooth support"
+ depends on NET
+
+config BT
+ tristate "Bluetooth subsystem support"
+ ---help---
+ Bluetooth is low-cost, low-power, short-range wireless technology.
+ It was designed as a replacement for cables and other short-range
+ technologies like IrDA. Bluetooth operates in personal area range
+ that typically extends up to 10 meters. More information about
+ Bluetooth can be found at <http://www.bluetooth.com/>.
+
+ Linux Bluetooth subsystem consist of several layers:
+ Bluetooth Core (HCI device and connection manager, scheduler)
+ HCI Device drivers (interface to the hardware)
+ L2CAP Module (L2CAP protocol)
+ SCO Module (SCO links)
+ RFCOMM Module (RFCOMM protocol)
+ BNEP Module (BNEP protocol)
+
+ Say Y here to enable Linux Bluetooth support and to build Bluetooth Core
+ layer.
+
+ To use Linux Bluetooth subsystem, you will need several user-space
+ utilities like hciconfig and hcid. These utilities and updates to
+ Bluetooth kernel modules are provided in the BlueZ packages.
+ For more information, see <http://bluez.sourceforge.net/>.
+
+ If you want to compile Bluetooth Core as module (bluetooth.o) say M here.
+
+config BT_L2CAP
+ tristate "L2CAP protocol support"
+ depends on BT
+ help
+ L2CAP (Logical Link Control and Adaptation Protocol) provides
+ connection oriented and connection-less data transport. L2CAP
+ support is required for most Bluetooth applications.
+
+ Say Y here to compile L2CAP support into the kernel or say M to
+ compile it as module (l2cap.o).
+
+config BT_SCO
+ tristate "SCO links support"
+ depends on BT
+ help
+ SCO link provides voice transport over Bluetooth. SCO support is
+ required for voice applications like Headset and Audio.
+
+ Say Y here to compile SCO support into the kernel or say M to
+ compile it as module (sco.o).
+
+source "net/bluetooth/rfcomm/Kconfig"
+
+source "net/bluetooth/bnep/Kconfig"
+
+source "drivers/bluetooth/Kconfig"
+
+endmenu
+
diff --git a/net/bluetooth/bnep/Kconfig b/net/bluetooth/bnep/Kconfig
new file mode 100644
index 000000000000..2daa12a25979
--- /dev/null
+++ b/net/bluetooth/bnep/Kconfig
@@ -0,0 +1,27 @@
+config BT_BNEP
+ tristate "BNEP protocol support"
+ depends on BT_L2CAP
+ ---help---
+ BNEP (Bluetooth Network Encapsulation Protocol) is Ethernet
+ emulation layer on top of Bluetooth. BNEP is required for Bluetooth
+ PAN (Personal Area Network).
+
+ To use BNEP, you will need user-space utilities provided in the
+ BlueZ-PAN package.
+ For more information, see <http://bluez.sourceforge.net>.
+
+ Say Y here to compile BNEP support into the kernel or say M to
+ compile it as module (bnep.o).
+
+config BT_BNEP_MC_FILTER
+ bool "Multicast filter support"
+ depends on BT_BNEP
+ help
+ This option enables the multicast filter support for BNEP.
+
+config BT_BNEP_PROTO_FILTER
+ bool "Protocol filter support"
+ depends on BT_BNEP
+ help
+ This option enables the protocol filter support for BNEP.
+
diff --git a/net/bluetooth/rfcomm/Kconfig b/net/bluetooth/rfcomm/Kconfig
new file mode 100644
index 000000000000..41bd559a80b4
--- /dev/null
+++ b/net/bluetooth/rfcomm/Kconfig
@@ -0,0 +1,17 @@
+config BT_RFCOMM
+ tristate "RFCOMM protocol support"
+ depends on BT_L2CAP
+ help
+ RFCOMM provides connection oriented stream transport. RFCOMM
+ support is required for Dialup Networking, OBEX and other Bluetooth
+ applications.
+
+ Say Y here to compile RFCOMM support into the kernel or say M to
+ compile it as module (rfcomm.o).
+
+config BT_RFCOMM_TTY
+ bool "RFCOMM TTY support"
+ depends on BT_RFCOMM
+ help
+ This option enables TTY emulation support for RFCOMM channels.
+
diff --git a/net/bridge/netfilter/Kconfig b/net/bridge/netfilter/Kconfig
new file mode 100644
index 000000000000..2d8a1a488c79
--- /dev/null
+++ b/net/bridge/netfilter/Kconfig
@@ -0,0 +1,135 @@
+#
+# Bridge netfilter configuration
+#
+config BRIDGE_NF_EBTABLES
+ tristate "Bridge: ebtables"
+ depends on NETFILTER && BRIDGE
+
+config BRIDGE_EBT_T_FILTER
+ tristate "ebt: filter table support"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ The ebtables filter table is used to define frame filtering rules at
+ local input, forwarding and local output. See the man page for
+ ebtables(8).
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config BRIDGE_EBT_T_NAT
+ tristate "ebt: nat table support"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ The ebtables nat table is used to define rules that alter the MAC
+ source address (MAC SNAT) or the MAC destination address (MAC DNAT).
+ See the man page for ebtables(8).
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config BRIDGE_EBT_BROUTE
+ tristate "ebt: broute table support"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ The ebtables broute table is used to define rules that decide between
+ bridging and routing frames, giving Linux the functionality of a
+ brouter. See the man page for ebtables(8) and examples on the ebtables
+ website.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config BRIDGE_EBT_LOG
+ tristate "ebt: log support"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ This option adds the log target, that you can use in any rule in
+ any ebtables table. It records the frame header to the syslog.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config BRIDGE_EBT_IPF
+ tristate "ebt: IP filter support"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ This option adds the IP match, which allows basic IP header field
+ filtering.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config BRIDGE_EBT_ARPF
+ tristate "ebt: ARP filter support"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ This option adds the ARP match, which allows ARP and RARP header field
+ filtering.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config BRIDGE_EBT_VLANF
+ tristate "ebt: 802.1Q VLAN filter support (EXPERIMENTAL)"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ This option adds the 802.1Q vlan match, which allows the filtering of
+ 802.1Q vlan fields.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config BRIDGE_EBT_MARKF
+ tristate "ebt: mark filter support"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ This option adds the mark match, which allows matching frames based on
+ the 'nfmark' value in the frame. This can be set by the mark target.
+ This value is the same as the one used in the iptables mark match and
+ target.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config BRIDGE_EBT_SNAT
+ tristate "ebt: snat target support"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ This option adds the MAC SNAT target, which allows altering the MAC
+ source address of frames.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config BRIDGE_EBT_DNAT
+ tristate "ebt: dnat target support"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ This option adds the MAC DNAT target, which allows altering the MAC
+ destination address of frames.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config BRIDGE_EBT_REDIRECT
+ tristate "ebt: redirect target support"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ This option adds the MAC redirect target, which allows altering the MAC
+ destination address of a frame to that of the device it arrived on.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config BRIDGE_EBT_MARK_T
+ tristate "ebt: mark target support"
+ depends on BRIDGE_NF_EBTABLES
+ help
+ This option adds the mark target, which allows marking frames by
+ setting the 'nfmark' value in the frame.
+ This value is the same as the one used in the iptables mark match and
+ target.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
diff --git a/net/decnet/Kconfig b/net/decnet/Kconfig
new file mode 100644
index 000000000000..7327b51ac6a0
--- /dev/null
+++ b/net/decnet/Kconfig
@@ -0,0 +1,37 @@
+#
+# DECnet configuration
+#
+config DECNET_SIOCGIFCONF
+ bool "DECnet: SIOCGIFCONF support"
+ depends on DECNET
+ help
+ This option should only be turned on if you are really sure that
+ you know what you are doing. It can break other applications which
+ use this system call and the proper way to get the information
+ provided by this call is to use rtnetlink.
+
+ If unsure, say N.
+
+config DECNET_ROUTER
+ bool "DECnet: router support (EXPERIMENTAL)"
+ depends on DECNET && EXPERIMENTAL
+ ---help---
+ Add support for turning your DECnet Endnode into a level 1 or 2
+ router. This is an unfinished option for developers only. If you
+ do say Y here, then make sure that you also say Y to "Kernel/User
+ network link driver", "Routing messages" and "Network packet
+ filtering". The first two are required to allow configuration via
+ rtnetlink (currently you need Alexey Kuznetsov's iproute2 package
+ from <ftp://ftp.inr.ac.ru/>). The "Network packet filtering" option
+ will be required for the forthcoming routing daemon to work.
+
+ See <file:Documentation/networking/decnet.txt> for more information.
+
+config DECNET_ROUTE_FWMARK
+ bool "DECnet: use FWMARK value as routing key (EXPERIMENTAL)"
+ depends on DECNET_ROUTER && NETFILTER
+ help
+ If you say Y here, you will be able to specify different routes for
+ packets with different FWMARK ("firewalling mark") values
+ (see ipchains(8), "-m" argument).
+
diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
new file mode 100644
index 000000000000..a08ad9e4e1ce
--- /dev/null
+++ b/net/ipv4/Kconfig
@@ -0,0 +1,352 @@
+#
+# IP configuration
+#
+config IP_MULTICAST
+ bool "IP: multicasting"
+ depends on INET
+ help
+ This is code for addressing several networked computers at once,
+ enlarging your kernel by about 2 KB. You need multicasting if you
+ intend to participate in the MBONE, a high bandwidth network on top
+ of the Internet which carries audio and video broadcasts. More
+ information about the MBONE is on the WWW at
+ <http://www-itg.lbl.gov/mbone/>. Information about the multicast
+ capabilities of the various network cards is contained in
+ <file:Documentation/networking/multicast.txt>. For most people, it's
+ safe to say N.
+
+config IP_ADVANCED_ROUTER
+ bool "IP: advanced router"
+ depends on INET
+ ---help---
+ If you intend to run your Linux box mostly as a router, i.e. as a
+ computer that forwards and redistributes network packets, say Y; you
+ will then be presented with several options that allow more precise
+ control about the routing process.
+
+ The answer to this question won't directly affect the kernel:
+ answering N will just cause the configurator to skip all the
+ questions about advanced routing.
+
+ Note that your box can only act as a router if you enable IP
+ forwarding in your kernel; you can do that by saying Y to "/proc
+ file system support" and "Sysctl support" below and executing the
+ line
+
+ echo "1" > /proc/sys/net/ipv4/ip_forward
+
+ at boot time after the /proc file system has been mounted.
+
+ If you turn on IP forwarding, you will also get the rp_filter, which
+ automatically rejects incoming packets if the routing table entry
+ for their source address doesn't match the network interface they're
+ arriving on. This has security advantages because it prevents the
+ so-called IP spoofing, however it can pose problems if you use
+ asymmetric routing (packets from you to a host take a different path
+ than packets from that host to you) or if you operate a non-routing
+ host which has several IP addresses on different interfaces. To turn
+ rp_filter off use:
+
+ echo 0 > /proc/sys/net/ipv4/conf/<device>/rp_filter
+ or
+ echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
+
+ If unsure, say N here.
+
+config IP_MULTIPLE_TABLES
+ bool "IP: policy routing"
+ depends on IP_ADVANCED_ROUTER
+ ---help---
+ Normally, a router decides what to do with a received packet based
+ solely on the packet's final destination address. If you say Y here,
+ the Linux router will also be able to take the packet's source
+ address into account. Furthermore, if you also say Y to "Use TOS
+ value as routing key" below, the TOS (Type-Of-Service) field of the
+ packet can be used for routing decisions as well. In addition, if
+ you say Y here and to "Fast network address translation" below,
+ the router will also be able to modify source and destination
+ addresses of forwarded packets.
+
+ If you are interested in this, please see the preliminary
+ documentation at <http://www.compendium.com.ar/policy-routing.txt>
+ and <ftp://post.tepkom.ru/pub/vol2/Linux/docs/advanced-routing.tex>.
+ You will need supporting software from
+ <ftp://ftp.inr.ac.ru/ip-routing/>.
+
+ If unsure, say N.
+
+config IP_ROUTE_FWMARK
+ bool "IP: use netfilter MARK value as routing key"
+ depends on IP_MULTIPLE_TABLES && NETFILTER
+ help
+ If you say Y here, you will be able to specify different routes for
+ packets with different mark values (see iptables(8), MARK target).
+
+config IP_ROUTE_NAT
+ bool "IP: fast network address translation"
+ depends on IP_MULTIPLE_TABLES
+ help
+ If you say Y here, your router will be able to modify source and
+ destination addresses of packets that pass through it, in a manner
+ you specify. General information about Network Address Translation
+ can be gotten from the document
+ <http://www.csn.tu-chemnitz.de/~mha/linux-ip-nat/diplom/nat.html>.
+
+config IP_ROUTE_MULTIPATH
+ bool "IP: equal cost multipath"
+ depends on IP_ADVANCED_ROUTER
+ help
+ Normally, the routing tables specify a single action to be taken in
+ a deterministic manner for a given packet. If you say Y here
+ however, it becomes possible to attach several actions to a packet
+ pattern, in effect specifying several alternative paths to travel
+ for those packets. The router considers all these paths to be of
+ equal "cost" and chooses one of them in a non-deterministic fashion
+ if a matching packet arrives.
+
+config IP_ROUTE_TOS
+ bool "IP: use TOS value as routing key"
+ depends on IP_ADVANCED_ROUTER
+ help
+ The header of every IP packet carries a TOS (Type Of Service) value
+ with which the packet requests a certain treatment, e.g. low
+ latency (for interactive traffic), high throughput, or high
+ reliability. If you say Y here, you will be able to specify
+ different routes for packets with different TOS values.
+
+config IP_ROUTE_VERBOSE
+ bool "IP: verbose route monitoring"
+ depends on IP_ADVANCED_ROUTER
+ help
+ If you say Y here, which is recommended, then the kernel will print
+ verbose messages regarding the routing, for example warnings about
+ received packets which look strange and could be evidence of an
+ attack or a misconfigured system somewhere. The information is
+ handled by the klogd daemon which is responsible for kernel messages
+ ("man klogd").
+
+config IP_ROUTE_LARGE_TABLES
+ bool "IP: large routing tables"
+ depends on IP_ADVANCED_ROUTER
+ help
+ If you have routing zones that grow to more than about 64 entries,
+ you may want to say Y here to speed up the routing process.
+
+config IP_PNP
+ bool "IP: kernel level autoconfiguration"
+ depends on INET
+ help
+ This enables automatic configuration of IP addresses of devices and
+ of the routing table during kernel boot, based on either information
+ supplied on the kernel command line or by BOOTP or RARP protocols.
+ You need to say Y only for diskless machines requiring network
+ access to boot (in which case you want to say Y to "Root file system
+ on NFS" as well), because all other machines configure the network
+ in their startup scripts.
+
+config IP_PNP_DHCP
+ bool "IP: DHCP support"
+ depends on IP_PNP
+ ---help---
+ If you want your Linux box to mount its whole root file system (the
+ one containing the directory /) from some other computer over the
+ net via NFS and you want the IP address of your computer to be
+ discovered automatically at boot time using the DHCP protocol (a
+ special protocol designed for doing this job), say Y here. In case
+ the boot ROM of your network card was designed for booting Linux and
+ does DHCP itself, providing all necessary information on the kernel
+ command line, you can say N here.
+
+ If unsure, say Y. Note that if you want to use DHCP, a DHCP server
+ must be operating on your network. Read
+ <file:Documentation/nfsroot.txt> for details.
+
+config IP_PNP_BOOTP
+ bool "IP: BOOTP support"
+ depends on IP_PNP
+ ---help---
+ If you want your Linux box to mount its whole root file system (the
+ one containing the directory /) from some other computer over the
+ net via NFS and you want the IP address of your computer to be
+ discovered automatically at boot time using the BOOTP protocol (a
+ special protocol designed for doing this job), say Y here. In case
+ the boot ROM of your network card was designed for booting Linux and
+ does BOOTP itself, providing all necessary information on the kernel
+ command line, you can say N here. If unsure, say Y. Note that if you
+ want to use BOOTP, a BOOTP server must be operating on your network.
+ Read <file:Documentation/nfsroot.txt> for details.
+
+config IP_PNP_RARP
+ bool "IP: RARP support"
+ depends on IP_PNP
+ help
+ If you want your Linux box to mount its whole root file system (the
+ one containing the directory /) from some other computer over the
+ net via NFS and you want the IP address of your computer to be
+ discovered automatically at boot time using the RARP protocol (an
+ older protocol which is being obsoleted by BOOTP and DHCP), say Y
+ here. Note that if you want to use RARP, a RARP server must be
+ operating on your network. Read <file:Documentation/nfsroot.txt> for
+ details.
+
+# not yet ready..
+# bool ' IP: ARP support' CONFIG_IP_PNP_ARP
+config NET_IPIP
+ tristate "IP: tunneling"
+ depends on INET
+ ---help---
+ Tunneling means encapsulating data of one protocol type within
+ another protocol and sending it over a channel that understands the
+ encapsulating protocol. This particular tunneling driver implements
+ encapsulation of IP within IP, which sounds kind of pointless, but
+ can be useful if you want to make your (or some other) machine
+ appear on a different network than it physically is, or to use
+ mobile-IP facilities (allowing laptops to seamlessly move between
+ networks without changing their IP addresses; check out
+ <http://anchor.cs.binghamton.edu/~mobileip/LJ/index.html>).
+
+ Saying Y to this option will produce two modules ( = code which can
+ be inserted in and removed from the running kernel whenever you
+ want). Most people won't need this and can say N.
+
+config NET_IPGRE
+ tristate "IP: GRE tunnels over IP"
+ depends on INET
+ help
+ Tunneling means encapsulating data of one protocol type within
+ another protocol and sending it over a channel that understands the
+ encapsulating protocol. This particular tunneling driver implements
+ GRE (Generic Routing Encapsulation) and at this time allows
+ encapsulating of IPv4 or IPv6 over existing IPv4 infrastructure.
+ This driver is useful if the other endpoint is a Cisco router: Cisco
+ likes GRE much better than the other Linux tunneling driver ("IP
+ tunneling" above). In addition, GRE allows multicast redistribution
+ through the tunnel.
+
+config NET_IPGRE_BROADCAST
+ bool "IP: broadcast GRE over IP"
+ depends on IP_MULTICAST && NET_IPGRE
+ help
+ One application of GRE/IP is to construct a broadcast WAN (Wide Area
+ Network), which looks like a normal Ethernet LAN (Local Area
+ Network), but can be distributed all over the Internet. If you want
+ to do that, say Y here and to "IP multicast routing" below.
+
+config IP_MROUTE
+ bool "IP: multicast routing"
+ depends on IP_MULTICAST
+ help
+ This is used if you want your machine to act as a router for IP
+ packets that have several destination addresses. It is needed on the
+ MBONE, a high bandwidth network on top of the Internet which carries
+ audio and video broadcasts. In order to do that, you would most
+ likely run the program mrouted. Information about the multicast
+ capabilities of the various network cards is contained in
+ <file:Documentation/networking/multicast.txt>. If you haven't heard
+ about it, you don't need it.
+
+config IP_PIMSM_V1
+ bool "IP: PIM-SM version 1 support"
+ depends on IP_MROUTE
+ help
+ Kernel side support for Sparse Mode PIM (Protocol Independent
+ Multicast) version 1. This multicast routing protocol is used widely
+ because Cisco supports it. You need special software to use it
+ (pimd-v1). Please see <http://netweb.usc.edu/pim/> for more
+ information about PIM.
+
+ Say Y if you want to use PIM-SM v1. Note that you can say N here if
+ you just want to use Dense Mode PIM.
+
+config IP_PIMSM_V2
+ bool "IP: PIM-SM version 2 support"
+ depends on IP_MROUTE
+ help
+ Kernel side support for Sparse Mode PIM version 2. In order to use
+ this, you need an experimental routing daemon supporting it (pimd or
+ gated-5). This routing protocol is not used widely, so say N unless
+ you want to play with it.
+
+config ARPD
+ bool "IP: ARP daemon support (EXPERIMENTAL)"
+ depends on INET && EXPERIMENTAL
+ ---help---
+ Normally, the kernel maintains an internal cache which maps IP
+ addresses to hardware addresses on the local network, so that
+ Ethernet/Token Ring/ etc. frames are sent to the proper address on
+ the physical networking layer. For small networks having a few
+ hundred directly connected hosts or less, keeping this address
+ resolution (ARP) cache inside the kernel works well. However,
+ maintaining an internal ARP cache does not work well for very large
+ switched networks, and will use a lot of kernel memory if TCP/IP
+ connections are made to many machines on the network.
+
+ If you say Y here, the kernel's internal ARP cache will never grow
+ to more than 256 entries (the oldest entries are expired in a LIFO
+ manner) and communication will be attempted with the user space ARP
+ daemon arpd. Arpd then answers the address resolution request either
+ from its own cache or by asking the net.
+
+ This code is experimental and also obsolete. If you want to use it,
+ you need to find a version of the daemon arpd on the net somewhere,
+ and you should also say Y to "Kernel/User network link driver",
+ below. If unsure, say N.
+
+config INET_ECN
+ bool "IP: TCP Explicit Congestion Notification support"
+ depends on INET
+ ---help---
+ Explicit Congestion Notification (ECN) allows routers to notify
+ clients about network congestion, resulting in fewer dropped packets
+ and increased network performance. This option adds ECN support to
+ the Linux kernel, as well as a sysctl (/proc/sys/net/ipv4/tcp_ecn)
+ which allows ECN support to be disabled at runtime.
+
+ Note that, on the Internet, there are many broken firewalls which
+ refuse connections from ECN-enabled machines, and it may be a while
+ before these firewalls are fixed. Until then, to access a site
+ behind such a firewall (some of which are major sites, at the time
+ of this writing) you will have to disable this option, either by
+ saying N now or by using the sysctl.
+
+ If in doubt, say N.
+
+config SYN_COOKIES
+ bool "IP: TCP syncookie support (disabled per default)"
+ depends on INET
+ ---help---
+ Normal TCP/IP networking is open to an attack known as "SYN
+ flooding". This denial-of-service attack prevents legitimate remote
+ users from being able to connect to your computer during an ongoing
+ attack and requires very little work from the attacker, who can
+ operate from anywhere on the Internet.
+
+ SYN cookies provide protection against this type of attack. If you
+ say Y here, the TCP/IP stack will use a cryptographic challenge
+ protocol known as "SYN cookies" to enable legitimate users to
+ continue to connect, even when your machine is under attack. There
+ is no need for the legitimate users to change their TCP/IP software;
+ SYN cookies work transparently to them. For technical information
+ about SYN cookies, check out <http://cr.yp.to/syncookies.html>.
+
+ If you are SYN flooded, the source address reported by the kernel is
+ likely to have been forged by the attacker; it is only reported as
+ an aid in tracing the packets to their actual source and should not
+ be taken as absolute truth.
+
+ SYN cookies may prevent correct error reporting on clients when the
+ server is really overloaded. If this happens frequently better turn
+ them off.
+
+ If you say Y here, note that SYN cookies aren't enabled by default;
+ you can enable them by saying Y to "/proc file system support" and
+ "Sysctl support" below and executing the command
+
+ echo 1 >/proc/sys/net/ipv4/tcp_syncookies
+
+ at boot time after the /proc file system has been mounted.
+
+ If unsure, say N.
+
+source "net/ipv4/netfilter/Kconfig"
+
diff --git a/net/ipv4/netfilter/Kconfig b/net/ipv4/netfilter/Kconfig
new file mode 100644
index 000000000000..1cf6b26a3562
--- /dev/null
+++ b/net/ipv4/netfilter/Kconfig
@@ -0,0 +1,525 @@
+#
+# IP netfilter configuration
+#
+
+menu "IP: Netfilter Configuration"
+ depends on INET && NETFILTER
+
+config IP_NF_CONNTRACK
+ tristate "Connection tracking (required for masq/NAT)"
+ ---help---
+ Connection tracking keeps a record of what packets have passed
+ through your machine, in order to figure out how they are related
+ into connections.
+
+ This is required to do Masquerading or other kinds of Network
+ Address Translation (except for Fast NAT). It can also be used to
+ enhance packet filtering (see `Connection state match support'
+ below).
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_FTP
+ tristate "FTP protocol support"
+ depends on IP_NF_CONNTRACK
+ help
+ Tracking FTP connections is problematic: special helpers are
+ required for tracking them, and doing masquerading and other forms
+ of Network Address Translation on them.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `Y'.
+
+config IP_NF_IRC
+ tristate "IRC protocol support"
+ depends on IP_NF_CONNTRACK
+ ---help---
+ There is a commonly-used extension to IRC called
+ Direct Client-to-Client Protocol (DCC). This enables users to send
+ files to each other, and also chat to each other without the need
+ of a server. DCC Sending is used anywhere you send files over IRC,
+ and DCC Chat is most commonly used by Eggdrop bots. If you are
+ using NAT, this extension will enable you to send files and initiate
+ chats. Note that you do NOT need this extension to get files or
+ have others initiate chats, or everything else in IRC.
+
+ If you want to compile it as a module, say 'M' here and read
+ Documentation/modules.txt. If unsure, say 'N'.
+
+config IP_NF_QUEUE
+ tristate "Userspace queueing via NETLINK (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ help
+ Netfilter has the ability to queue packets to user space: the
+ netlink device can be used to access them using this driver.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_IPTABLES
+ tristate "IP tables support (required for filtering/masq/NAT)"
+ help
+ iptables is a general, extensible packet identification framework.
+ The packet filtering and full NAT (masquerading, port forwarding,
+ etc) subsystems now use this: say `Y' or `M' here if you want to use
+ either of those.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+# The simple matches.
+config IP_NF_MATCH_LIMIT
+ tristate "limit match support"
+ depends on IP_NF_IPTABLES
+ help
+ limit matching allows you to control the rate at which a rule can be
+ matched: mainly useful in combination with the LOG target ("LOG
+ target support", below) and to avoid some Denial of Service attacks.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_MATCH_MAC
+ tristate "MAC address match support"
+ depends on IP_NF_IPTABLES
+ help
+ MAC matching allows you to match packets based on the source
+ Ethernet address of the packet.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_MATCH_PKTTYPE
+ tristate "Packet type match support"
+ depends on IP_NF_IPTABLES
+ help
+ This patch allows you to match packet in accrodance
+ to its "class", eg. BROADCAST, MULTICAST, ...
+
+ Typical usage:
+ iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+config IP_NF_MATCH_MARK
+ tristate "netfilter MARK match support"
+ depends on IP_NF_IPTABLES
+ help
+ Netfilter mark matching allows you to match packets based on the
+ `nfmark' value in the packet. This can be set by the MARK target
+ (see below).
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_MATCH_MULTIPORT
+ tristate "Multiple port match support"
+ depends on IP_NF_IPTABLES
+ help
+ Multiport matching allows you to match TCP or UDP packets based on
+ a series of source or destination ports: normally a rule can only
+ match a single range of ports.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_MATCH_TOS
+ tristate "TOS match support"
+ depends on IP_NF_IPTABLES
+ help
+ TOS matching allows you to match packets based on the Type Of
+ Service fields of the IP packet.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_MATCH_ECN
+ tristate "ECN match support"
+ depends on IP_NF_IPTABLES
+ help
+ This option adds a `ECN' match, which allows you to match against
+ the IPv4 and TCP header ECN fields.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+config IP_NF_MATCH_DSCP
+ tristate "DSCP match support"
+ depends on IP_NF_IPTABLES
+
+config IP_NF_MATCH_AH_ESP
+ tristate "AH/ESP match support"
+ depends on IP_NF_IPTABLES
+ help
+ These two match extensions (`ah' and `esp') allow you to match a
+ range of SPIs inside AH or ESP headers of IPSec packets.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+config IP_NF_MATCH_LENGTH
+ tristate "LENGTH match support"
+ depends on IP_NF_IPTABLES
+ help
+ This option allows you to match the length of a packet against a
+ specific value or range of values.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_MATCH_TTL
+ tristate "TTL match support"
+ depends on IP_NF_IPTABLES
+ help
+ This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user
+ to match packets by their TTL value.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+config IP_NF_MATCH_TCPMSS
+ tristate "tcpmss match support"
+ depends on IP_NF_IPTABLES
+ help
+ This option adds a `tcpmss' match, which allows you to examine the
+ MSS value of TCP SYN packets, which control the maximum packet size
+ for that connection.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_MATCH_HELPER
+ tristate "Helper match support"
+ depends on IP_NF_CONNTRACK!=n && IP_NF_IPTABLES
+ help
+ Helper matching allows you to match packets in dynamic connections
+ tracked by a conntrack-helper, ie. ip_conntrack_ftp
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `Y'.
+
+config IP_NF_MATCH_STATE
+ tristate "Connection state match support"
+ depends on IP_NF_CONNTRACK && IP_NF_IPTABLES
+ help
+ Connection state matching allows you to match packets based on their
+ relationship to a tracked connection (ie. previous packets). This
+ is a powerful tool for packet classification.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_MATCH_CONNTRACK
+ tristate "Connection tracking match support"
+ depends on IP_NF_CONNTRACK && IP_NF_IPTABLES
+ help
+ This is a general conntrack match module, a superset of the state match.
+
+ It allows matching on additional conntrack information, which is
+ useful in complex configurations, such as NAT gateways with multiple
+ internet links or tunnels.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+config IP_NF_MATCH_UNCLEAN
+ tristate "Unclean match support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && IP_NF_IPTABLES
+ help
+ Unclean packet matching matches any strange or invalid packets, by
+ looking at a series of fields in the IP, TCP, UDP and ICMP headers.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_MATCH_OWNER
+ tristate "Owner match support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && IP_NF_IPTABLES
+ help
+ Packet owner matching allows you to match locally-generated packets
+ based on who created them: the user, group, process or session.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_MATCH_PHYSDEV
+ tristate "Physdev match support"
+ depends on IP_NF_IPTABLES!=n && BRIDGE!=n
+ help
+ Physdev packet matching matches against the physical bridge ports
+ the IP packet arrived on or will leave by.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+# The targets
+config IP_NF_FILTER
+ tristate "Packet filtering"
+ depends on IP_NF_IPTABLES
+ help
+ Packet filtering defines a table `filter', which has a series of
+ rules for simple packet filtering at local input, forwarding and
+ local output. See the man page for iptables(8).
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_TARGET_REJECT
+ tristate "REJECT target support"
+ depends on IP_NF_FILTER
+ help
+ The REJECT target allows a filtering rule to specify that an ICMP
+ error should be issued in response to an incoming packet, rather
+ than silently being dropped.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_TARGET_MIRROR
+ tristate "MIRROR target support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && IP_NF_FILTER
+ help
+ The MIRROR target allows a filtering rule to specify that an
+ incoming packet should be bounced back to the sender.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_NAT
+ tristate "Full NAT"
+ depends on IP_NF_IPTABLES && IP_NF_CONNTRACK
+ help
+ The Full NAT option allows masquerading, port forwarding and other
+ forms of full Network Address Port Translation. It is controlled by
+ the `nat' table in iptables: see the man page for iptables(8).
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_NAT_NEEDED
+ bool
+ depends on IP_NF_CONNTRACK!=y && IP_NF_IPTABLES!=y && (IP_NF_COMPAT_IPCHAINS!=y && IP_NF_COMPAT_IPFWADM || IP_NF_COMPAT_IPCHAINS) || IP_NF_IPTABLES && IP_NF_CONNTRACK && IP_NF_NAT
+ default y
+
+config IP_NF_TARGET_MASQUERADE
+ tristate "MASQUERADE target support"
+ depends on IP_NF_NAT
+ help
+ Masquerading is a special case of NAT: all outgoing connections are
+ changed to seem to come from a particular interface's address, and
+ if the interface goes down, those connections are lost. This is
+ only useful for dialup accounts with dynamic IP address (ie. your IP
+ address will be different on next dialup).
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_TARGET_REDIRECT
+ tristate "REDIRECT target support"
+ depends on IP_NF_NAT
+ help
+ REDIRECT is a special case of NAT: all incoming connections are
+ mapped onto the incoming interface's address, causing the packets to
+ come to the local machine instead of passing through. This is
+ useful for transparent proxies.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_NAT_LOCAL
+ bool "NAT of local connections (READ HELP)"
+ depends on IP_NF_NAT
+ help
+ This option enables support for NAT of locally originated connections.
+ Enable this if you need to use destination NAT on connections
+ originating from local processes on the nat box itself.
+
+ Please note that you will need a recent version (>= 1.2.6a)
+ of the iptables userspace program in order to use this feature.
+ See http://www.iptables.org/ for download instructions.
+
+ If unsure, say 'N'.
+
+config IP_NF_NAT_SNMP_BASIC
+ tristate "Basic SNMP-ALG support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && IP_NF_NAT
+ ---help---
+
+ This module implements an Application Layer Gateway (ALG) for
+ SNMP payloads. In conjunction with NAT, it allows a network
+ management system to access multiple private networks with
+ conflicting addresses. It works by modifying IP addresses
+ inside SNMP payloads to match IP-layer NAT mapping.
+
+ This is the "basic" form of SNMP-ALG, as described in RFC 2962
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_NAT_IRC
+ tristate
+ depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
+ default IP_NF_NAT if IP_NF_IRC=y
+ default m if IP_NF_IRC=m
+
+# If they want FTP, set to $CONFIG_IP_NF_NAT (m or y),
+# or $CONFIG_IP_NF_FTP (m or y), whichever is weaker. Argh.
+config IP_NF_NAT_FTP
+ tristate
+ depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
+ default IP_NF_NAT if IP_NF_FTP=y
+ default m if IP_NF_FTP=m
+
+config IP_NF_MANGLE
+ tristate "Packet mangling"
+ depends on IP_NF_IPTABLES
+ help
+ This option adds a `mangle' table to iptables: see the man page for
+ iptables(8). This table is used for various packet alterations
+ which can effect how the packet is routed.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_TARGET_TOS
+ tristate "TOS target support"
+ depends on IP_NF_MANGLE
+ help
+ This option adds a `TOS' target, which allows you to create rules in
+ the `mangle' table which alter the Type Of Service field of an IP
+ packet prior to routing.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_TARGET_ECN
+ tristate "ECN target support"
+ depends on IP_NF_MANGLE
+ ---help---
+ This option adds a `ECN' target, which can be used in the iptables mangle
+ table.
+
+ You can use this target to remove the ECN bits from the IPv4 header of
+ an IP packet. This is particularly useful, if you need to work around
+ existing ECN blackholes on the internet, but don't want to disable
+ ECN support in general.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+config IP_NF_TARGET_DSCP
+ tristate "DSCP target support"
+ depends on IP_NF_MANGLE
+ help
+ This option adds a `DSCP' match, which allows you to match against
+ the IPv4 header DSCP field (DSCP codepoint).
+
+ The DSCP codepoint can have any value between 0x0 and 0x4f.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+config IP_NF_TARGET_MARK
+ tristate "MARK target support"
+ depends on IP_NF_MANGLE
+ help
+ This option adds a `MARK' target, which allows you to create rules
+ in the `mangle' table which alter the netfilter mark (nfmark) field
+ associated with the packet prior to routing. This can change
+ the routing method (see `Use netfilter MARK value as routing
+ key') and can also be used by other subsystems to change their
+ behavior.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_TARGET_LOG
+ tristate "LOG target support"
+ depends on IP_NF_IPTABLES
+ help
+ This option adds a `LOG' target, which allows you to create rules in
+ any iptables table which records the packet header to the syslog.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_TARGET_ULOG
+ tristate "ULOG target support"
+ depends on IP_NF_IPTABLES
+ ---help---
+ This option adds a `ULOG' target, which allows you to create rules in
+ any iptables table. The packet is passed to a userspace logging
+ daemon using netlink multicast sockets; unlike the LOG target
+ which can only be viewed through syslog.
+
+ The apropriate userspace logging daemon (ulogd) may be obtained from
+ http://www.gnumonks.org/projects/ulogd
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+config IP_NF_TARGET_TCPMSS
+ tristate "TCPMSS target support"
+ depends on IP_NF_IPTABLES
+ ---help---
+ This option adds a `TCPMSS' target, which allows you to alter the
+ MSS value of TCP SYN packets, to control the maximum size for that
+ connection (usually limiting it to your outgoing interface's MTU
+ minus 40).
+
+ This is used to overcome criminally braindead ISPs or servers which
+ block ICMP Fragmentation Needed packets. The symptoms of this
+ problem are that everything works fine from your Linux
+ firewall/router, but machines behind it can never exchange large
+ packets:
+ 1) Web browsers connect, then hang with no data received.
+ 2) Small mail works fine, but large emails hang.
+ 3) ssh works fine, but scp hangs after initial handshaking.
+
+ Workaround: activate this option and add a rule to your firewall
+ configuration like:
+
+ iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
+ -j TCPMSS --clamp-mss-to-pmtu
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_ARPTABLES
+ tristate "ARP tables support"
+
+config IP_NF_ARPFILTER
+ tristate "ARP packet filtering"
+ depends on IP_NF_ARPTABLES
+
+# Backwards compatibility modules: only if you don't build in the others.
+config IP_NF_COMPAT_IPCHAINS
+ tristate "ipchains (2.2-style) support"
+ depends on IP_NF_CONNTRACK!=y && IP_NF_IPTABLES!=y
+ help
+ This option places ipchains (with masquerading and redirection
+ support) back into the kernel, using the new netfilter
+ infrastructure. It is not recommended for new installations (see
+ `Packet filtering'). With this enabled, you should be able to use
+ the ipchains tool exactly as in 2.2 kernels.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP_NF_COMPAT_IPFWADM
+ tristate "ipfwadm (2.0-style) support"
+ depends on IP_NF_CONNTRACK!=y && IP_NF_IPTABLES!=y && IP_NF_COMPAT_IPCHAINS!=y
+ help
+ This option places ipfwadm (with masquerading and redirection
+ support) back into the kernel, using the new netfilter
+ infrastructure. It is not recommended for new installations (see
+ `Packet filtering'). With this enabled, you should be able to use
+ the ipfwadm tool exactly as in 2.0 kernels.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+endmenu
+
diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig
new file mode 100644
index 000000000000..9cd737aa2781
--- /dev/null
+++ b/net/ipv6/Kconfig
@@ -0,0 +1,5 @@
+#
+# IPv6 configuration
+#
+source "net/ipv6/netfilter/Kconfig"
+
diff --git a/net/ipv6/netfilter/Kconfig b/net/ipv6/netfilter/Kconfig
new file mode 100644
index 000000000000..27336bb28733
--- /dev/null
+++ b/net/ipv6/netfilter/Kconfig
@@ -0,0 +1,182 @@
+#
+# IP netfilter configuration
+#
+
+menu "IPv6: Netfilter Configuration"
+ depends on INET && EXPERIMENTAL && IPV6!=n && NETFILTER
+
+#tristate 'Connection tracking (required for masq/NAT)' CONFIG_IP6_NF_CONNTRACK
+#if [ "$CONFIG_IP6_NF_CONNTRACK" != "n" ]; then
+# dep_tristate ' FTP protocol support' CONFIG_IP6_NF_FTP $CONFIG_IP6_NF_CONNTRACK
+#fi
+config IP6_NF_QUEUE
+ tristate "Userspace queueing via NETLINK (EXPERIMENTAL)"
+ ---help---
+
+ This option adds a queue handler to the kernel for IPv6
+ packets which lets us to receive the filtered packets
+ with QUEUE target using libiptc as we can do with
+ the IPv4 now.
+
+ (C) Fernando Anton 2001
+ IPv64 Project - Work based in IPv64 draft by Arturo Azcorra.
+ Universidad Carlos III de Madrid
+ Universidad Politecnica de Alcala de Henares
+ email: fanton@it.uc3m.es
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+config IP6_NF_IPTABLES
+ tristate "IP6 tables support (required for filtering/masq/NAT)"
+ help
+ ip6tables is a general, extensible packet identification framework.
+ Currently only the packet filtering and packet mangling subsystem
+ for IPv6 use this, but connection tracking is going to follow.
+ Say 'Y' or 'M' here if you want to use either of those.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+# The simple matches.
+config IP6_NF_MATCH_LIMIT
+ tristate "limit match support"
+ depends on IP6_NF_IPTABLES
+ help
+ limit matching allows you to control the rate at which a rule can be
+ matched: mainly useful in combination with the LOG target ("LOG
+ target support", below) and to avoid some Denial of Service attacks.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP6_NF_MATCH_MAC
+ tristate "MAC address match support"
+ depends on IP6_NF_IPTABLES
+ help
+ mac matching allows you to match packets based on the source
+ Ethernet address of the packet.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP6_NF_MATCH_MULTIPORT
+ tristate "Multiple port match support"
+ depends on IP6_NF_IPTABLES
+ help
+ Multiport matching allows you to match TCP or UDP packets based on
+ a series of source or destination ports: normally a rule can only
+ match a single range of ports.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP6_NF_MATCH_OWNER
+ tristate "Owner match support (EXPERIMENTAL)"
+ depends on IP6_NF_IPTABLES
+ help
+ Packet owner matching allows you to match locally-generated packets
+ based on who created them: the user, group, process or session.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+# dep_tristate ' MAC address match support' CONFIG_IP6_NF_MATCH_MAC $CONFIG_IP6_NF_IPTABLES
+config IP6_NF_MATCH_MARK
+ tristate "netfilter MARK match support"
+ depends on IP6_NF_IPTABLES
+ help
+ Netfilter mark matching allows you to match packets based on the
+ `nfmark' value in the packet. This can be set by the MARK target
+ (see below).
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP6_NF_MATCH_LENGTH
+ tristate "Packet Length match support"
+ depends on IP6_NF_IPTABLES
+ help
+ This option allows you to match the length of a packet against a
+ specific value or range of values.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+config IP6_NF_MATCH_EUI64
+ tristate "EUI64 address check (EXPERIMENTAL)"
+ depends on IP6_NF_IPTABLES
+ help
+ This module performs checking on the IPv6 source address
+ Compares the last 64 bits with the EUI64 (delivered
+ from the MAC address) address
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+# dep_tristate ' Multiple port match support' CONFIG_IP6_NF_MATCH_MULTIPORT $CONFIG_IP6_NF_IPTABLES
+# dep_tristate ' TOS match support' CONFIG_IP6_NF_MATCH_TOS $CONFIG_IP6_NF_IPTABLES
+# if [ "$CONFIG_IP6_NF_CONNTRACK" != "n" ]; then
+# dep_tristate ' Connection state match support' CONFIG_IP6_NF_MATCH_STATE $CONFIG_IP6_NF_CONNTRACK $CONFIG_IP6_NF_IPTABLES
+# fi
+# if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+# dep_tristate ' Unclean match support (EXPERIMENTAL)' CONFIG_IP6_NF_MATCH_UNCLEAN $CONFIG_IP6_NF_IPTABLES
+# dep_tristate ' Owner match support (EXPERIMENTAL)' CONFIG_IP6_NF_MATCH_OWNER $CONFIG_IP6_NF_IPTABLES
+# fi
+# The targets
+config IP6_NF_FILTER
+ tristate "Packet filtering"
+ depends on IP6_NF_IPTABLES
+ help
+ Packet filtering defines a table `filter', which has a series of
+ rules for simple packet filtering at local input, forwarding and
+ local output. See the man page for iptables(8).
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+config IP6_NF_TARGET_LOG
+ tristate "LOG target support"
+ depends on IP6_NF_FILTER
+ help
+ This option adds a `LOG' target, which allows you to create rules in
+ any iptables table which records the packet header to the syslog.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+# if [ "$CONFIG_IP6_NF_FILTER" != "n" ]; then
+# dep_tristate ' REJECT target support' CONFIG_IP6_NF_TARGET_REJECT $CONFIG_IP6_NF_FILTER
+# if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+# dep_tristate ' MIRROR target support (EXPERIMENTAL)' CONFIG_IP6_NF_TARGET_MIRROR $CONFIG_IP6_NF_FILTER
+# fi
+# fi
+config IP6_NF_MANGLE
+ tristate "Packet mangling"
+ depends on IP6_NF_IPTABLES
+ help
+ This option adds a `mangle' table to iptables: see the man page for
+ iptables(8). This table is used for various packet alterations
+ which can effect how the packet is routed.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+# dep_tristate ' TOS target support' CONFIG_IP6_NF_TARGET_TOS $CONFIG_IP_NF_MANGLE
+config IP6_NF_TARGET_MARK
+ tristate "MARK target support"
+ depends on IP6_NF_MANGLE
+ help
+ This option adds a `MARK' target, which allows you to create rules
+ in the `mangle' table which alter the netfilter mark (nfmark) field
+ associated with the packet packet prior to routing. This can change
+ the routing method (see `Use netfilter MARK value as routing
+ key') and can also be used by other subsystems to change their
+ behavior.
+
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. If unsure, say `N'.
+
+#dep_tristate ' LOG target support' CONFIG_IP6_NF_TARGET_LOG $CONFIG_IP6_NF_IPTABLES
+endmenu
+
diff --git a/net/ipx/Kconfig b/net/ipx/Kconfig
new file mode 100644
index 000000000000..e7b3e1f866a9
--- /dev/null
+++ b/net/ipx/Kconfig
@@ -0,0 +1,31 @@
+#
+# IPX configuration
+#
+config IPX_INTERN
+ bool "IPX: Full internal IPX network"
+ depends on IPX
+ ---help---
+ Every IPX network has an address that identifies it. Sometimes it is
+ useful to give an IPX "network" address to your Linux box as well
+ (for example if your box is acting as a file server for different
+ IPX networks: it will then be accessible from everywhere using the
+ same address). The way this is done is to create a virtual internal
+ "network" inside your box and to assign an IPX address to this
+ network. Say Y here if you want to do this; read the IPX-HOWTO at
+ <http://www.linuxdoc.org/docs.html#howto> for details.
+
+ The full internal IPX network enables you to allocate sockets on
+ different virtual nodes of the internal network. This is done by
+ evaluating the field sipx_node of the socket address given to the
+ bind call. So applications should always initialize the node field
+ to 0 when binding a socket on the primary network. In this case the
+ socket is assigned the default node that has been given to the
+ kernel when the internal network was created. By enabling the full
+ internal IPX network the cross-forwarding of packets targeted at
+ 'special' sockets to sockets listening on the primary network is
+ disabled. This might break existing applications, especially RIP/SAP
+ daemons. A RIP/SAP daemon that works well with the full internal net
+ can be found on <ftp://ftp.gwdg.de/pub/linux/misc/ncpfs/>.
+
+ If you don't know what you are doing, say N.
+
diff --git a/net/irda/Kconfig b/net/irda/Kconfig
new file mode 100644
index 000000000000..5a460edd2bca
--- /dev/null
+++ b/net/irda/Kconfig
@@ -0,0 +1,100 @@
+#
+# IrDA protocol configuration
+#
+
+menu "IrDA (infrared) support"
+ depends on NET
+
+config IRDA
+ tristate "IrDA subsystem support"
+ ---help---
+ Say Y here if you want to build support for the IrDA (TM) protocols.
+ The Infrared Data Associations (tm) specifies standards for wireless
+ infrared communication and is supported by most laptops and PDA's.
+
+ To use Linux support for the IrDA (tm) protocols, you will also need
+ some user-space utilities like irattach. For more information, see
+ the file <file:Documentation/networking/irda.txt>. You also want to
+ read the IR-HOWTO, available at
+ <http://www.linuxdoc.org/docs.html#howto>.
+
+ If you want to exchange bits of data (vCal, vCard) with a PDA, you
+ will need to install some OBEX application, such as OpenObex :
+ <http://sourceforge.net/projects/openobex/>
+
+ This support is also available as a module called irda.o. If you
+ want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+
+comment "IrDA protocols"
+ depends on IRDA
+
+source "net/irda/irlan/Kconfig"
+
+source "net/irda/irnet/Kconfig"
+
+source "net/irda/ircomm/Kconfig"
+
+config IRDA_ULTRA
+ bool "Ultra (connectionless) protocol"
+ depends on IRDA
+ help
+ Say Y here to support the connectionless Ultra IRDA protocol.
+ Ultra allows to exchange data over IrDA with really simple devices
+ (watch, beacon) without the overhead of the IrDA protocol (no handshaking,
+ no management frames, simple fixed header).
+ Ultra is available as a special socket : socket(AF_IRDA, SOCK_DGRAM, 1);
+
+comment "IrDA options"
+ depends on IRDA
+
+config IRDA_CACHE_LAST_LSAP
+ bool "Cache last LSAP"
+ depends on IRDA
+ help
+ Say Y here if you want IrLMP to cache the last LSAP used. This
+ makes sense since most frames will be sent/received on the same
+ connection. Enabling this option will save a hash-lookup per frame.
+
+ If unsure, say Y.
+
+config IRDA_FAST_RR
+ bool "Fast RRs (low latency)"
+ depends on IRDA
+ ---help---
+ Say Y here is you want IrLAP to send fast RR (Receive Ready) frames
+ when acting as a primary station.
+ Disabling this option will make latency over IrDA very bad. Enabling
+ this option will make the IrDA stack send more packet than strictly
+ necessary, thus reduce your battery life (but not that much).
+
+ Fast RR will make IrLAP send out a RR frame immediately when
+ receiving a frame if its own transmit queue is currently empty. This
+ will give a lot of speed improvement when receiving much data since
+ the secondary station will not have to wait the max. turn around
+ time (usually 500ms) before it is allowed to transmit the next time.
+ If the transmit queue of the secondary is also empty, the primary will
+ start backing-off before sending another RR frame, waiting longer
+ each time until the back-off reaches the max. turn around time.
+ This back-off increase in controlled via
+ /proc/sys/net/irda/fast_poll_increase
+
+ If unsure, say Y.
+
+config IRDA_DEBUG
+ bool "Debug information"
+ depends on IRDA
+ help
+ Say Y here if you want the IrDA subsystem to write debug information
+ to your syslog. You can change the debug level in
+ /proc/sys/net/irda/debug .
+ When this option is enabled, the IrDA also perform many extra internal
+ verifications which will usually prevent the kernel to crash in case of
+ bugs.
+
+ If unsure, say Y (since it makes it easier to find the bugs).
+
+source "drivers/net/irda/Kconfig"
+
+endmenu
+
diff --git a/net/irda/ircomm/Kconfig b/net/irda/ircomm/Kconfig
new file mode 100644
index 000000000000..48b5d19bd82d
--- /dev/null
+++ b/net/irda/ircomm/Kconfig
@@ -0,0 +1,13 @@
+config IRCOMM
+ tristate "IrCOMM protocol"
+ depends on IRDA
+ help
+ Say Y here if you want to build support for the IrCOMM protocol. If
+ you want to compile it as a module (you will get ircomm.o and
+ ircomm-tty.o), say M here and read <file:Documentation/modules.txt>.
+ IrCOMM implements serial port emulation, and makes it possible to
+ use all existing applications that understands TTY's with an
+ infrared link. Thus you should be able to use application like PPP,
+ minicom and others. Enabling this option will create two modules
+ called ircomm and ircomm_tty.
+
diff --git a/net/irda/irlan/Kconfig b/net/irda/irlan/Kconfig
new file mode 100644
index 000000000000..262716f42a76
--- /dev/null
+++ b/net/irda/irlan/Kconfig
@@ -0,0 +1,14 @@
+config IRLAN
+ tristate "IrLAN protocol"
+ depends on IRDA
+ help
+ Say Y here if you want to build support for the IrLAN protocol. If
+ you want to compile it as a module (irlan.o), say M here and read
+ <file:Documentation/modules.txt>. IrLAN emulates an Ethernet and
+ makes it possible to put up a wireless LAN using infrared beams.
+
+ The IrLAN protocol can be used to talk with infrared access points
+ like the HP NetbeamIR, or the ESI JetEye NET. You can also connect
+ to another Linux machine running the IrLAN protocol for ad-hoc
+ networking!
+
diff --git a/net/irda/irnet/Kconfig b/net/irda/irnet/Kconfig
new file mode 100644
index 000000000000..eca0df41d7b0
--- /dev/null
+++ b/net/irda/irnet/Kconfig
@@ -0,0 +1,14 @@
+config IRNET
+ tristate "IrNET protocol"
+ depends on IRDA && PPP
+ help
+ Say Y here if you want to build support for the IrNET protocol. If
+ you want to compile it as a module (irnet.o), say M here and read
+ <file:Documentation/modules.txt>. IrNET is a PPP driver, so you
+ will also need a working PPP subsystem (driver, daemon and
+ config)...
+
+ IrNET is an alternate way to tranfer TCP/IP traffic over IrDA. It
+ uses synchronous PPP over a set of point to point IrDA sockets. You
+ can use it between Linux machine or with W2k.
+
diff --git a/net/sched/Kconfig b/net/sched/Kconfig
new file mode 100644
index 000000000000..1308f86a298a
--- /dev/null
+++ b/net/sched/Kconfig
@@ -0,0 +1,328 @@
+#
+# Traffic control configuration.
+#
+config NET_SCH_CBQ
+ tristate "CBQ packet scheduler"
+ depends on NET_SCHED
+ ---help---
+ Say Y here if you want to use the Class-Based Queueing (CBQ) packet
+ scheduling algorithm for some of your network devices. This
+ algorithm classifies the waiting packets into a tree-like hierarchy
+ of classes; the leaves of this tree are in turn scheduled by
+ separate algorithms (called "disciplines" in this context).
+
+ See the top of <file:net/sched/sch_cbq.c> for references about the
+ CBQ algorithm.
+
+ CBQ is a commonly used scheduler, so if you're unsure, you should
+ say Y here. Then say Y to all the queueing algorithms below that you
+ want to use as CBQ disciplines. Then say Y to "Packet classifier
+ API" and say Y to all the classifiers you want to use; a classifier
+ is a routine that allows you to sort your outgoing traffic into
+ classes based on a certain criterion.
+
+ This code is also available as a module called sch_cbq.o ( = 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 NET_SCH_HTB
+ tristate "HTB packet scheduler"
+ depends on NET_SCHED
+ ---help---
+ Say Y here if you want to use the Hierarchical Token Buckets (HTB)
+ packet scheduling algorithm for some of your network devices. See
+ URL http://luxik.cdi.cz/~devik/qos/htb/ for complete manual and
+ in-depth articles.
+
+ HTB is very similar to the CBQ regarding its goals however is has
+ different properties and different algorithm.
+
+ This code is also available as a module called sch_htb.o ( = 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 NET_SCH_CSZ
+ tristate "CSZ packet scheduler"
+ depends on NET_SCHED
+ ---help---
+ Say Y here if you want to use the Clark-Shenker-Zhang (CSZ) packet
+ scheduling algorithm for some of your network devices. At the
+ moment, this is the only algorithm that can guarantee service for
+ real-time applications (see the top of <file:net/sched/sch_csz.c>
+ for details and references about the algorithm).
+
+ Note: this scheduler is currently broken.
+
+ This code is also available as a module called sch_csz.o ( = 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>.
+
+#tristate ' H-PFQ packet scheduler' CONFIG_NET_SCH_HPFQ
+#tristate ' H-FSC packet scheduler' CONFIG_NET_SCH_HFCS
+config NET_SCH_ATM
+ bool "ATM pseudo-scheduler"
+ depends on NET_SCHED && ATM
+ ---help---
+ Say Y here if you want to use the ATM pseudo-scheduler. This
+ provides a framework for invoking classifiers (aka "filters"), which
+ in turn select classes of this queuing discipline. Each class maps
+ the flow(s) it is handling to a given virtual circuit (see the top of
+ <file:net/sched/sch_atm.c>).
+
+ This code is also available as a module called sch_atm.o ( = 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 NET_SCH_PRIO
+ tristate "The simplest PRIO pseudoscheduler"
+ depends on NET_SCHED
+ help
+ Say Y here if you want to use an n-band priority queue packet
+ "scheduler" for some of your network devices or as a leaf discipline
+ for the CBQ scheduling algorithm. If unsure, say Y.
+
+ This code is also available as a module called sch_prio.o ( = 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 NET_SCH_RED
+ tristate "RED queue"
+ depends on NET_SCHED
+ help
+ Say Y here if you want to use the Random Early Detection (RED)
+ packet scheduling algorithm for some of your network devices (see
+ the top of <file:net/sched/sch_red.c> for details and references
+ about the algorithm).
+
+ This code is also available as a module called sch_red.o ( = 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 NET_SCH_SFQ
+ tristate "SFQ queue"
+ depends on NET_SCHED
+ ---help---
+ Say Y here if you want to use the Stochastic Fairness Queueing (SFQ)
+ packet scheduling algorithm for some of your network devices or as a
+ leaf discipline for the CBQ scheduling algorithm (see the top of
+ <file:net/sched/sch_sfq.c> for details and references about the SFQ
+ algorithm).
+
+ This code is also available as a module called sch_sfq.o ( = 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 NET_SCH_TEQL
+ tristate "TEQL queue"
+ depends on NET_SCHED
+ ---help---
+ Say Y here if you want to use the True Link Equalizer (TLE) packet
+ scheduling algorithm for some of your network devices or as a leaf
+ discipline for the CBQ scheduling algorithm. This queueing
+ discipline allows the combination of several physical devices into
+ one virtual device. (see the top of <file:net/sched/sch_teql.c> for
+ details).
+
+ This code is also available as a module called sch_teql.o ( = 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 NET_SCH_TBF
+ tristate "TBF queue"
+ depends on NET_SCHED
+ help
+ Say Y here if you want to use the Simple Token Bucket Filter (TBF)
+ packet scheduling algorithm for some of your network devices or as a
+ leaf discipline for the CBQ scheduling algorithm (see the top of
+ <file:net/sched/sch_tbf.c> for a description of the TBF algorithm).
+
+ This code is also available as a module called sch_tbf.o ( = 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 NET_SCH_GRED
+ tristate "GRED queue"
+ depends on NET_SCHED
+ help
+ Say Y here if you want to use the Generic Random Early Detection
+ (RED) packet scheduling algorithm for some of your network devices
+ (see the top of <file:net/sched/sch_red.c> for details and
+ references about the algorithm).
+
+ This code is also available as a module called sch_gred.o ( = 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 NET_SCH_DSMARK
+ tristate "Diffserv field marker"
+ depends on NET_SCHED
+ help
+ Say Y if you want to schedule packets avccording to the
+ Differentiated Services architecture proposed in RFC 2475.
+ Technical information on this method, with pointers to associated
+ RFCs, is available at <http://www.gta.ufrj.br/diffserv/>.
+
+ This code is also available as a module called sch_dsmark.o ( = 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 NET_SCH_INGRESS
+ tristate "Ingress Qdisc"
+ depends on NET_SCHED && NETFILTER
+ help
+ If you say Y here, you will be able to police incoming bandwidth
+ and drop packets when this bandwidth exceeds your desired rate.
+ If unsure, say Y.
+
+ This code is also available as a module called cls_ingress.o
+ ( = 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 NET_QOS
+ bool "QoS support"
+ depends on NET_SCHED
+ ---help---
+ Say Y here if you want to include Quality Of Service scheduling
+ features, which means that you will be able to request certain
+ rate-of-flow limits for your network devices.
+
+ This Quality of Service (QoS) support will enable you to use
+ Differentiated Services (diffserv) and Resource Reservation Protocol
+ (RSVP) on your Linux router if you also say Y to "Packet classifier
+ API" and to some classifiers below. Documentation and software is at
+ <http://icawww1.epfl.ch/linux-diffserv/>.
+
+ Note that the answer to this question won't directly affect the
+ kernel: saying N will just cause the configurator to skip all
+ the questions about QoS support.
+
+config NET_ESTIMATOR
+ bool "Rate estimator"
+ depends on NET_QOS
+ help
+ In order for Quality of Service scheduling to work, the current
+ rate-of-flow for a network device has to be estimated; if you say Y
+ here, the kernel will do just that.
+
+config NET_CLS
+ bool "Packet classifier API"
+ depends on NET_SCHED
+ ---help---
+ The CBQ scheduling algorithm requires that network packets which are
+ scheduled to be sent out over a network device be classified
+ according to some criterion. If you say Y here, you will get a
+ choice of several different packet classifiers with the following
+ questions.
+
+ This will enable you to use Differentiated Services (diffserv) and
+ Resource Reservation Protocol (RSVP) on your Linux router.
+ Documentation and software is at
+ <http://icawww1.epfl.ch/linux-diffserv/>.
+
+config NET_CLS_TCINDEX
+ tristate "TC index classifier"
+ depends on NET_CLS
+ help
+ If you say Y here, you will be able to classify outgoing packets
+ according to the tc_index field of the skb. You will want this
+ feature if you want to implement Differentiated Services using
+ sch_dsmark. If unsure, say Y.
+
+ This code is also available as a module called cls_tcindex.o
+ ( = 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 NET_CLS_ROUTE4
+ tristate "Routing table based classifier"
+ depends on NET_CLS
+ help
+ If you say Y here, you will be able to classify outgoing packets
+ according to the route table entry they matched. If unsure, say Y.
+
+ This code is also available as a module called cls_route.o ( = 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 NET_CLS_ROUTE
+ bool
+ depends on NET_CLS_ROUTE4
+ default y
+
+config NET_CLS_FW
+ tristate "Firewall based classifier"
+ depends on NET_CLS
+ help
+ If you say Y here, you will be able to classify outgoing packets
+ according to firewall criteria you specified.
+
+ This code is also available as a module called cls_fw.o ( = 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 NET_CLS_U32
+ tristate "U32 classifier"
+ depends on NET_CLS
+ help
+ If you say Y here, you will be able to classify outgoing packets
+ according to their destination address. If unsure, say Y.
+
+ This code is also available as a module called cls_u32.o ( = 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 NET_CLS_RSVP
+ tristate "Special RSVP classifier"
+ depends on NET_CLS && NET_QOS
+ ---help---
+ The Resource Reservation Protocol (RSVP) permits end systems to
+ request a minimum and maximum data flow rate for a connection; this
+ is important for real time data such as streaming sound or video.
+
+ Say Y here if you want to be able to classify outgoing packets based
+ on their RSVP requests.
+
+ This code is also available as a module called cls_rsvp.o ( = 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 NET_CLS_RSVP6
+ tristate "Special RSVP classifier for IPv6"
+ depends on NET_CLS && NET_QOS
+ ---help---
+ The Resource Reservation Protocol (RSVP) permits end systems to
+ request a minimum and maximum data flow rate for a connection; this
+ is important for real time data such as streaming sound or video.
+
+ Say Y here if you want to be able to classify outgoing packets based
+ on their RSVP requests and you are using the new Internet Protocol
+ IPv6 as opposed to the older and more common IPv4.
+
+ This code is also available as a module called cls_rsvp6.o ( = 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 NET_CLS_POLICE
+ bool "Traffic policing (needed for in/egress)"
+ depends on NET_CLS && NET_QOS
+ help
+ Say Y to support traffic policing (bandwidth limits). Needed for
+ ingress and egress rate limiting.
+
diff --git a/net/sctp/Kconfig b/net/sctp/Kconfig
new file mode 100644
index 000000000000..df5af2b4d273
--- /dev/null
+++ b/net/sctp/Kconfig
@@ -0,0 +1,76 @@
+#
+# SCTP configuration
+#
+
+menu "SCTP Configuration (EXPERIMENTAL)"
+ depends on INET && EXPERIMENTAL
+
+config IPV6_SCTP__
+ bool
+ default y if IPV6=n
+ default IPV6 if IPV6
+
+config IP_SCTP
+ tristate "The SCTP Protocol (EXPERIMENTAL)"
+ depends on IPV6_SCTP__
+ ---help---
+ Stream Control Transmission Protocol
+
+ From RFC 2960 (http://www.ietf.org/rfc/rfc2960.txt)
+
+ "SCTP is a reliable transport protocol operating on top of a
+ connectionless packet network such as IP. It offers the following
+ services to its users:
+
+ -- acknowledged error-free non-duplicated transfer of user data,
+ -- data fragmentation to conform to discovered path MTU size,
+ -- sequenced delivery of user messages within multiple streams,
+ with an option for order-of-arrival delivery of individual user
+ messages,
+ -- optional bundling of multiple user messages into a single SCTP
+ packet, and
+ -- network-level fault tolerance through supporting of multi-
+ homing at either or both ends of an association."
+
+ This protocol support 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 sctp.o. If you want to compile it
+ as a module, say M here and read <file:Documentation/modules.txt>.
+
+ If in doubt, say N.
+
+config SCTP_ADLER32
+ bool "SCTP: Use old checksum (Adler-32)"
+ depends on IP_SCTP
+ help
+ RCF2960 currently specifies the Adler-32 checksum algorithm for SCTP.
+ This has been deprecated and replaced by an algorithm now referred
+ to as crc32c.
+
+ If you say Y, this will use the Adler-32 algorithm, this might be useful
+ for interoperation with downlevel peers.
+
+ If unsure, say N.
+
+config SCTP_DBG_MSG
+ bool "SCTP: Debug messages"
+ depends on IP_SCTP
+ help
+ If you say Y, this will enable verbose debugging messages.
+
+ If unsure, say N. However, if you are running into problems, use this
+ option to gather detailed trace information
+
+config SCTP_DBG_OBJCNT
+ bool "SCTP: Debug object counts"
+ depends on IP_SCTP
+ help
+ If you say Y, this will enable debugging support for counting the types
+ of objects that are currently allocated. This is useful for identifying
+ memory leaks. If the /proc filesystem is enabled this debug information
+ can be viewed by 'cat /proc/net/sctp/sctp_dbg_objcnt'
+
+ If unsure, say N
+
+endmenu
+
diff --git a/security/Kconfig b/security/Kconfig
new file mode 100644
index 000000000000..d00116860002
--- /dev/null
+++ b/security/Kconfig
@@ -0,0 +1,15 @@
+#
+# Security configuration
+#
+
+menu "Security options"
+
+config SECURITY_CAPABILITIES
+ bool
+ default y
+ help
+ This enables the "default" Linux capabilities functionality.
+ If you are unsure how to answer this question, answer Y.
+
+endmenu
+
diff --git a/sound/Kconfig b/sound/Kconfig
new file mode 100644
index 000000000000..0955202c7734
--- /dev/null
+++ b/sound/Kconfig
@@ -0,0 +1,44 @@
+# sound/Config.in
+#
+
+menu "Open Sound System"
+ depends on SOUND!=n
+
+config SOUND_PRIME
+ tristate "Open Sound System"
+ depends on SOUND
+ help
+ Say 'Y' or 'M' to enable Open Sound System drivers.
+
+source "sound/oss/Kconfig"
+
+endmenu
+
+
+menu "Advanced Linux Sound Architecture"
+ depends on SOUND!=n
+
+config SND
+ tristate "Advanced Linux Sound Architecture"
+ depends on SOUND
+
+source "sound/core/Kconfig"
+
+source "sound/drivers/Kconfig"
+
+source "sound/isa/Kconfig"
+
+source "sound/pci/Kconfig"
+
+source "sound/ppc/Kconfig"
+
+source "sound/arm/Kconfig"
+
+# the following will depenend on the order of config.
+# here assuming USB is defined before ALSA
+source "sound/usb/Kconfig"
+
+source "sound/sparc/Kconfig"
+
+endmenu
+
diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig
new file mode 100644
index 000000000000..a0ec1f735ee3
--- /dev/null
+++ b/sound/arm/Kconfig
@@ -0,0 +1,14 @@
+# ALSA ARM drivers
+
+menu "ALSA ARM devices"
+ depends on SND!=n && ARM
+
+config SND_SA11XX_UDA1341
+ tristate "SA11xx UDA1341TS driver (H3600)"
+ depends on ARCH_SA1100 && SND && L3
+ help
+ Say Y or M if you have a Compaq iPaq H3x00 handheld computer and want
+ to use its Philips UDA 1341 audio chip.
+
+endmenu
+
diff --git a/sound/core/Kconfig b/sound/core/Kconfig
new file mode 100644
index 000000000000..adfe6d960a46
--- /dev/null
+++ b/sound/core/Kconfig
@@ -0,0 +1,77 @@
+# ALSA soundcard-configuration
+config SND_BIT32_EMUL
+ tristate "Emulation for 32-bit applications"
+ depends on SND && (SPARC64 || PPC64 || X86_64 && IA32_EMULATION)
+
+config SND_SEQUENCER
+ tristate "Sequencer support"
+ depends on SND
+ help
+ Say 'Y' or 'M' to enable MIDI sequencer and router support. This feature
+ allows routing and enqueing MIDI events. Events can be processed at given
+ time.
+
+config SND_SEQ_DUMMY
+ tristate "Sequencer dummy client"
+ depends on SND_SEQUENCER
+ help
+ Say 'Y' or 'M' to enable dummy sequencer client. This client is a simple
+ midi-through client. All normal input events are redirected to output port
+ immediately.
+
+config SND_OSSEMUL
+ bool "OSS API emulation"
+ depends on SND
+ help
+ Say 'Y' to enable OSS (Open Sound System) API emulation code.
+
+config SND_MIXER_OSS
+ tristate "OSS Mixer API"
+ depends on SND_OSSEMUL && SND
+ help
+ Say 'Y' or 'M' to enable mixer OSS API emulation (/dev/mixer*).
+
+config SND_PCM_OSS
+ tristate "OSS PCM (digital audio) API"
+ depends on SND_OSSEMUL && SND
+ help
+ Say 'Y' or 'M' to enable digital audio (PCM) OSS API emulation (/dev/dsp*).
+
+config SND_SEQUENCER_OSS
+ bool "OSS Sequencer API"
+ depends on SND_OSSEMUL && SND_SEQUENCER
+ help
+ Say 'Y' or 'M' to enable OSS sequencer emulation (both /dev/sequencer and
+ /dev/music interfaces).
+
+config SND_RTCTIMER
+ tristate "RTC Timer support"
+ depends on SND && RTC
+ help
+ Say 'Y' or 'M' to enable RTC timer support for ALSA. ALSA code uses RTC
+ timer as precise timing source and maps the RTC timer to the ALSA's timer
+ interface. ALSA sequencer code can also use this timing source.
+
+config SND_VERBOSE_PRINTK
+ bool "Verbose printk"
+ depends on SND
+ help
+ Say 'Y' to enable verbose log messages. These messages will help to
+ identify source file and position containing printed messages.
+
+config SND_DEBUG
+ bool "Debug"
+ depends on SND
+ help
+ Say 'Y' to enable ALSA debug code.
+
+config SND_DEBUG_MEMORY
+ bool "Debug memory"
+ depends on SND_DEBUG
+ help
+ Say 'Y' to enable debugging of memory allocation.
+
+config SND_DEBUG_DETECT
+ bool "Debug detection"
+ depends on SND_DEBUG
+
diff --git a/sound/drivers/Kconfig b/sound/drivers/Kconfig
new file mode 100644
index 000000000000..6483d155b6fe
--- /dev/null
+++ b/sound/drivers/Kconfig
@@ -0,0 +1,42 @@
+# ALSA generic drivers
+
+menu "Generic devices"
+ depends on SND!=n
+
+config SND_DUMMY
+ tristate "Dummy (/dev/null) soundcard"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include dummy driver. This driver does nothing, but
+ emulates various mixer controls and PCM devices.
+
+
+config SND_VIRMIDI
+ tristate "Virtual MIDI soundcard"
+ depends on SND_SEQUENCER
+ help
+ Say 'Y' or 'M' to include virtual MIDI driver. This driver allows to
+ connect applications using raw MIDI devices to sequencer.
+
+config SND_MTPAV
+ tristate "MOTU MidiTimePiece AV multiport MIDI"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for MOTU MidiTimePiece AV multiport
+ MIDI adapter.
+
+config SND_SERIAL_U16550
+ tristate "UART16550 - MIDI only driver"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for MIDI serial port driver. It works
+ with serial UARTs 16550 and better.
+
+config SND_MPU401
+ tristate "Generic MPU-401 UART driver"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for MPU401 hardware using UART access.
+
+endmenu
+
diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig
new file mode 100644
index 000000000000..e0dd6ef0ffbb
--- /dev/null
+++ b/sound/isa/Kconfig
@@ -0,0 +1,188 @@
+# ALSA ISA drivers
+
+menu "ISA devices"
+ depends on SND!=n && ISA
+
+config SND_AD1816A
+ tristate "Analog Devices SoundPort AD1816A"
+ depends on SND && ISAPNP
+ help
+ Say 'Y' or 'M' to include support for Analog Devices SoundPort AD1816A or
+ compatible sound chips.
+
+config SND_AD1848
+ tristate "Generic AD1848/CS4248 driver"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for AD1848 (Analog Devices) or CS4248
+ (Cirrus Logic - Crystal Semiconductors) chips. Please, for newer chips
+ from Cirrus Logic, use CS4231, CS4232 or CS4236+ driver.
+
+config SND_CS4231
+ tristate "Generic Cirrus Logic CS4231 driver"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for CS4231 chips from Cirrus Logic -
+ Crystal Semiconductors.
+
+config SND_CS4232
+ tristate "Generic Cirrus Logic CS4232 driver"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for CS4232 chips from Cirrus Logic -
+ Crystal Semiconductors.
+
+config SND_CS4236
+ tristate "Generic Cirrus Logic CS4236+ driver"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for CS4235,CS4236,CS4237B,CS4238B,CS4239
+ chips from Cirrus Logic - Crystal Semiconductors.
+
+config SND_ES968
+ tristate "Generic ESS ES968 driver"
+ depends on SND && ISAPNP
+ help
+ Say 'Y' or 'M' to include support for ESS AudioDrive ES968 chip.
+
+config SND_ES1688
+ tristate "Generic ESS ES688/ES1688 driver"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for ESS AudioDrive ES688 or ES1688 chips.
+
+config SND_ES18XX
+ tristate "Generic ESS ES18xx driver"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for ESS AudioDrive ES18xx chips.
+
+config SND_GUSCLASSIC
+ tristate "Gravis UltraSound Classic"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Gravis UltraSound Classic soundcard.
+
+config SND_GUSEXTREME
+ tristate "Gravis UltraSound Extreme"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Gravis UltraSound Extreme soundcard.
+
+config SND_GUSMAX
+ tristate "Gravis UltraSound MAX"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Gravis UltraSound MAX soundcard.
+
+config SND_INTERWAVE
+ tristate "AMD InterWave, Gravis UltraSound PnP"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for AMD InterWave based soundcards
+ (Gravis UltraSound Plug & Play, STB SoundRage32, MED3210, Dynasonic Pro,
+ Panasonic PCA761AW).
+
+config SND_INTERWAVE_STB
+ tristate "AMD InterWave + TEA6330T (UltraSound 32-Pro)"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for AMD InterWave based soundcards
+ with TEA6330T bass and treble regulator (UltraSound 32-Pro).
+
+config SND_OPTI92X_AD1848
+ tristate "OPTi 82C92x - AD1848"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Opti92x soundcards equiped with
+ AD1848 codec.
+
+config SND_OPTI92X_CS4231
+ tristate "OPTi 82C92x - CS4231"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Opti92x soundcards equiped with
+ CS4231 codec.
+
+config SND_OPTI93X
+ tristate "OPTi 82C93x"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Opti93x soundcards.
+
+config SND_SB8
+ tristate "Sound Blaster 1.0/2.0/Pro (8-bit)"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Sound Blaster 1.0/2.0/Pro (8-bit)
+ soundcards or 100% compatible from Creative.
+
+config SND_SB16
+ tristate "Sound Blaster 16 (PnP)"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Sound Blaster 16 (including
+ Plug and Play version).
+
+config SND_SBAWE
+ tristate "Sound Blaster AWE (32,64) (PnP)"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Sound Blaster AWE (including
+ Plug and Play version).
+
+config SND_SB16_CSP
+ bool "Sound Blaster 16/AWE CSP support"
+ depends on SND_SB16 || SND_SBAWE
+ help
+ Say 'Y' to include support for CSP core. This special coprocessor
+ can do variable tasks like various compression and decompression
+ algorithms.
+
+config SND_WAVEFRONT
+ tristate "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Turtle Beach Maui, Tropez
+ and Tropez+ soundcards based on Wavefront chip.
+
+config SND_ALS100
+ tristate "Avance Logic ALS100/ALS120"
+ depends on SND && ISAPNP
+ help
+ Say 'Y' or 'M' to include support for Avance Logic ALS100, ALS110,
+ ALS120 and ALS200 soundcards.
+
+config SND_AZT2320
+ tristate "Aztech Systems AZT2320"
+ depends on SND && ISAPNP
+ help
+ Say 'Y' or 'M' to include support for Aztech Systems AZT2320 soundcard.
+
+config SND_CMI8330
+ tristate "C-Media CMI8330"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for C-Media CMI8330 based soundcards.
+
+config SND_DT019X
+ tristate "Diamond Technologies DT-019X, Avance Logic ALS-007"
+ depends on SND && ISAPNP
+ help
+ Say 'Y' or 'M' to include support for Diamond Technologies DT-019X and
+ Avance Logic ALS-007 soundcards.
+
+config SND_OPL3SA2
+ tristate "Yamaha OPL3-SA2/SA3"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Yamaha OPL3SA2 or OPL3SA3 chips.
+
+config SND_SGALAXY
+ tristate "Aztech Sound Galaxy"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Aztech Sound Galaxy.
+
+endmenu
+
diff --git a/sound/oss/Kconfig b/sound/oss/Kconfig
new file mode 100644
index 000000000000..8adcb35dc29f
--- /dev/null
+++ b/sound/oss/Kconfig
@@ -0,0 +1,1085 @@
+# drivers/sound/Config.in
+#
+# 18 Apr 1998, Michael Elizabeth Chastain, <mailto:mec@shout.net>
+# More hacking for modularisation.
+#
+# Prompt user for primary drivers.
+config SOUND_BT878
+ tristate "BT878 audio dma"
+ depends on SOUND_PRIME!=n && SOUND
+ ---help---
+ Audio DMA support for bt878 based grabber boards. As you might have
+ already noticed, bt878 is listed with two functions in /proc/pci.
+ Function 0 does the video stuff (bt848 compatible), function 1 does
+ the same for audio data. This is a driver for the audio part of
+ the chip. If you say 'Y' here you get a oss-compatible dsp device
+ where you can record from. If you want just watch TV you probably
+ don't need this driver as most TV cards handle sound with a short
+ cable from the TV card to your sound card's line-in.
+
+ This driver is available as a module called btaudio.o ( = 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 SOUND_CMPCI
+ tristate "C-Media PCI (CMI8338/8738)"
+ depends on SOUND_PRIME!=n && SOUND && PCI
+ help
+ Say Y or M if you have a PCI sound card using the CMI8338
+ or the CMI8378 chipset. Data on these chips are available at
+ <http://www.cmedia.com.tw/>.
+
+ A userspace utility to control some internal registers of these
+ chips is available at
+ <http://member.nifty.ne.jp/Breeze/softwares/unix/cmictl-e.html>.
+
+config SOUND_CMPCI_FM
+ bool "Enable legacy FM"
+ depends on SOUND_CMPCI
+
+config SOUND_CMPCI_FMIO
+ hex "FM I/O 388, 3C8, 3E0, 3E8"
+ depends on SOUND_CMPCI_FM
+ default "388"
+
+config SOUND_CMPCI_MIDI
+ bool "Enable legacy MPU-401"
+ depends on SOUND_CMPCI
+
+config SOUND_CMPCI_MPUIO
+ hex "MPU-401 I/O 330, 320, 310, 300"
+ depends on SOUND_CMPCI_MIDI
+ default "330"
+
+config SOUND_CMPCI_JOYSTICK
+ bool "Enable joystick"
+ depends on SOUND_CMPCI
+ help
+ Say here in order to enable the joystick port on a sound crd using
+ the CMI8338 or the CMI8738 chipset. Data on these chips are
+ available at <http://www.cmedia.com.tw/>.
+
+config SOUND_CMPCI_CM8738
+ bool "Support CMI8738 based audio cards"
+ depends on SOUND_CMPCI
+ help
+ Say Y or M if you have a PCI sound card using the CMI8338
+ or the CMI8378 chipset. Data on this chip is available at
+ <http://www.cmedia.com.tw/doc8738.htm>.
+
+ A userspace utility to control some internal registers of these
+ chips is available at
+ <http://member.nifty.ne.jp/Breeze/softwares/unix/cmictl-e.html>.
+
+config SOUND_CMPCI_SPDIFINVERSE
+ bool "Inverse S/PDIF in for CMI8738"
+ depends on SOUND_CMPCI_CM8738
+
+config SOUND_CMPCI_SPDIFLOOP
+ bool "Enable S/PDIF loop for CMI8738"
+ depends on SOUND_CMPCI_CM8738
+ help
+ Enable loopback from SPDIF in to SPDIF out. For discussion, see
+ "The 8738 Audio SPDIF In/Out Technical Data" on the technical
+ support page at <http://www.cmedia.com.tw/>.
+
+ A userspace utility to control even more internal registers of these
+ chips is available at
+ <http://member.nifty.ne.jp/Breeze/softwares/unix/cmictl-e.html>.
+ This package will among other things help you enable SPDIF
+ out/in/loop/monitor.
+
+config SOUND_CMPCI_SPEAKERS
+ int "Number of speakers 2, 4, 5, 6"
+ depends on SOUND_CMPCI_CM8738
+ default "2"
+ help
+ Specify the number of speaker channels you want the card to drive,
+ as an integer.
+
+config SOUND_CMPCI_LINE_REAR
+ bool "Use Line-in as Read-out"
+ depends on SOUND_CMPCI_CM8738 && SOUND_CMPCI_SPEAKERS!=2
+
+config SOUND_CMPCI_LINE_BASS
+ bool "Use Line-in as Bass"
+ depends on SOUND_CMPCI_CM8738 && SOUND_CMPCI_SPEAKERS!=2
+
+config SOUND_EMU10K1
+ tristate "Creative SBLive! (EMU10K1)"
+ depends on SOUND_PRIME!=n && SOUND && PCI
+ ---help---
+ Say Y or M if you have a PCI sound card using the EMU10K1 chipset,
+ such as the Creative SBLive!, SB PCI512 or Emu-APS.
+
+ For more information on this driver and the degree of support for the
+ different card models please check <http://opensource.creative.com/>.
+
+ It is now possible to load dsp microcode patches into the EMU10K1
+ chip. These patches are used to implement real time sound
+ processing effects which include for example: signal routing,
+ bass/treble control, AC3 passthrough, ...
+ Userspace tools to create new patches and load/unload them can be
+ found at <http://opensource.creative.com/dist.html>.
+
+config MIDI_EMU10K1
+ bool "Creative SBLive! MIDI (EXPERIMENTAL)"
+ depends on SOUND_EMU10K1 && EXPERIMENTAL
+ help
+ Say Y if you want to be able to use the OSS /dev/sequencer
+ interface. This code is still experimental.
+
+config SOUND_FUSION
+ tristate "Crystal SoundFusion (CS4280/461x)"
+ depends on SOUND_PRIME!=n && SOUND
+ help
+ This module drives the Crystal SoundFusion devices (CS4280/46xx
+ series) when wired as native sound drivers with AC97 codecs. If
+ this driver does not work try the CS4232 driver.
+
+config SOUND_CS4281
+ tristate "Crystal Sound CS4281"
+ depends on SOUND_PRIME!=n && SOUND
+ help
+ Picture and feature list at
+ <http://www.pcbroker.com/crystal4281.html>.
+
+config SOUND_ES1370
+ tristate "Ensoniq AudioPCI (ES1370)"
+ depends on SOUND_PRIME!=n && SOUND && PCI && SOUND_GAMEPORT
+ help
+ Say Y or M if you have a PCI sound card utilizing the Ensoniq
+ ES1370 chipset, such as Ensoniq's AudioPCI (non-97). To find
+ out if your sound card uses an ES1370 without removing your
+ computer's cover, use lspci -n and look for the PCI ID
+ 1274:5000. Since Ensoniq was bought by Creative Labs,
+ Sound Blaster 64/PCI models are either ES1370 or ES1371 based.
+ This driver differs slightly from OSS/Free, so PLEASE READ
+ <file:Documentation/sound/es1370>.
+
+config SOUND_ES1371
+ tristate "Creative Ensoniq AudioPCI 97 (ES1371)"
+ depends on SOUND_PRIME!=n && SOUND && PCI && SOUND_GAMEPORT
+ help
+ Say Y or M if you have a PCI sound card utilizing the Ensoniq
+ ES1371 chipset, such as Ensoniq's AudioPCI97. To find out if
+ your sound card uses an ES1371 without removing your computer's
+ cover, use lspci -n and look for the PCI ID 1274:1371. Since
+ Ensoniq was bought by Creative Labs, Sound Blaster 64/PCI
+ models are either ES1370 or ES1371 based. This driver differs
+ slightly from OSS/Free, so PLEASE READ
+ <file:Documentation/sound/es1371>.
+
+config SOUND_ESSSOLO1
+ tristate "ESS Technology Solo1"
+ depends on SOUND_PRIME!=n && SOUND && SOUND_GAMEPORT
+ help
+ Say Y or M if you have a PCI sound card utilizing the ESS Technology
+ Solo1 chip. To find out if your sound card uses a
+ Solo1 chip without removing your computer's cover, use
+ lspci -n and look for the PCI ID 125D:1969. This driver
+ differs slightly from OSS/Free, so PLEASE READ
+ <file:Documentation/sound/solo1>.
+
+config SOUND_MAESTRO
+ tristate "ESS Maestro, Maestro2, Maestro2E driver"
+ depends on SOUND_PRIME!=n && SOUND
+ help
+ Say Y or M if you have a sound system driven by ESS's Maestro line
+ of PCI sound chips. These include the Maestro 1, Maestro 2, and
+ Maestro 2E. See <file:Documentation/sound/Maestro> for more
+ details.
+
+config SOUND_MAESTRO3
+ tristate "ESS Maestro3/Allegro driver (EXPERIMENTAL)"
+ depends on SOUND_PRIME!=n && SOUND && PCI && EXPERIMENTAL
+ help
+ Say Y or M if you have a sound system driven by ESS's Maestro 3
+ PCI sound chip.
+
+config SOUND_ICH
+ tristate "Intel ICH (i8xx) audio support"
+ depends on SOUND_PRIME!=n && PCI
+ help
+ Support for integral audio in Intel's I/O Controller Hub (ICH)
+ chipset, as used on the 810/820/840 motherboards.
+
+config SOUND_RME96XX
+ tristate "RME Hammerfall (RME96XX) support (EXPERIMENTAL)"
+ depends on SOUND_PRIME!=n && SOUND && PCI && EXPERIMENTAL
+ help
+ Say Y or M if you have a Hammerfall, Hammerfall light or Hammerfall
+ DSP card from RME.
+
+config SOUND_SONICVIBES
+ tristate "S3 SonicVibes"
+ depends on SOUND_PRIME!=n && SOUND && SOUND_GAMEPORT
+ help
+ Say Y or M if you have a PCI sound card utilizing the S3
+ SonicVibes chipset. To find out if your sound card uses a
+ SonicVibes chip without removing your computer's cover, use
+ lspci -n and look for the PCI ID 5333:CA00. This driver
+ differs slightly from OSS/Free, so PLEASE READ
+ <file:Documentation/sound/sonicvibes>.
+
+config SOUND_VWSND
+ tristate "SGI Visual Workstation Sound"
+ depends on SOUND_PRIME!=n && VISWS && SOUND
+ help
+ Say Y or M if you have an SGI Visual Workstation and you want to be
+ able to use its on-board audio. Read
+ <file:Documentation/sound/vwsnd> for more info on this driver's
+ capabilities.
+
+config SOUND_VRC5477
+ tristate "NEC Vrc5477 AC97 sound"
+ depends on SOUND_PRIME!=n && DDB5477 && SOUND
+
+config SOUND_TRIDENT
+ tristate "Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core"
+ depends on SOUND_PRIME!=n && SOUND && SOUND_GAMEPORT
+ ---help---
+ Say Y or M if you have a PCI sound card utilizing the Trident
+ 4DWave-DX/NX chipset or your mother board chipset has SiS 7018
+ or ALi 5451 built-in. The SiS 7018 PCI Audio Core is embedded
+ in SiS960 Super South Bridge and SiS540/630 Single Chipset.
+ The ALi 5451 PCI Audio Core is embedded in ALi M1535, M1535D,
+ M1535+ or M1535D+ South Bridge.
+
+ Use lspci -n to find out if your sound card or chipset uses
+ Trident 4DWave or SiS 7018. PCI ID 1023:2000 or 1023:2001 stands
+ for Trident 4Dwave. PCI ID 1039:7018 stands for SiS7018. PCI ID
+ 10B9:5451 stands for ALi5451.
+
+ This driver supports S/PDIF in/out (record/playback) for ALi 5451
+ embedded in ALi M1535+ and M1535D+. Note that they aren't all
+ enabled by default; you can enable them by saying Y to "/proc file
+ system support" and "Sysctl support", and after the /proc file
+ system has been mounted, executing the command
+
+ command what is enabled
+
+ echo 0>/proc/ALi5451 pcm out is also set to S/PDIF out. (Default).
+
+ echo 1>/proc/ALi5451 use S/PDIF out to output pcm data.
+
+ echo 2>/proc/ALi5451 use S/PDIF out to output non-pcm data.
+ (AC3...).
+
+ echo 3>/proc/ALi5451 record from Ac97 in(MIC, Line in...).
+ (Default).
+
+ echo 4>/proc/ALi5451 no matter Ac97 settings, record from S/PDIF
+ in.
+
+
+ This driver differs slightly from OSS/Free, so PLEASE READ the
+ comments at the top of <file:drivers/sound/trident.c>.
+
+config SOUND_MSNDCLAS
+ tristate "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey"
+ depends on SOUND_PRIME!=n && SOUND
+ help
+ Say M here if you have a Turtle Beach MultiSound Classic, Tahiti or
+ Monterey (not for the Pinnacle or Fiji).
+
+ See <file:Documentation/sound/MultiSound> for important information
+ about this driver. Note that it has been discontinued, but the
+ Voyetra Turtle Beach knowledge base entry for it is still available
+ at <http://www.voyetra-turtle-beach.com/site/kb_ftp/790.asp>.
+
+comment "Compiled-in MSND Classic support requires firmware during compilation."
+ depends on SOUND_PRIME && SOUND_MSNDCLAS=y
+
+config MSNDCLAS_HAVE_BOOT
+ bool
+ depends on SOUND_MSNDCLAS=y
+ default y
+
+config MSNDCLAS_INIT_FILE
+ string "Full pathname of MSNDINIT.BIN firmware file"
+ depends on SOUND_MSNDCLAS
+ default "/etc/sound/msndinit.bin"
+ help
+ The MultiSound cards have two firmware files which are required for
+ operation, and are not currently included. These files can be
+ obtained from Turtle Beach. See
+ <file:Documentation/sound/MultiSound> for information on how to
+ obtain this.
+
+config MSNDCLAS_PERM_FILE
+ string "Full pathname of MSNDPERM.BIN firmware file"
+ depends on SOUND_MSNDCLAS
+ default "/etc/sound/msndperm.bin"
+ help
+ The MultiSound cards have two firmware files which are required for
+ operation, and are not currently included. These files can be
+ obtained from Turtle Beach. See
+ <file:Documentation/sound/MultiSound> for information on how to
+ obtain this.
+
+config MSNDCLAS_IRQ
+ int "MSND Classic IRQ 5, 7, 9, 10, 11, 12"
+ depends on SOUND_MSNDCLAS=y
+ default "5"
+ help
+ Interrupt Request line for the MultiSound Classic and related cards.
+
+config MSNDCLAS_MEM
+ hex "MSND Classic memory B0000, C8000, D0000, D8000, E0000, E8000"
+ depends on SOUND_MSNDCLAS=y
+ default "D0000"
+ help
+ Memory-mapped I/O base address for the MultiSound Classic and
+ related cards.
+
+config MSNDCLAS_IO
+ hex "MSND Classic I/O 210, 220, 230, 240, 250, 260, 290, 3E0"
+ depends on SOUND_MSNDCLAS=y
+ default "290"
+ help
+ I/O port address for the MultiSound Classic and related cards.
+
+config SOUND_MSNDPIN
+ tristate "Support for Turtle Beach MultiSound Pinnacle, Fiji"
+ depends on SOUND_PRIME!=n && SOUND
+ help
+ Say M here if you have a Turtle Beach MultiSound Pinnacle or Fiji.
+ See <file:Documentation/sound/MultiSound> for important information
+ about this driver. Note that it has been discontinued, but the
+ Voyetra Turtle Beach knowledge base entry for it is still available
+ at <http://www.voyetra-turtle-beach.com/site/kb_ftp/600.asp>.
+
+comment "Compiled-in MSND Pinnacle support requires firmware during compilation."
+ depends on SOUND_PRIME && SOUND_MSNDPIN=y
+
+config MSNDPIN_HAVE_BOOT
+ bool
+ depends on SOUND_MSNDPIN=y
+ default y
+
+config MSNDPIN_INIT_FILE
+ string "Full pathname of PNDSPINI.BIN firmware file"
+ depends on SOUND_MSNDPIN
+ default "/etc/sound/pndspini.bin"
+ help
+ The MultiSound cards have two firmware files which are required
+ for operation, and are not currently included. These files can be
+ obtained from Turtle Beach. See
+ <file:Documentation/sound/MultiSound> for information on how to
+ obtain this.
+
+config MSNDPIN_PERM_FILE
+ string "Full pathname of PNDSPERM.BIN firmware file"
+ depends on SOUND_MSNDPIN
+ default "/etc/sound/pndsperm.bin"
+ help
+ The MultiSound cards have two firmware files which are required for
+ operation, and are not currently included. These files can be
+ obtained from Turtle Beach. See
+ <file:Documentation/sound/MultiSound> for information on how to
+ obtain this.
+
+config MSNDPIN_IRQ
+ int "MSND Pinnacle IRQ 5, 7, 9, 10, 11, 12"
+ depends on SOUND_MSNDPIN=y
+ default "5"
+ help
+ Interrupt request line for the primary synthesizer on MultiSound
+ Pinnacle and Fiji sound cards.
+
+config MSNDPIN_MEM
+ hex "MSND Pinnacle memory B0000, C8000, D0000, D8000, E0000, E8000"
+ depends on SOUND_MSNDPIN=y
+ default "D0000"
+ help
+ Memory-mapped I/O base address for the primary synthesizer on
+ MultiSound Pinnacle and Fiji sound cards.
+
+config MSNDPIN_IO
+ hex "MSND Pinnacle I/O 210, 220, 230, 240, 250, 260, 290, 3E0"
+ depends on SOUND_MSNDPIN=y
+ default "290"
+ help
+ Memory-mapped I/O base address for the primary synthesizer on
+ MultiSound Pinnacle and Fiji sound cards.
+
+config MSNDPIN_DIGITAL
+ bool "MSND Pinnacle has S/PDIF I/O"
+ depends on SOUND_MSNDPIN=y
+ help
+ If you have the S/PDIF daughter board for the Pinnacle or Fiji,
+ answer Y here; otherwise, say N. If you have this, you will be able
+ to play and record from the S/PDIF port (digital signal). See
+ <file:Documentation/sound/MultiSound> for information on how to make
+ use of this capability.
+
+config MSNDPIN_NONPNP
+ bool "MSND Pinnacle non-PnP Mode"
+ depends on SOUND_MSNDPIN=y
+ help
+ The Pinnacle and Fiji card resources can be configured either with
+ PnP, or through a configuration port. Say Y here if your card is NOT
+ in PnP mode. For the Pinnacle, configuration in non-PnP mode allows
+ use of the IDE and joystick peripherals on the card as well; these
+ do not show up when the card is in PnP mode. Specifying zero for any
+ resource of a device will disable the device. If you are running the
+ card in PnP mode, you must say N here and use isapnptools to
+ configure the card's resources.
+
+comment "MSND Pinnacle DSP section will be configured to above parameters."
+ depends on SOUND_PRIME && SOUND_MSNDPIN=y && MSNDPIN_NONPNP
+
+config MSNDPIN_CFG
+ hex "MSND Pinnacle config port 250,260,270"
+ depends on MSNDPIN_NONPNP
+ default "250"
+ help
+ This is the port which the Pinnacle and Fiji uses to configure the
+ card's resources when not in PnP mode. If your card is in PnP mode,
+ then be sure to say N to the previous option, "MSND Pinnacle Non-PnP
+ Mode".
+
+comment "Pinnacle-specific Device Configuration (0 disables)"
+ depends on SOUND_PRIME && SOUND_MSNDPIN=y && MSNDPIN_NONPNP
+
+config MSNDPIN_MPU_IO
+ hex "MSND Pinnacle MPU I/O (e.g. 330)"
+ depends on MSNDPIN_NONPNP
+ default "0"
+ help
+ Memory-mapped I/O base address for the Kurzweil daughterboard
+ synthesizer on MultiSound Pinnacle and Fiji sound cards.
+
+config MSNDPIN_MPU_IRQ
+ int "MSND Pinnacle MPU IRQ (e.g. 9)"
+ depends on MSNDPIN_NONPNP
+ default "0"
+ help
+ Iinterrupt request number for the Kurzweil daughterboard
+ synthesizer on MultiSound Pinnacle and Fiji sound cards.
+
+config MSNDPIN_IDE_IO0
+ hex "MSND Pinnacle IDE I/O 0 (e.g. 170)"
+ depends on MSNDPIN_NONPNP
+ default "0"
+ help
+ CD-ROM drive 0 memory-mapped I/O base address for the MultiSound
+ Pinnacle and Fiji sound cards.
+
+config MSNDPIN_IDE_IO1
+ hex "MSND Pinnacle IDE I/O 1 (e.g. 376)"
+ depends on MSNDPIN_NONPNP
+ default "0"
+ help
+ CD-ROM drive 1 memory-mapped I/O base address for the MultiSound
+ Pinnacle and Fiji sound cards.
+
+config MSNDPIN_IDE_IRQ
+ int "MSND Pinnacle IDE IRQ (e.g. 15)"
+ depends on MSNDPIN_NONPNP
+ default "0"
+ help
+ Interrupt request number for the IDE CD-ROM interface on the
+ MultiSound Pinnacle and Fiji sound cards.
+
+config MSNDPIN_JOYSTICK_IO
+ hex "MSND Pinnacle joystick I/O (e.g. 200)"
+ depends on MSNDPIN_NONPNP
+ default "0"
+ help
+ Memory-mapped I/O base address for the joystick port on MultiSound
+ Pinnacle and Fiji sound cards.
+
+config MSND_FIFOSIZE
+ int "MSND buffer size (kB)"
+ depends on SOUND_PRIME && (SOUND_MSNDPIN=y || SOUND_MSNDCLAS=y)
+ default "128"
+ help
+ Configures the size of each audio buffer, in kilobytes, for
+ recording and playing in the MultiSound drivers (both the Classic
+ and Pinnacle). Larger values reduce the chance of data overruns at
+ the expense of overall latency. If unsure, use the default.
+
+config SOUND_VIA82CXXX
+ tristate "VIA 82C686 Audio Codec"
+ depends on SOUND_PRIME!=n && PCI
+ help
+ Say Y here to include support for the audio codec found on VIA
+ 82Cxxx-based chips. Typically these are built into a motherboard.
+
+ DO NOT select Sound Blaster or Adlib with this driver, unless
+ you have a Sound Blaster or Adlib card in addition to your VIA
+ audio chip.
+
+config MIDI_VIA82CXXX
+ bool "VIA 82C686 MIDI"
+ depends on SOUND_VIA82CXXX
+ help
+ Answer Y to use the MIDI interface of the Via686. You may need to
+ enable this in the BIOS before it will work. This is for connection
+ to external MIDI hardware, and is not required for software playback
+ of MIDI files.
+
+config SOUND_OSS
+ tristate "OSS sound modules"
+ depends on SOUND_PRIME!=n && SOUND
+ help
+ OSS is the Open Sound System suite of sound card drivers. They make
+ sound programming easier since they provide a common API. Say Y or
+ M here (the module will be called sound.o) if you haven't found a
+ driver for your sound card above, then pick your driver from the
+ list below.
+
+config SOUND_TRACEINIT
+ bool "Verbose initialisation"
+ depends on SOUND_OSS
+ help
+ Verbose soundcard initialization -- affects the format of autoprobe
+ and initialization messages at boot time.
+
+config SOUND_DMAP
+ bool "Persistent DMA buffers"
+ depends on SOUND_OSS
+ ---help---
+ Linux can often have problems allocating DMA buffers for ISA sound
+ cards on machines with more than 16MB of RAM. This is because ISA
+ DMA buffers must exist below the 16MB boundary and it is quite
+ possible that a large enough free block in this region cannot be
+ found after the machine has been running for a while. If you say Y
+ here the DMA buffers (64Kb) will be allocated at boot time and kept
+ until the shutdown. This option is only useful if you said Y to
+ "OSS sound modules", above. If you said M to "OSS sound modules"
+ then you can get the persistent DMA buffer functionality by passing
+ the command-line argument "dmabuf=1" to the sound.o module.
+
+ Say Y unless you have 16MB or more RAM or a PCI sound card.
+
+config SOUND_AD1816
+ tristate "AD1816(A) based cards (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && SOUND_OSS
+ help
+ Say M here if you have a sound card based on the Analog Devices
+ AD1816(A) chip.
+
+ If you compile the driver into the kernel, you have to add
+ "ad1816=<io>,<irq>,<dma>,<dma2>" to the kernel command line.
+
+config SOUND_SGALAXY
+ tristate "Aztech Sound Galaxy (non-PnP) cards"
+ depends on SOUND_OSS
+ help
+ This module initializes the older non Plug and Play sound galaxy
+ cards from Aztech. It supports the Waverider Pro 32 - 3D and the
+ Galaxy Washington 16.
+
+ If you compile the driver into the kernel, you have to add
+ "sgalaxy=<io>,<irq>,<dma>,<dma2>,<sgbase>" to the kernel command
+ line.
+
+config SOUND_ADLIB
+ tristate "Adlib Cards"
+ depends on SOUND_OSS
+ help
+ Includes ASB 64 4D. Information on programming AdLib cards is
+ available at <http://www.itsnet.com/home/ldragon/Specs/adlib.html>.
+
+config SOUND_ACI_MIXER
+ tristate "ACI mixer (miroSOUND PCM1-pro/PCM12/PCM20)"
+ depends on SOUND_OSS
+ ---help---
+ ACI (Audio Command Interface) is a protocol used to communicate with
+ the microcontroller on some sound cards produced by miro and
+ Cardinal Technologies. The main function of the ACI is to control
+ the mixer and to get a product identification.
+
+ This VoxWare ACI driver currently supports the ACI functions on the
+ miroSOUND PCM1-pro, PCM12 and PCM20 radio. On the PCM20 radio, ACI
+ also controls the radio tuner. This is supported in the video4linux
+ miropcm20 driver (say M or Y here and go back to "Multimedia
+ devices" -> "Radio Adapters").
+
+ This driver is also available as a module and will be called aci.o.
+
+config SOUND_CS4232
+ tristate "Crystal CS4232 based (PnP) cards"
+ depends on SOUND_OSS
+ help
+ Say Y here if you have a card based on the Crystal CS4232 chip set,
+ which uses its own Plug and Play protocol.
+
+ If you compile the driver into the kernel, you have to add
+ "cs4232=<io>,<irq>,<dma>,<dma2>,<mpuio>,<mpuirq>" to the kernel
+ command line.
+
+ See <file:Documentation/sound/CS4232> for more information on
+ configuring this card.
+
+config SOUND_SSCAPE
+ tristate "Ensoniq SoundScape support"
+ depends on SOUND_OSS
+ help
+ Answer Y if you have a sound card based on the Ensoniq SoundScape
+ chipset. Such cards are being manufactured at least by Ensoniq, Spea
+ and Reveal (Reveal makes also other cards).
+
+ If you compile the driver into the kernel, you have to add
+ "sscape=<io>,<irq>,<dma>,<mpuio>,<mpuirq>" to the kernel command
+ line.
+
+config SOUND_GUS
+ tristate "Gravis Ultrasound support"
+ depends on SOUND_OSS
+ help
+ Say Y here for any type of Gravis Ultrasound card, including the GUS
+ or GUS MAX. See also <file:Documentation/sound/ultrasound> for more
+ information on configuring this card with modules.
+
+ If you compile the driver into the kernel, you have to add
+ "gus=<io>,<irq>,<dma>,<dma2>" to the kernel command line.
+
+config SOUND_GUS16
+ bool "16 bit sampling option of GUS (_NOT_ GUS MAX)"
+ depends on SOUND_GUS
+ help
+ Support for Gravis Ulstrasound (GUS) cards (other than the GUS),
+ sampling at 16-bit width.
+
+config SOUND_GUSMAX
+ bool "GUS MAX support"
+ depends on SOUND_GUS
+ help
+ Support for Gravis Ulstrasound MAX.
+
+config SOUND_VMIDI
+ tristate "Loopback MIDI device support"
+ depends on SOUND_OSS
+ help
+ Support for MIDI loopback on port 1 or 2.
+
+config SOUND_TRIX
+ tristate "MediaTrix AudioTrix Pro support"
+ depends on SOUND_OSS
+ help
+ Answer Y if you have the AudioTriX Pro sound card manufactured
+ by MediaTrix.
+
+config TRIX_HAVE_BOOT
+ bool "Have TRXPRO.HEX firmware file"
+ depends on SOUND_TRIX=y
+ help
+ The MediaTrix AudioTrix Pro has an on-board microcontroller which
+ needs to be initialized by downloading the code from the file
+ TRXPRO.HEX in the DOS driver directory. If you don't have the
+ TRXPRO.HEX file handy you may skip this step. However, the SB and
+ MPU-401 modes of AudioTrix Pro will not work without this file!
+
+config TRIX_BOOT_FILE
+ string "Full pathname of TRXPRO.HEX firmware file"
+ depends on TRIX_HAVE_BOOT
+ default "/etc/sound/trxpro.hex"
+ help
+ Enter the full pathname of your TRXPRO.HEX file, starting from /.
+
+config SOUND_MSS
+ tristate "Microsoft Sound System support"
+ depends on SOUND_OSS
+ ---help---
+ Again think carefully before answering Y to this question. It's
+ safe to answer Y if you have the original Windows Sound System card
+ made by Microsoft or Aztech SG 16 Pro (or NX16 Pro). Also you may
+ say Y in case your card is NOT among these:
+
+ ATI Stereo F/X, AdLib, Audio Excell DSP16, Cardinal DSP16,
+ Ensoniq SoundScape (and compatibles made by Reveal and Spea),
+ Gravis Ultrasound, Gravis Ultrasound ACE, Gravis Ultrasound Max,
+ Gravis Ultrasound with 16 bit option, Logitech Sound Man 16,
+ Logitech SoundMan Games, Logitech SoundMan Wave, MAD16 Pro (OPTi
+ 82C929), Media Vision Jazz16, MediaTriX AudioTriX Pro, Microsoft
+ Windows Sound System (MSS/WSS), Mozart (OAK OTI-601), Orchid
+ SW32, Personal Sound System (PSS), Pro Audio Spectrum 16, Pro
+ Audio Studio 16, Pro Sonic 16, Roland MPU-401 MIDI interface,
+ Sound Blaster 1.0, Sound Blaster 16, Sound Blaster 16ASP, Sound
+ Blaster 2.0, Sound Blaster AWE32, Sound Blaster Pro, TI TM4000M
+ notebook, ThunderBoard, Turtle Beach Tropez, Yamaha FM
+ synthesizers (OPL2, OPL3 and OPL4), 6850 UART MIDI Interface.
+
+ For cards having native support in VoxWare, consult the card
+ specific instructions in <file:Documentation/sound/README.OSS>.
+ Some drivers have their own MSS support and saying Y to this option
+ will cause a conflict.
+
+ If you compile the driver into the kernel, you have to add
+ "ad1848=<io>,<irq>,<dma>,<dma2>[,<type>]" to the kernel command
+ line.
+
+config SOUND_MPU401
+ tristate "MPU-401 support (NOT for SB16)"
+ depends on SOUND_OSS
+ ---help---
+ Be careful with this question. The MPU401 interface is supported by
+ all sound cards. However, some natively supported cards have their
+ own driver for MPU401. Enabling this MPU401 option with these cards
+ will cause a conflict. Also, enabling MPU401 on a system that
+ doesn't really have a MPU401 could cause some trouble. If your card
+ was in the list of supported cards, look at the card specific
+ instructions in the <file:Documentation/sound/README.OSS> file. It
+ is safe to answer Y if you have a true MPU401 MIDI interface card.
+
+ If you compile the driver into the kernel, you have to add
+ "mpu401=<io>,<irq>" to the kernel command line.
+
+config SOUND_NM256
+ tristate "NM256AV/NM256ZX audio support"
+ depends on SOUND_OSS
+ help
+ Say M here to include audio support for the NeoMagic 256AV/256ZX
+ chipsets. These are the audio chipsets found in the Sony
+ Z505S/SX/DX, some Sony F-series, and the Dell Latitude CPi and CPt
+ laptops. It includes support for an AC97-compatible mixer and an
+ apparently proprietary sound engine.
+
+ See <file:Documentation/sound/NM256> for further information.
+
+config SOUND_MAD16
+ tristate "OPTi MAD16 and/or Mozart based cards"
+ depends on SOUND_OSS && SOUND_GAMEPORT
+ ---help---
+ Answer Y if your card has a Mozart (OAK OTI-601) or MAD16 (OPTi
+ 82C928 or 82C929 or 82C931) audio interface chip. These chips are
+ quite common so it's possible that many no-name cards have one of
+ them. In addition the MAD16 chip is used in some cards made by known
+ manufacturers such as Turtle Beach (Tropez), Reveal (some models)
+ and Diamond (latest ones). Note however that the Tropez sound cards
+ have their own driver; if you have one of those, say N here and Y or
+ M to "Full support for Turtle Beach WaveFront", below.
+
+ If you compile the driver into the kernel, you have to add
+ "mad16=<io>,<irq>,<dma>,<dma2>,<mpuio>,<mpuirq>" to the
+ kernel command line.
+
+ See also <file:Documentation/sound/Opti> and
+ <file:Documentation/sound/MAD16> for more information on setting
+ these cards up as modules.
+
+config MAD16_OLDCARD
+ bool "Support MIDI in older MAD16 based cards (requires SB)"
+ depends on SOUND_MAD16
+ help
+ Answer Y (or M) if you have an older card based on the C928 or
+ Mozart chipset and you want to have MIDI support. If you enable this
+ option you also need to enable support for Sound Blaster.
+
+config SOUND_PAS
+ tristate "ProAudioSpectrum 16 support"
+ depends on SOUND_OSS
+ ---help---
+ Answer Y only if you have a Pro Audio Spectrum 16, ProAudio Studio
+ 16 or Logitech SoundMan 16 sound card. Answer N if you have some
+ other card made by Media Vision or Logitech since those are not
+ PAS16 compatible. Please read <file:Documentation/sound/PAS16>.
+ It is not necessary to add Sound Blaster support separately; it
+ is included in PAS support.
+
+ If you compile the driver into the kernel, you have to add
+ "pas2=<io>,<irq>,<dma>,<dma2>,<sbio>,<sbirq>,<sbdma>,<sbdma2>
+ to the kernel command line.
+
+config PAS_JOYSTICK
+ bool "Enable PAS16 joystick port"
+ depends on SOUND_PAS=y
+ help
+ Say Y here to enable the Pro Audio Spectrum 16's auxiliary joystick
+ port.
+
+config SOUND_PSS
+ tristate "PSS (AD1848, ADSP-2115, ESC614) support"
+ depends on SOUND_OSS
+ help
+ Answer Y or M if you have an Orchid SW32, Cardinal DSP16, Beethoven
+ ADSP-16 or some other card based on the PSS chipset (AD1848 codec +
+ ADSP-2115 DSP chip + Echo ESC614 ASIC CHIP). For more information on
+ how to compile it into the kernel or as a module see the file
+ <file:Documentation/sound/PSS>.
+
+ If you compile the driver into the kernel, you have to add
+ "pss=<io>,<mssio>,<mssirq>,<mssdma>,<mpuio>,<mpuirq>" to the kernel
+ command line.
+
+config PSS_MIXER
+ bool "Enable PSS mixer (Beethoven ADSP-16 and other compatibile)"
+ depends on SOUND_PSS
+ help
+ Answer Y for Beethoven ADSP-16. You may try to say Y also for other
+ cards if they have master volume, bass, treble, and you can't
+ control it under Linux. If you answer N for Beethoven ADSP-16, you
+ can't control master volume, bass, treble and synth volume.
+
+ If you said M to "PSS support" above, you may enable or disable this
+ PSS mixer with the module parameter pss_mixer. For more information
+ see the file <file:Documentation/sound/PSS>.
+
+config PSS_HAVE_BOOT
+ bool "Have DSPxxx.LD firmware file"
+ depends on SOUND_PSS
+ help
+ If you have the DSPxxx.LD file or SYNTH.LD file for you card, say Y
+ to include this file. Without this file the synth device (OPL) may
+ not work.
+
+config PSS_BOOT_FILE
+ string "Full pathname of DSPxxx.LD firmware file"
+ depends on PSS_HAVE_BOOT
+ default "/etc/sound/dsp001.ld"
+ help
+ Enter the full pathname of your DSPxxx.LD file or SYNTH.LD file,
+ starting from /.
+
+config SOUND_SB
+ tristate "100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support"
+ depends on SOUND_OSS
+ ---help---
+ Answer Y if you have an original Sound Blaster card made by Creative
+ Labs or a 100% hardware compatible clone (like the Thunderboard or
+ SM Games). For an unknown card you may answer Y if the card claims
+ to be Sound Blaster-compatible.
+
+ Please read the file <file:Documentation/sound/Soundblaster>.
+
+ You should also say Y here for cards based on the Avance Logic
+ ALS-007 and ALS-1X0 chips (read <file:Documentation/sound/ALS>) and
+ for cards based on ESS chips (read
+ <file:Documentation/sound/ESS1868> and
+ <file:Documentation/sound/ESS>). If you have an SB AWE 32 or SB AWE
+ 64, say Y here and also to "AWE32 synth" below and read
+ <file:Documentation/sound/INSTALL.awe>. If you have an IBM Mwave
+ card, say Y here and read <file:Documentation/sound/mwave>.
+
+ If you compile the driver into the kernel and don't want to use
+ isapnp, you have to add "sb=<io>,<irq>,<dma>,<dma2>" to the kernel
+ command line.
+
+ You can say M here to compile this driver as a module; the module is
+ called sb.o.
+
+config SOUND_AWE32_SYNTH
+ tristate "AWE32 synth"
+ depends on SOUND_OSS
+ help
+ Say Y here if you have a Sound Blaster SB32, AWE32-PnP, SB AWE64 or
+ similar sound card. See <file:Documentation/sound/README.awe>,
+ <file:Documentation/sound/AWE32> and the Soundblaster-AWE
+ mini-HOWTO, available from <http://www.linuxdoc.org/docs.html#howto>
+ for more info.
+
+config SOUND_WAVEFRONT
+ tristate "Full support for Turtle Beach WaveFront (Tropez Plus, Tropez, Maui) synth/soundcards"
+ depends on SOUND_OSS && m
+ help
+ Answer Y or M if you have a Tropez Plus, Tropez or Maui sound card
+ and read the files <file:Documentation/sound/Wavefront> and
+ <file:Documentation/sound/Tropez+>.
+
+config SOUND_MAUI
+ tristate "Limited support for Turtle Beach Wave Front (Maui, Tropez) synthesizers"
+ depends on SOUND_OSS
+ help
+ Say Y here if you have a Turtle Beach Wave Front, Maui, or Tropez
+ sound card.
+
+ If you compile the driver into the kernel, you have to add
+ "maui=<io>,<irq>" to the kernel command line.
+
+config MAUI_HAVE_BOOT
+ bool "Have OSWF.MOT firmware file"
+ depends on SOUND_MAUI=y
+ help
+ Turtle Beach Maui and Tropez sound cards have a microcontroller
+ which needs to be initialized prior to use. OSWF.MOT is a file
+ distributed with the card's DOS/Windows drivers. Answer Y if you
+ have this file.
+
+config MAUI_BOOT_FILE
+ string "Full pathname of OSWF.MOT firmware file"
+ depends on MAUI_HAVE_BOOT
+ default "/etc/sound/oswf.mot"
+ help
+ Enter the full pathname of your OSWF.MOT file, starting from /.
+
+config SOUND_YM3812
+ tristate "Yamaha FM synthesizer (YM3812/OPL-3) support"
+ depends on SOUND_OSS
+ ---help---
+ Answer Y if your card has a FM chip made by Yamaha (OPL2/OPL3/OPL4).
+ Answering Y is usually a safe and recommended choice, however some
+ cards may have software (TSR) FM emulation. Enabling FM support with
+ these cards may cause trouble (I don't currently know of any such
+ cards, however). Please read the file
+ <file:Documentation/sound/OPL3> if your card has an OPL3 chip.
+
+ If you compile the driver into the kernel, you have to add
+ "opl3=<io>" to the kernel command line.
+
+ If unsure, say Y.
+
+config SOUND_OPL3SA1
+ tristate "Yamaha OPL3-SA1 audio controller"
+ depends on SOUND_OSS
+ help
+ Say Y or M if you have a Yamaha OPL3-SA1 sound chip, which is
+ usually built into motherboards. Read
+ <file:Documentation/sound/OPL3-SA> for details.
+
+ If you compile the driver into the kernel, you have to add
+ "opl3sa=<io>,<irq>,<dma>,<dma2>,<mpuio>,<mpuirq>" to the kernel
+ command line.
+
+config SOUND_OPL3SA2
+ tristate "Yamaha OPL3-SA2 and SA3 based PnP cards"
+ depends on SOUND_OSS
+ help
+ Say Y or M if you have a card based on one of these Yamaha sound
+ chipsets or the "SAx", which is actually a SA3. Read
+ <file:Documentation/sound/OPL3-SA2> for more information on
+ configuring these cards.
+
+ If you compile the driver into the kernel and do not also
+ configure in the optional ISA PnP support, you will have to add
+ "opl3sa2=<io>,<irq>,<dma>,<dma2>,<mssio>,<mpuio>" to the kernel
+ command line.
+
+config SOUND_YMFPCI
+ tristate "Yamaha YMF7xx PCI audio (native mode)"
+ depends on SOUND_OSS && PCI
+ help
+ Support for Yamaha cards including the YMF711, YMF715, YMF718,
+ YMF719, YMF724, Waveforce 192XG, and Waveforce 192 Digital.
+
+config SOUND_YMFPCI_LEGACY
+ bool "Yamaha PCI legacy ports support"
+ depends on SOUND_YMFPCI
+ help
+ Support for YMF7xx PCI cards emulating an MP401.
+
+config SOUND_UART6850
+ tristate "6850 UART support"
+ depends on SOUND_OSS
+ help
+ This option enables support for MIDI interfaces based on the 6850
+ UART chip. This interface is rarely found on sound cards. It's safe
+ to answer N to this question.
+
+ If you compile the driver into the kernel, you have to add
+ "uart6850=<io>,<irq>" to the kernel command line.
+
+config SOUND_AEDSP16
+ tristate "Gallant Audio Cards (SC-6000 and SC-6600 based)"
+ depends on SOUND_OSS
+ ---help---
+ Answer Y if you have a Gallant's Audio Excel DSP 16 card. This
+ driver supports Audio Excel DSP 16 but not the III nor PnP versions
+ of this card.
+
+ The Gallant's Audio Excel DSP 16 card can emulate either an SBPro or
+ a Microsoft Sound System card, so you should have said Y to either
+ "100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support"
+ or "Microsoft Sound System support", above, and you need to answer
+ the "MSS emulation" and "SBPro emulation" questions below
+ accordingly. You should say Y to one and only one of these two
+ questions.
+
+ Read the <file:Documentation/sound/README.OSS> file and the head of
+ <file:drivers/sound/aedsp16.c> as well as
+ <file:Documentation/sound/AudioExcelDSP16> to get more information
+ about this driver and its configuration.
+
+config SC6600
+ bool "SC-6600 based audio cards (new Audio Excel DSP 16)"
+ depends on SOUND_AEDSP16
+ help
+ The SC6600 is the new version of DSP mounted on the Audio Excel DSP
+ 16 cards. Find in the manual the FCC ID of your audio card and
+ answer Y if you have an SC6600 DSP.
+
+config SC6600_JOY
+ bool "Activate SC-6600 Joystick Interface"
+ depends on SC6600
+ help
+ Say Y here in order to use the joystick interface of the Audio Excel
+ DSP 16 card.
+
+config SC6600_CDROM
+ int "SC-6600 CDROM Interface (4=None, 3=IDE, 1=Panasonic, 0=?Sony?)"
+ depends on SC6600
+ default "4"
+
+config SC6600_CDROMBASE
+ hex "SC-6600 CDROM Interface I/O Address"
+ depends on SC6600
+ default "0"
+ help
+ Base I/O port address for the CD-ROM interface of the Audio Excel
+ DSP 16 card.
+
+choice
+ prompt "Audio Excel DSP 16"
+ optional
+ depends on SOUND_AEDSP16
+
+config AEDSP16_MSS
+ bool "MSS emulation"
+ depends on SOUND_MSS
+ help
+ Answer Y if you want your audio card to emulate Microsoft Sound
+ System. You should then say Y to "Microsoft Sound System support"
+ and say N to "Audio Excel DSP 16 (SBPro emulation)".
+
+config AEDSP16_SBPRO
+ bool "SBPro emulation"
+ depends on SOUND_SB
+ help
+ Answer Y if you want your audio card to emulate Sound Blaster Pro.
+ You should then say Y to "100% Sound Blaster compatibles
+ (SB16/32/64, ESS, Jazz16) support" and N to "Audio Excel DSP 16 (MSS
+ emulation)".
+
+ If you compile the driver into the kernel, you have to add
+ "aedsp16=<io>,<irq>,<dma>,<mssio>,<mpuio>,<mouirq>" to the kernel
+ command line.
+
+endchoice
+
+config AEDSP16_MPU401
+ bool "Audio Excel DSP 16 (MPU401 emulation)"
+ depends on SOUND_AEDSP16 && SOUND_MPU401
+ help
+ Answer Y if you want your audio card to emulate the MPU-401 midi
+ interface. You should then also say Y to "MPU-401 support".
+
+ Note that the I/O base for MPU-401 support of aedsp16 is the same
+ you have selected for "MPU-401 support". If you are using this
+ driver as a module you have to specify the MPU I/O base address with
+ the parameter 'mpu_base=0xNNN'.
+
+config SOUND_VIDC
+ tristate "VIDC 16-bit sound"
+ depends on ARM && (ARCH_ACORN || ARCH_CLPS7500) && SOUND_OSS
+ help
+ 16-bit support for the VIDC onboard sound hardware found on Acorn
+ machines.
+
+config SOUND_WAVEARTIST
+ tristate "Netwinder WaveArtist"
+ depends on ARM && SOUND_OSS && ARCH_NETWINDER
+ help
+ Say Y here to include support for the Rockwell WaveArtist sound
+ system. This driver is mainly for the NetWinder.
+
+config SOUND_TVMIXER
+ tristate "TV card (bt848) mixer support"
+ depends on SOUND_PRIME!=n && SOUND && I2C
+ help
+ Support for audio mixer facilities on the BT848 TV frame-grabber
+ card.
+
diff --git a/sound/oss/dmasound/Kconfig b/sound/oss/dmasound/Kconfig
new file mode 100644
index 000000000000..d6eae6ec777a
--- /dev/null
+++ b/sound/oss/dmasound/Kconfig
@@ -0,0 +1,65 @@
+# drivers/sound/dmasound/Config.in
+config DMASOUND_ATARI
+ tristate "Atari DMA sound support"
+ depends on ATARI && SOUND
+ help
+ If you want to use the internal audio of your Atari in Linux, answer
+ Y to this question. This will provide a Sun-like /dev/audio,
+ compatible with the Linux/i386 sound system. Otherwise, say N.
+
+ 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>.
+
+config DMASOUND_AWACS
+ tristate "PowerMac DMA sound support"
+ depends on ALL_PPC && SOUND
+ help
+ If you want to use the internal audio of your PowerMac in Linux,
+ answer Y to this question. This will provide a Sun-like /dev/audio,
+ compatible with the Linux/i386 sound system. Otherwise, say N.
+
+ 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>.
+
+config DMASOUND_PAULA
+ tristate "Amiga DMA sound support"
+ depends on (AMIGA || APUS) && SOUND
+ help
+ If you want to use the internal audio of your Amiga in Linux, answer
+ Y to this question. This will provide a Sun-like /dev/audio,
+ compatible with the Linux/i386 sound system. Otherwise, say N.
+
+ 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>.
+
+config DMASOUND_Q40
+ tristate "Q40 sound support"
+ depends on Q40 && SOUND
+ help
+ If you want to use the internal audio of your Q40 in Linux, answer
+ Y to this question. This will provide a Sun-like /dev/audio,
+ compatible with the Linux/i386 sound system. Otherwise, say N.
+
+ 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>.
+
+config DMASOUND
+ tristate
+ depends on SOUND!=n
+ default m if DMASOUND_ATARI!=y && DMASOUND_AWACS!=y && DMASOUND_PAULA!=y && DMASOUND_Q40!=y && (DMASOUND_ATARI=m || DMASOUND_AWACS=m || DMASOUND_PAULA=m || DMASOUND_Q40=m)
+ default y if DMASOUND_ATARI=y || DMASOUND_AWACS=y || DMASOUND_PAULA=y || DMASOUND_Q40=y
+ help
+ Support built-in audio chips accessible by DMA on various machines
+ that have them. Note that this symbol does not affect the kernel
+ directly; rather, it controls whether configuration questions
+ enabling DMA sound drivers for various specific machine
+ architectures will be used.
+
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
new file mode 100644
index 000000000000..ec4872a4bd52
--- /dev/null
+++ b/sound/pci/Kconfig
@@ -0,0 +1,172 @@
+# ALSA PCI drivers
+
+menu "PCI devices"
+ depends on SND!=n && PCI
+
+config SND_ALI5451
+ tristate "ALi PCI Audio M5451"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for ALI PCI Audio M5451 sound core.
+
+config SND_CS46XX
+ tristate "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x"
+ depends on SND && SOUND_GAMEPORT
+ help
+ Say 'Y' or 'M' to include support for Cirrus Logic CS4610 / CS4612 /
+ CS4614 / CS4615 / CS4622 / CS4624 / CS4630 / CS4280 chips.
+
+config SND_CS46XX_NEW_DSP
+ bool "Cirrus Logic (Sound Fusion) New DSP support (EXPERIMENTAL)"
+ depends on SND_CS46XX && EXPERIMENTAL
+ help
+ Say 'Y' to use a new DSP image for SPDIF and dual codecs.
+
+config SND_CS4281
+ tristate "Cirrus Logic (Sound Fusion) CS4281"
+ depends on SND && SOUND_GAMEPORT
+ help
+ Say 'Y' or 'M' to include support for Cirrus Logic CS4281.
+
+config SND_EMU10K1
+ tristate "EMU10K1 (SB Live! & Audigy, E-mu APS)"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Sound Blaster PCI 512, Live!,
+ Audigy and E-mu APS (partially supported).
+
+config SND_KORG1212
+ tristate "Korg 1212 IO"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Korg 1212IO.
+
+config SND_NM256
+ tristate "NeoMagic NM256AV/ZX"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for NeoMagic NM256AV/ZX chips.
+
+config SND_RME32
+ tristate "RME Digi32, 32/8, 32 PRO"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for RME Digi32, Digi32/8 and
+ Digi32 PRO audio devices.
+
+config SND_RME96
+ tristate "RME Digi96, 96/8, 96/8 PRO"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for RME Digi96, Digi96/8 and
+ Digi96/8 PRO/PAD/PST.
+
+config SND_RME9652
+ tristate "RME Digi9652 (Hammerfall)"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for RME Hammerfall (RME Digi9652 /
+ Digi9636) soundcards.
+
+config SND_HDSP
+ tristate "RME Hammerfall DSP Audio"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for RME Hammerfall DSP Audio
+ soundcards.
+
+config SND_TRIDENT
+ tristate "Trident 4D-Wave DX/NX; SiS 7018"
+ depends on SND && SOUND_GAMEPORT
+ help
+ Say 'Y' or 'M' to include support for Trident 4D-Wave DX/NX and
+ SiS 7018 soundcards.
+
+config SND_YMFPCI
+ tristate "Yamaha YMF724/740/744/754"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Yamaha PCI audio chips -
+ YMF724, YMF724F, YMF740, YMF740C, YMF744, YMF754.
+
+config SND_ALS4000
+ tristate "Avance Logic ALS4000"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Avance Logic ALS4000.
+
+config SND_CMIPCI
+ tristate "C-Media 8738, 8338"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for C-Media CMI8338 and 8738 PCI
+ soundcards.
+
+config SND_ENS1370
+ tristate "(Creative) Ensoniq AudioPCI 1370"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Ensoniq AudioPCI ES1370.
+
+config SND_ENS1371
+ tristate "(Creative) Ensoniq AudioPCI 1371/1373"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Ensoniq AudioPCI ES1371 and
+ Sound Blaster PCI 64 or 128 soundcards.
+
+config SND_ES1938
+ tristate "ESS ES1938/1946 (Solo-1)"
+ depends on SND && SOUND_GAMEPORT
+ help
+ Say 'Y' or 'M' to include support for ESS Solo-1 (ES1938, ES1946)
+ soundcard.
+
+config SND_ES1968
+ tristate "ESS ES1968/1978 (Maestro-1/2/2E)"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for ESS Maestro 1/2/2E.
+
+config SND_MAESTRO3
+ tristate "ESS Allegro/Maestro3"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for ESS Maestro 3 (Allegro) soundcard.
+
+config SND_FM801
+ tristate "ForteMedia FM801"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for ForteMedia FM801 based soundcards.
+
+config SND_ICE1712
+ tristate "ICEnsemble ICE1712 (Envy24)"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for ICE1712 (Envy24) based soundcards.
+ Currently supported hardware is: MidiMan M Audio - Delta 1010(LT), Dio 2496,
+ Delta 66/44, Audiophile 24/96; Hoontech SoundTrack DSP 24 (Value);
+ TerraTec - EWX 24/96, EWS 88MT, EWS 88D, DMX 6Fire.
+
+config SND_INTEL8X0
+ tristate "Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for Intel8x0 based soundcards,
+ SiS 7012, AMD768/8111, NVidia NForce and ALi 5455 chips.
+
+config SND_SONICVIBES
+ tristate "S3 SonicVibes"
+ depends on SND && SOUND_GAMEPORT
+ help
+ Say 'Y' or 'M' to include support for S3 SonicVibes based soundcards.
+
+config SND_VIA82XX
+ tristate "VIA 82C686A/B, 8233 South Bridge"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for VIA VT82C686A/B, VT8233 South Bridge.
+
+endmenu
+
diff --git a/sound/ppc/Kconfig b/sound/ppc/Kconfig
new file mode 100644
index 000000000000..af9fffa0ed04
--- /dev/null
+++ b/sound/ppc/Kconfig
@@ -0,0 +1,11 @@
+# ALSA PowerMac drivers
+
+menu "ALSA PowerMac devices"
+ depends on SND!=n && PPC
+
+config SND_POWERMAC
+ tristate "PowerMac (AWACS, DACA, Burgundy, Tumbler, Keywest)"
+ depends on SND
+
+endmenu
+
diff --git a/sound/sparc/Kconfig b/sound/sparc/Kconfig
new file mode 100644
index 000000000000..edd59b7a5aff
--- /dev/null
+++ b/sound/sparc/Kconfig
@@ -0,0 +1,16 @@
+# ALSA Sparc drivers
+
+menu "ALSA Sparc devices"
+ depends on SND!=n && (SPARC32 || SPARC64)
+
+config SND_SUN_AMD7930
+ tristate "Sun AMD7930"
+ depends on SBUS && SND
+
+# dep_tristate 'Sun DBRI' CONFIG_SND_SUN_DBRI $CONFIG_SND
+config SND_SUN_CS4231
+ tristate "Sun CS4231"
+ depends on SND
+
+endmenu
+
diff --git a/sound/usb/Kconfig b/sound/usb/Kconfig
new file mode 100644
index 000000000000..09b608bf058d
--- /dev/null
+++ b/sound/usb/Kconfig
@@ -0,0 +1,13 @@
+# ALSA USB drivers
+
+menu "ALSA USB devices"
+ depends on SND!=n && USB!=n
+
+config SND_USB_AUDIO
+ tristate "USB Audio/MIDI driver"
+ depends on SND
+ help
+ Say 'Y' or 'M' to include support for USB audio and USB MIDI devices.
+
+endmenu
+