summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/Configure.help708
-rw-r--r--Documentation/DMA-mapping.txt294
-rw-r--r--Documentation/LVM-HOWTO119
-rw-r--r--Documentation/filesystems/00-INDEX2
-rw-r--r--Documentation/filesystems/devfs/ChangeLog1465
-rw-r--r--Documentation/filesystems/devfs/README884
-rw-r--r--Documentation/filesystems/devfs/ToDo42
-rw-r--r--Documentation/filesystems/devfs/boot-options66
-rw-r--r--Documentation/filesystems/devfs/mk-devlinks123
-rw-r--r--Documentation/filesystems/devfs/modules.conf89
-rw-r--r--Documentation/filesystems/devfs/rc.devfs104
-rw-r--r--Documentation/isdn/00-INDEX3
-rw-r--r--Documentation/isdn/CREDITS4
-rw-r--r--Documentation/isdn/HiSax.cert12
-rw-r--r--Documentation/isdn/README12
-rw-r--r--Documentation/isdn/README.HiSax4
-rw-r--r--Documentation/isdn/README.eicon20
-rw-r--r--Documentation/isdn/README.hysdn177
-rw-r--r--Documentation/isdn/README.x2516
-rw-r--r--Documentation/kbuild/config-language.txt82
-rw-r--r--Documentation/magic-number.txt2
-rw-r--r--Documentation/networking/bridge.txt11
-rw-r--r--Documentation/networking/decnet.txt2
-rw-r--r--Documentation/networking/skfp.txt214
-rw-r--r--Documentation/usb/usb-serial.txt14
25 files changed, 4106 insertions, 363 deletions
diff --git a/Documentation/Configure.help b/Documentation/Configure.help
index 32debb7ea..b9d942818 100644
--- a/Documentation/Configure.help
+++ b/Documentation/Configure.help
@@ -65,7 +65,7 @@
Prompt for development and/or incomplete code/drivers
CONFIG_EXPERIMENTAL
Some of the various things that Linux supports (such as network
- drivers, filesystems, network protocols, etc.) can be in a state
+ 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 amongst developers. If a feature is
@@ -224,7 +224,7 @@ CONFIG_MAC_FLOPPY
RAM disk support
CONFIG_BLK_DEV_RAM
Saying Y here will allow you to use a portion of your RAM memory as
- a block device, so that you can make filesystems on it, read and
+ a block device, so that you can make file systems on it, read and
write to it and do all the other things that you can do with normal
block devices (such as hard drives). It is usually used to load and
store a copy of a minimal root file system off of a floppy into RAM
@@ -260,7 +260,7 @@ CONFIG_BLK_DEV_LOOP
burning the CD, or if you want to use floppy images without first
writing them to floppy.
- The loop device driver can also be used to "hide" a filesystem in a
+ The loop device driver can also be used to "hide" a file system in a
disk partition, floppy, or regular file, either using encryption
(scrambling the data) or steganography (hiding the data in the low
bits of, say, a sound file). This is also safe if the file resides
@@ -270,12 +270,12 @@ CONFIG_BLK_DEV_LOOP
ftp://verden.pvv.org/pub/linux/kerneli/v2.1/ , and then you need to
say Y to this option.
- Note that alternative ways to use encrypted filesystems are provided
+ Note that alternative ways to use encrypted file systems are provided
by the cfs package, which can be gotten from
ftp://ftp.replay.com/pub/crypto/disk/ , and the newer tcfs package,
available at http://tcfs.dia.unisa.it/ . You do not need to say Y
here if you want to use one of these. However, using cfs requires
- saying Y to "NFS filesystem support" below while using tcfs requires
+ saying Y to "NFS file system support" below while using tcfs requires
applying a kernel patch.
To use the loop device, you need the losetup utility and a recent
@@ -297,7 +297,7 @@ Network Block Device support
CONFIG_BLK_DEV_NBD
Saying Y here will allow your computer to be a client for network
block devices, i.e. it will be able to use block devices exported by
- servers (mount filesystems on them etc.). Communication between
+ servers (mount file systems on them etc.). Communication between
client and server works over TCP/IP networking, but to the client
program this is hidden: it looks like a regular local file access to
a block device special file such as /dev/nd0.
@@ -343,7 +343,7 @@ CONFIG_BLK_DEV_IDE
inserted in and removed from the running kernel whenever you want),
say M here and read Documentation/modules.txt and
Documentation/ide.txt. The module will be called ide.o. Do not
- compile this driver as a module if your root filesystem (the one
+ compile this driver as a module if your root file system (the one
containing the directory /) is located on an IDE device.
If you have one or more IDE drives, say Y or M here. If your system
@@ -400,7 +400,7 @@ CONFIG_BLK_DEV_IDEDISK
inserted in and removed from the running kernel whenever you want),
say M here and read Documentation/modules.txt. The module will be
called ide-disk.o. Do not compile this driver as a module if your
- root filesystem (the one containing the directory /) is located on
+ root file system (the one containing the directory /) is located on
the IDE disk. If unsure, say Y.
Use multi-mode by default
@@ -424,7 +424,7 @@ CONFIG_BLK_DEV_IDECD
along with other IDE devices, as "hdb" or "hdc", or something
similar (check the boot messages with dmesg). If this is your only
CDROM drive, you can say N to all other CDROM options, but be sure
- to say Y or M to "ISO 9660 CDROM filesystem support".
+ to say Y or M to "ISO 9660 CDROM file system support".
Read the CDROM-HOWTO, available from
http://www.linuxdoc.org/docs.html#howto and the file
@@ -631,7 +631,7 @@ CONFIG_IDEDMA_PCI_AUTO
DMA for IDE drives and chipsets which support it. Due to concerns
about a couple of cases where buggy hardware may have caused damage,
the default is now to NOT use DMA automatically. To revert to the
- previous behaviour, say Y to this question.
+ previous behavior, say Y to this question.
If you suspect your hardware is at all flakey, say N here.
Do NOT email the IDE kernel people regarding this issue!
@@ -1069,7 +1069,7 @@ CONFIG_PARIDE_PCD
system. Among the devices supported by this driver are the
MicroSolutions backpack CD-ROM drives and the Freecom Power CD. If
you have such a CD-ROM drive, you should also say Y or M to "ISO
- 9660 CDROM filesystem support" below, because that's the filesystem
+ 9660 CDROM file system support" below, because that's the file system
used on CDROMs.
Parallel port ATAPI disks
@@ -1260,6 +1260,30 @@ CONFIG_PARIDE_ON26
called on26.o. You must also have a high-level driver for the type
of device that you want to support.
+Logical Volume Manager (LVM) support
+CONFIG_BLK_DEV_LVM
+ This driver lets you combine several hard disks, hard disk
+ partitions, multiple devices or even loop devices (for evaluation
+ purposes) into a volume group. Imagine a volume group as a kind of
+ virtual disk. Logical volumes, which can be thought of as virtual
+ partitions, can be created in the volume group. You can resize
+ volume groups and logical volumes after creation time, corresponding
+ to new capacity needs. Logical volumes are accessed as block
+ devices named /dev/VolumeGroupName/LogicalVolumeName.
+
+ For details see /usr/src/linux/Documentaion/LVM-HOWTO.
+
+ To get the newest software see <http://linux.msede.com/lvm>.
+
+Logical Volume Manager /proc file system information
+CONFIG_LVM_PROC_FS
+ If you say Y here, you are able to access overall Logical Volume
+ Manager, Volume Group, Logical and Physical Volume information in
+ /proc/lvm.
+
+ To use this option, you have to check, that the "/proc file system
+ support" (CONFIG_PROC_FS) is enabled too.
+
Multiple devices driver support
CONFIG_BLK_DEV_MD
This driver lets you combine several hard disk partitions into one
@@ -1562,7 +1586,7 @@ CONFIG_NETFILTER
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
+ using a mechanism called port-forwarding. Masquerading is also often
called NAT (Network Address Translation).
Another use of Netfilter is in transparent proxying: if a machine on
@@ -1572,7 +1596,7 @@ CONFIG_NETFILTER
Various modules exist for netfilter which replace the previous
masquerading (ipmasqadm), packet filtering (ipchains), transparent
- proxying, and portforwarding mechanisms. More information is
+ proxying, and port-forwarding mechanisms. More information is
available from http://netfilter.kernelnotes.org .
Make sure to say N to "Fast switching" below if you intend to say Y
@@ -1581,7 +1605,7 @@ CONFIG_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.
-SYN flood protection
+SIN flood protection
CONFIG_SYN_COOKIES
Normal TCP/IP networking is open to an attack known as "SYN
flooding". This denial-of-service attack prevents legitimate remote
@@ -1608,12 +1632,12 @@ CONFIG_SYN_COOKIES
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 filesystem support" and
+ 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 filesystem has been mounted.
+ at boot time after the /proc file system has been mounted.
If unsure, say Y.
@@ -1949,7 +1973,7 @@ CONFIG_I2O_SCSI
I2O /proc support
CONFIG_I2O_PROC
- If you say Y here and to "/proc filesystem support", you will be
+ If you say Y here and to "/proc file system support", you will be
able to read I2O related information from the virtual directory
/proc/i2o.
@@ -1969,7 +1993,7 @@ CONFIG_PNP
Say Y here if you would like Linux to configure your Plug and Play
devices. You should then also say Y to "ISA Plug and Play support",
below. Alternatively, you can configure your PnP devices using the
- user space utilities contained in the isapnptools package.
+ user space utilities contained in the ISAPNP tools package.
This support is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
@@ -2058,7 +2082,7 @@ CONFIG_SYSCTL
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
- filesystem support", a tree of modifiable sysctl entries will be
+ file system support", a tree of modifiable sysctl entries will be
generated beneath the /proc/sys directory. They are explained in the
files in Documentation/sysctl/. Note that enabling this option will
enlarge the kernel by at least 8 KB.
@@ -2069,7 +2093,7 @@ CONFIG_SYSCTL
Kernel core (/proc/kcore) format
CONFIG_KCORE_ELF
- If you enabled support for /proc filesystem then the file /proc/kcore
+ If you enabled support for /proc file system then the file /proc/kcore
will contain the kernel core image. This can be used in gdb:
$ cd /usr/src/linux ; gdb vmlinux /proc/kcore
@@ -2163,7 +2187,7 @@ CONFIG_BINFMT_MISC
Documentation/java.txt for information about how to include Java
support.
- You must say Y to "proc filesystem support" (CONFIG_PROC_FS) to
+ You must say Y to "/proc file system support" (CONFIG_PROC_FS) to
use this part of the kernel.
You may say M here for module support and later load the module when
@@ -2475,7 +2499,7 @@ CONFIG_FONT_8x8
provided by the text console 80x50 (and higher) modes.
Note this is a poor quality font. The VGA 8x16 font is quite a lot
more readable.
- Given the resolution provided by the frame buffer device, anwser N
+ Given the resolution provided by the frame buffer device, answer N
here is safe.
Backward compatibility mode for Xpmac
@@ -2773,7 +2797,7 @@ CONFIG_PARPORT_AX
Support IEEE1284 status readback
CONFIG_PRINTER_READBACK
- If you have a device on your parrallel port that support this protocol,
+ If you have a device on your parallel port that support this protocol,
this option'll enable it to report its status.
It is safe to say Y.
@@ -2813,7 +2837,7 @@ CONFIG_MODVERSIONS
Kernel module loader support
CONFIG_KMOD
- Normally when you have selected some drivers and/or filesystems to
+ 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
@@ -2865,7 +2889,7 @@ CONFIG_INET
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 filesystem support" and "Sysctl
+ 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
@@ -2898,12 +2922,12 @@ CONFIG_IP_ADVANCED_ROUTER
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
- filesystem support" and "Sysctl support" below and executing the
+ 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 filesystem has been mounted.
+ 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
@@ -2997,12 +3021,12 @@ CONFIG_IP_ROUTER
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
- filesystem support" and "Sysctl support" below and executing the
+ 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 filesystem has been mounted. You can do
+ at boot time after the /proc file system has been mounted. You can do
that even if you say N here.
If unsure, say N here.
@@ -3019,7 +3043,7 @@ CONFIG_IP_PNP
BOOTP support
CONFIG_IP_PNP_BOOTP
- If you want your Linux box to mount its whole root filesystem (the
+ 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
@@ -3032,7 +3056,7 @@ CONFIG_IP_PNP_BOOTP
RARP support
CONFIG_IP_PNP_RARP
- If you want your Linux box to mount its whole root filesystem (the
+ 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
@@ -3260,7 +3284,7 @@ CONFIG_IPX
ftp://metalab.unc.edu/pub/Linux/system/filesystems/ ) 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 filesystem support",
+ former, you'll also have to say Y to "NCP file systems support",
below.
IPX is similar in scope to IP, while SPX, which runs on top of IPX,
@@ -3319,7 +3343,7 @@ CONFIG_SPX
Note that Novell NetWare file sharing does not use SPX; it uses a
protocol called NCP, for which separate Linux support is available
- ("NCP filesystem support" below for the client side, and the user
+ ("NCP file systems support" below for the client side, and the user
space programs lwared or mars_nwe for the server side).
Say Y here if you have use for SPX; read the IPX-HOWTO at
@@ -3344,7 +3368,7 @@ CONFIG_DECNET
More detailed documentation is available in the
Documentation/networking/decnet.txt file.
- Be sure to say Y to "/proc filesystem support" and "Sysctl support"
+ Be sure to say Y to "/proc file systems support" and "Sysctl support"
below when using DECnet, since you will need sysctl support to aid
in configuration at run time.
@@ -3891,25 +3915,25 @@ CONFIG_LLC
This is a Logical Link Layer protocol used for X.25 connections over
Ethernet, using ordinary Ethernet cards.
-Bridging (EXPERIMENTAL)
+802.1d Ethernet Bridging
CONFIG_BRIDGE
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 IEEE802.1 spanning tree algorithm.
+ networks of Ethernets using the IEEE 802.1d spanning tree protocol.
As this is a standard, Linux bridges will interwork properly with
other third party bridge products.
- In order to use this, you'll need the bridge configuration tools
- available from ftp://shadow.cabi.net/pub/Linux . 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 order to use the ethernet bridge, you'll need the bridge
+ configuration tools available from ftp://openrock.net/bridge. 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 .
- The Bridging code is still in test. If unsure, say N.
+ If unsure, say N.
Packet socket
CONFIG_PACKET
@@ -3990,13 +4014,13 @@ CONFIG_ATM_CLIP
ATMARP. Typically you will either use LAN Emulation (LANE) or
Classical IP to communicate with other IP hosts on your ATM network.
-Do NOT send ICMP if no neighbour
+Do NOT send ICMP if no neighbor
CONFIG_ATM_CLIP_NO_ICMP
- Normally, an "ICMP host unreachable" message is sent if a neighbour
+ Normally, an "ICMP host unreachable" message is sent if a neighbor
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.
+ such neighbors are silently discarded instead.
LAN Emulation (LANE) support
CONFIG_ATM_LANE
@@ -4235,7 +4259,7 @@ CONFIG_SCSI
The module will be called scsi_mod.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt and
Documentation/scsi.txt. However, do not compile this as a module if
- your root filesystem (the one containing the directory /) is located
+ your root file systems (the one containing the directory /) is located
on a SCSI device.
SCSI disk support
@@ -4251,7 +4275,7 @@ CONFIG_BLK_DEV_SD
The module will be called sd_mod.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt and
Documentation/scsi.txt. Do not compile this driver as a module if
- your root filesystem (the one containing the directory /) is located
+ your root file systems (the one containing the directory /) is located
on a SCSI disk. In this case, do not compile the driver for your
SCSI host adapter (below) as a module either.
@@ -4298,7 +4322,7 @@ CONFIG_BLK_DEV_SR
If you want to use a SCSI CDROM under Linux, say Y and read the
SCSI-HOWTO and the CDROM-HOWTO at
http://www.linuxdoc.org/docs.html#howto . Also make sure to say Y
- or M to "ISO 9660 CDROM filesystem support" later.
+ or M to "ISO 9660 CDROM file systems support" later.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
@@ -4378,12 +4402,12 @@ CONFIG_SCSI_LOGGING
of SCSI related problems.
If you say Y here, no logging output will appear by default, but you
- can enable logging by saying Y to "/proc filesystem support" and
+ can enable logging by saying Y to "/proc file systems support" and
"Sysctl support" below and executing the command
echo "scsi log token [level]" > /proc/scsi/scsi
- at boot time after the /proc filesystem has been mounted.
+ at boot time after the /proc file systems has been mounted.
There are a number of things that can be used for 'token' (you can
find them in the source: drivers/scsi/scsi.c), and this allows you
@@ -4546,7 +4570,7 @@ CONFIG_AIC7XXX_PROC_STATS
small amount of overhead to each and every SCSI command the aic7xxx
driver handles, so if you aren't really interested in this
information, it is best to leave it disabled. This will only work if
- you also say Y to "/proc filesystem support", below.
+ you also say Y to "/proc file system support", below.
If unsure, say N.
@@ -5796,16 +5820,16 @@ CONFIG_AIRONET4500
This configuration option enables common code for all devices (PCI, ISA,
PCMCIA)
module is aironet4500_core
- quickconfig parameters:
+ quick config parameters:
SSID=tsunami - "The Password"
adhoc=1 there are no Access Points around
master=1 Adhoc master (the one who creates network sync)
slave=1 Adhoc slave(btw, it is still forming own net
sometimes)
channel=1..? meaningful in adhoc mode
- all other parameters can be set via proc interface
+ all other parameters can be set via /proc interface
These parameters belong to .._card module, but alas, they are here
- if you have problems with screwin up card, both_bap_lock=1 is conservative
+ if you have problems with screwing up card, both_bap_lock=1 is conservative
value (performance hit 15%)
for any other configuration options look at ..._proc module
@@ -5841,7 +5865,7 @@ CONFIG_AIRONET4500_ISA
Aironet 4500/4800 I365 broken support (EXPERIMENTAL)
CONFIG_AIRONET4500_I365
This option enables support for PCMCIA cards on i365 controller
- _without_ cardservices. Doesnt have much sense and is not working
+ _without_ cardservices. Doesn't have much sense and is not working
properly. Comes from times where there was no PCMCIA support in
kernel main source tree
@@ -5854,7 +5878,7 @@ CONFIG_AIRONET4500_CS
The same option is both on:
1. PCMCIA netdevices configuring panel
2. Wireless netdevices configuring panel
- Possibility to change this option depeds on options set in 2.
+ Possibility to change this option depends on options set in 2.
Aironet 4500/4800 PROC interface
CONFIG_AIRONET4500_PROC
@@ -6281,9 +6305,9 @@ CONFIG_NET_SCHED
That package also contains some documentation; for more, check out
http://snafu.freedom.org/linux2.2/iproute-notes.html .
- If you say Y here and to "/proc filesystem" below, you will be able
- to read status information about packet schedulers from the file
- /proc/net/psched.
+ If you say Y here and to "/proc file system support" 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.
@@ -6486,7 +6510,7 @@ CONFIG_NET_CLS_RSVP6
Network code profiler
CONFIG_NET_PROFILE
- If you say Y here and to "/proc filesystem support" below, some
+ If you say Y here and to "/proc file system support" below, some
obscure and undocumented information about the network code's
performance will be written to /proc/net/profile. If you don't know
what it is about, you don't need it: say N.
@@ -6841,17 +6865,29 @@ CONFIG_NI65
module, say M here and read Documentation/modules.txt as well as
Documentation/networking/net-modules.txt.
-RealTek 8129/8139 (not 8019/8029!) support
-CONFIG_RTL8139
+RealTek 8129 (not 8019/8029!) support (EXPERIMENTAL)
+CONFIG_RTL8129
This is a driver for the Fast Ethernet PCI network cards based on
- the RTL8129 and RTL8139 chips. If you have one of those, say Y and
+ the RTL8129 chip. If you have one of those, say Y and
read the Ethernet-HOWTO, available from
http://www.linuxdoc.org/docs.html#howto .
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 Documentation/modules.txt. This is recommended.
- The module will be called rtl8139.o.
+ The module will be called rtl8129.o.
+
+RealTek RTL-8139 PCI Fast Ethernet Adapter support
+CONFIG_8139TOO
+ This is a driver for the Fast Ethernet PCI network cards based on
+ the RTL8139 chip. If you have one of those, say Y and
+ read the Ethernet-HOWTO, available from
+ http://www.linuxdoc.org/docs.html#howto .
+
+ 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 Documentation/modules.txt. This is recommended.
+ The module will be called 8139too.o.
SiS 900 PCI Fast Ethernet Adapter support
CONFIG_SIS900
@@ -6944,7 +6980,7 @@ CONFIG_SK98LIN
The dual link adapters support a link-failover feature.
Read Documentation/networking/sk98lin.txt for information about
optional driver parameters.
- Questions concerning this driver may be addresse to:
+ Questions concerning this driver may be addressed to:
linux@syskonnect.de
If you want to compile this driver as a module ( = code which can be
@@ -7401,7 +7437,7 @@ CONFIG_SKMC
Documentation/networking/net-modules.txt.
EISA, VLB, PCI and on board controllers
-CONFIG_NET_EISA
+CONFIG_NET_PCI
This is another class of network cards which attach directly to the
bus. If you have one of those, say Y and read the Ethernet-HOWTO,
available from http://www.linuxdoc.org/docs.html#howto .
@@ -7522,7 +7558,7 @@ CONFIG_DGRS
Documentation/networking/net-modules.txt.
EtherExpress PRO/100 support
-CONFIG_EEXPRESS_PRO100
+CONFIG_EEPRO100
If you have an Intel EtherExpress PRO/100 PCI network (Ethernet)
card, say Y and read the Ethernet-HOWTO, available from
http://www.linuxdoc.org/docs.html#howto .
@@ -7737,7 +7773,7 @@ CONFIG_TMS380TR
Compaq 4/16 PCI, Thomas-Conrad TC4048 4/16 PCI, and several
Madge adapters. If selected, you will be asked to select
which cards to support below. If you're using modules, each
- class of card will be supported by a seperate module.
+ class of card will be supported by a separate module.
If you have such an adapter and would like to use it, say Y or M and
read the Token-Ring mini-HOWTO, available from
@@ -7810,6 +7846,36 @@ CONFIG_DEFXX
This is support for the DIGITAL series of EISA (DEFEA) and PCI
(DEFPA) controllers which can connect you to a local FDDI network.
+SysKonnect FDDI PCI support
+CONFIG_SKFP
+ Say Y here if you have a SysKonnect FDDI PCI adapter.
+ The following adapters are supported by this driver:
+ - SK-5521 (SK-NET FDDI-UP)
+ - SK-5522 (SK-NET FDDI-UP DAS)
+ - SK-5541 (SK-NET FDDI-FP)
+ - SK-5543 (SK-NET FDDI-LP)
+ - SK-5544 (SK-NET FDDI-LP DAS)
+ - SK-5821 (SK-NET FDDI-UP64)
+ - SK-5822 (SK-NET FDDI-UP64 DAS)
+ - SK-5841 (SK-NET FDDI-FP64)
+ - SK-5843 (SK-NET FDDI-LP64)
+ - SK-5844 (SK-NET FDDI-LP64 DAS)
+ - Netelligent 100 FDDI DAS Fibre SC
+ - Netelligent 100 FDDI SAS Fibre SC
+ - Netelligent 100 FDDI DAS UTP
+ - Netelligent 100 FDDI SAS UTP
+ - Netelligent 100 FDDI SAS Fibre MIC
+ Read Documentation/networking/skfp.txt for information about
+ the driver.
+ WARNING: this driver does currently not support 64 bit systems!
+ Questions concerning this driver can be addressed to:
+ linux@syskonnect.de
+
+ 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 Documentation/modules.txt. This is recommended.
+ The module will be called skfp.o.
+
HIgh Performance Parallel Interface support (EXPERIMENTAL)
CONFIG_HIPPI
HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and
@@ -7883,7 +7949,7 @@ CONFIG_CD_NO_IDESCSI
read Documentation/modules.txt.
If you want to use any of these CDROM drivers, you also have to
- answer Y or M to "ISO 9660 CDROM filesystem support" below (this
+ answer Y or M to "ISO 9660 CDROM file systems support" below (this
answer will get "defaulted" for you if you enable any of the Linux
CDROM drivers).
@@ -7900,7 +7966,7 @@ CONFIG_CDU31A
explained in the SCSI-HOWTO.
If you say Y here, you should also say Y or M to "ISO 9660 CDROM
- filesystem support" below, because that's the filesystem used on
+ file systems support" below, because that's the file systems used on
CDROMs.
This driver is also available as a module ( = code which can be
@@ -7922,7 +7988,7 @@ CONFIG_MCD
this. If you want that one, say N here.
If you say Y here, you should also say Y or M to "ISO 9660 CDROM
- filesystem support" below, because that's the filesystem used on
+ file systems support" below, because that's the file systems used on
CDROMs.
This driver is also available as a module ( = code which can be
@@ -7955,7 +8021,7 @@ CONFIG_MCDX
Documentation/cdrom/mcdx.
If you say Y here, you should also say Y or M to "ISO 9660 CDROM
- filesystem support" below, because that's the filesystem used on
+ file systems support" below, because that's the file systems used on
CDROMs.
This driver is also available as a module ( = code which can be
@@ -7993,7 +8059,7 @@ CONFIG_SBPCD
usable.
If you say Y here, you should also say Y or M to "ISO 9660 CDROM
- filesystem support" below, because that's the filesystem used on
+ file systems support" below, because that's the file systems used on
CDROMs.
This driver is also available as a module ( = code which can be
@@ -8018,7 +8084,7 @@ CONFIG_AZTCD
CDA269-031SE. Please read the file Documentation/cdrom/aztcd.
If you say Y here, you should also say Y or M to "ISO 9660 CDROM
- filesystem support" below, because that's the filesystem used on
+ file systems support" below, because that's the file systems used on
CDROMs.
This driver is also available as a module ( = code which can be
@@ -8032,7 +8098,7 @@ CONFIG_CDU535
drives. Please read the file Documentation/cdrom/sonycd535.
If you say Y here, you should also say Y or M to "ISO 9660 CDROM
- filesystem support" below, because that's the filesystem used on
+ file system support" below, because that's the file system used on
CDROMs.
This driver is also available as a module ( = code which can be
@@ -8048,7 +8114,7 @@ CONFIG_GSCD
kernel. Please read the file Documentation/cdrom/gscd.
If you say Y here, you should also say Y or M to "ISO 9660 CDROM
- filesystem support" below, because that's the filesystem used on
+ file system support" below, because that's the file system used on
CDROMs.
This driver is also available as a module ( = code which can be
@@ -8063,7 +8129,7 @@ CONFIG_CM206
Documentation/cdrom/cm206.
If you say Y here, you should also say Y or M to "ISO 9660 CDROM
- filesystem support" below, because that's the filesystem used on
+ file system support" below, because that's the file system used on
CDROMs.
This driver is also available as a module ( = code which can be
@@ -8080,7 +8146,7 @@ CONFIG_OPTCD
one. Please read the file Documentation/cdrom/optcd.
If you say Y here, you should also say Y or M to "ISO 9660 CDROM
- filesystem support" below, because that's the filesystem used on
+ file system support" below, because that's the file system used on
CDROMs.
This driver is also available as a module ( = code which can be
@@ -8092,8 +8158,8 @@ Sanyo CDR-H94A CDROM support
CONFIG_SJCD
If this is your CDROM drive, say Y here and read the file
Documentation/cdrom/sjcd. You should then also say Y or M to
- "ISO 9660 CDROM filesystem support" below, because that's the
- filesystem used on CDROMs.
+ "ISO 9660 CDROM file system support" below, because that's the
+ file system used on CDROMs.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
@@ -8128,7 +8194,7 @@ Quota support
CONFIG_QUOTA
If you say Y here, you will be able to set per user limits for disk
usage (also called disk quotas). Currently, it works only for the
- ext2 filesystem. You need additional software in order to use quota
+ ext2 file system. You need additional software in order to use quota
support; for 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.
@@ -8173,6 +8239,17 @@ CONFIG_USB_UHCI
The module will be called usb-uhci.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt.
+USB-UHCI High Bandwidth support
+CONFIG_USB_UHCI_HIGH_BANDWIDTH
+ This option enables the so called reclamation loop in usb-uhci, thus
+ allowing much higher transfer bandwidth for USB-bulk and control
+ messages; isochronous transfers (audio, video etc.) are not affected.
+ Due to a very simple design of the UHCI controller, this may cause
+ a significant PCI congestion under certain conditions. If you are
+ experiencing a system slowdown, disable this option.
+
+ If unsure, say N.
+
UHCI (intel PIIX4, VIA, ...) alternate (JE) support?
CONFIG_USB_UHCI_ALT
This is an alternate driver for UHCI support. It has been commonly
@@ -8341,17 +8418,8 @@ CONFIG_USB_SERIAL_WHITEHEAT
USB Handspring Visor Driver
CONFIG_USB_SERIAL_VISOR
Say Y here if you want to connect to your HandSpring Visor through
- its USB docking station.
-
-USB Belkin Single Port Serial Driver
-CONFIG_USB_SERIAL_BELKIN
- Say Y here if you want to use a Belkin single port USB to serial
- converter device.
-
-USB Peracom Single Port Serial Driver
-CONFIG_USB_SERIAL_PERACOM
- Say Y here if you want to use a Peracom single port USB to serial
- converter device.
+ its USB docking station. See http://usbvisor.sourceforge.net for
+ more information on using this driver.
USB Printer support
CONFIG_USB_PRINTER
@@ -8468,7 +8536,7 @@ CONFIG_USB_USS720
The module will be called uss720.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt.
-USB device filesystem
+USB device file system
CONFIG_USB_DEVICEFS
This file system implements a "devices" file, that lists
the currently connected to your USB busses, a "drivers" file
@@ -8491,6 +8559,14 @@ CONFIG_USB_DABUSB
The module will be called dabusb.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt.
+PLUSB driver
+CONFIG_USB_PLUSB
+ A driver for the Prolific PL-2302 USB to USB network device. This 'USB
+ cable' connects two hosts via a point to point network with bandwidth of
+ 5Mbit/s. Configure this driver after connecting the USB cable via
+ ifconfig plusb0 10.0.0.1 pointopoint 10.0.0.2
+ (and vice versa on the other host).
+
ACPI support
CONFIG_ACPI
Advanced Configuration and Power Interface (ACPI) is an interface
@@ -8500,10 +8576,10 @@ CONFIG_ACPI
Minix fs support
CONFIG_MINIX_FS
Minix is a simple operating system used in many classes about OS's.
- The minix filesystem (method to organize files on a hard disk
- partition or a floppy disk) was the original filesystem for Linux,
- but has been superseded by the second extended filesystem ext2fs.
- You don't want to use the minix filesystem on your hard disk because
+ 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.
@@ -8511,16 +8587,16 @@ CONFIG_MINIX_FS
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 minix.o. Note that the filesystem of your root partition (the
+ called minix.o. Note that the file system of your root partition (the
one containing the directory /) cannot be compiled as a module.
Second extended fs support
CONFIG_EXT2_FS
- This is the de facto standard Linux filesystem (method to organize
+ 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 filesystem. The
+ 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
@@ -8531,16 +8607,16 @@ CONFIG_EXT2_FS
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
- filesystem support" below). Saying Y here will enlarge your kernel
+ 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 filesystems.
+ how to retrieve deleted files on ext2fs file systems.
- To change the behavior of ext2 filesystems, you can use the tune2fs
+ 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 filesystems, use chattr ("man chattr").
+ 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 via FTP (user: anonymous) from
@@ -8551,35 +8627,35 @@ CONFIG_EXT2_FS
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 filesystem as a module ( = code which
+ 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 Documentation/modules.txt. The module
- will be called ext2.o. Be aware however that the filesystem of your
+ 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.
-SCO UnixWare BFS Support
+BFS file system support (EXPERIMENTAL)
CONFIG_BFS_FS
- Boot Filesystem (BFS) is a filesystem used under SCO UnixWare to
+ Boot File System (BFS) is a file system used under SCO UnixWare to
allow bootloader access 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. This is useful if you want to access files on your /stand
- slice from Linux. More information on this filesystem can be found in
+ slice from Linux. More information on this file system can be found in
Documentation/filesystems/bfs.txt file. If you do not know what it is,
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 bfs.o. Note that the filesystem of your root partition (the
+ called bfs.o. Note that the file system of your root partition (the
one containing the directory /) cannot be compiled as a module.
-ISO 9660 CDROM filesystem support
+ISO 9660 CDROM file system support
CONFIG_ISO9660_FS
- This is the standard filesystem used on CDROMs. It was previously
- known as "High Sierra Filesystem" and is called "hsfs" on other Unix
+ This is the standard file system used on CDROMs. 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 CDROM drive and want to do more with it than just
@@ -8595,21 +8671,21 @@ CONFIG_ISO9660_FS
Microsoft Joliet CDROM extensions
CONFIG_JOLIET
- Joliet is a Microsoft extension for the ISO 9660 CDROM filesystem
+ Joliet is a Microsoft extension for the ISO 9660 CDROM 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 CDROMs under Linux.
-UDF Filesystem support (read only)
+UDF file system support (read only)
CONFIG_UDF_FS
- This is the new filesystem used by some CDROMS and DVD drivers. Say
+ This is the new file system used by some CDROMS and DVD drivers. 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. Please
read Documentation/filesystems/udf.txt.
- This filesystem support is also available as a module ( = code which
+ 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 Documentation/modules.txt.
@@ -8618,32 +8694,32 @@ CONFIG_UDF_FS
UDF write support (DANGEROUS)
CONFIG_UDF_RW
- Say Y if you want to test write support for UDF filesystems.
+ 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.
DOS FAT fs support
CONFIG_FAT_FS
- If you want to use one of the FAT-based filesystems (the MS-DOS,
+ 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) filesystems), then you must say Y or M here
+ 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 filesystems and transparently access the
+ 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 filesystem in itself, it only provides the
- foundation for the other filesystems. You will have to say Y or M to
+ 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. This doesn't require the FAT
- filesystem support.
+ file system support.
It is now also becoming possible to read and write compressed FAT
- filesystems; read Documentation/filesystems/fat_cvf.txt for details.
+ file systems; read Documentation/filesystems/fat_cvf.txt for details.
The FAT support will enlarge your kernel by about 37 KB. If unsure,
say Y.
@@ -8652,11 +8728,11 @@ CONFIG_FAT_FS
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 fat.o. Note that if you compile the FAT support as a
- module, you cannot compile any of the FAT-based filesystems into the
- kernel -- they will have to be modules as well. The filesystem of
+ 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
- filesystem.
+ file system.
MSDOS fs support
CONFIG_MSDOS_FS
@@ -8671,12 +8747,12 @@ CONFIG_MSDOS_FS
transparent, i.e. the MSDOS files look and behave just like all
other Unix files.
- If you want to use umsdos, the Unix-like filesystem on top of DOS,
+ If you want to use umsdos, the Unix-like file system on top of DOS,
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 filesystem (say Y to "vfat fs
+ 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.
@@ -8689,11 +8765,11 @@ CONFIG_MSDOS_FS
VFAT (Windows-95) fs support
CONFIG_VFAT_FS
- This option provides support for normal Windows filesystems with
- long filenames. That includes non-compressed FAT-based filesystems
+ 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 mtools.
- You cannot use the VFAT filesystem for your Linux root partition
+ 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
"umsdos: Unix like fs on top of std MSDOS fs", below).
@@ -8708,7 +8784,7 @@ CONFIG_VFAT_FS
say M here and read Documentation/modules.txt. The module will be
called vfat.o.
-UMSDOS: Unix-like filesystem on top of standard MSDOS filesystem
+UMSDOS: Unix-like file system on top of standard MSDOS fs
CONFIG_UMSDOS_FS
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
@@ -8718,11 +8794,11 @@ CONFIG_UMSDOS_FS
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 softlinks and owner/permissions of files on
+ 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 Documentation/filesystems/umsdos.txt.
- To get utilities for initializing/checking UMSDOS filesystem, or
+ To get utilities for initializing/checking UMSDOS file system, or
latest patches and/or information, visit UMSDOS homepage at
http://www.voyager.hr/~mnalis/umsdos/ .
@@ -8731,13 +8807,13 @@ CONFIG_UMSDOS_FS
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
- umsdos.o. Note that the filesystem of your root partition (the one
+ 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.
-/proc filesystem support
+/proc file system support
CONFIG_PROC_FS
- This is a virtual filesystem providing information about the status
+ 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
@@ -8750,14 +8826,34 @@ CONFIG_PROC_FS
often a source of trouble if two devices are mistakenly configured
to use the same IRQ).
- The /proc filesystem is explained in the file
+ The /proc file system is explained in the 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.
-NFS filesystem support
+/dev file system support (EXPERIMENTAL)
+CONFIG_DEVFS_FS
+ This is another 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 appear automagically. Without
+ devfs you need to populate /dev with hundreds, even thousands of
+ inodes.
+ This is work in progress. If you want to use this you *must* read
+ Documentation/filesystems/devfs/README
+ In particular, make sure you install devfsd. If you don't, expect to
+ spend time patching broken code and updating configuration files.
+
+Debug devfs
+CONFIG_DEVFS_DEBUG
+ This option appears if you have CONFIG_DEVFS_FS enabled. Setting
+ this to 'Y' enables devfs debugging output. See the file
+ Documentation/filesystems/devfs/boot-options for more details.
+ The default is 'N'.
+
+NFS file system support
CONFIG_NFS_FS
If you are connected to some other (usually local) Unix computer
(using SLIP, PLIP, PPP or Ethernet) and want to mount files residing
@@ -8765,25 +8861,25 @@ CONFIG_NFS_FS
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 filesystem
+ 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://metalab.unc.edu/mdw/linux.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 filesystem; see "Coda filesystem support" below.
+ 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 filesystem is also available as a module ( = code which can be
+ 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 Documentation/modules.txt.
If you are configuring a diskless machine which will mount its root
- filesystem over NFS at boot time, say Y here and to "IP: kernel
+ file system over NFS at boot time, say Y here and to "IP: kernel
level 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
@@ -8794,7 +8890,7 @@ CONFIG_NFS_FS
Root file system on NFS
CONFIG_ROOT_NFS
- If you want your Linux box to mount its whole root filesystem (the
+ 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 Documentation/nfsroot.txt for details. It is likely that
@@ -8830,24 +8926,24 @@ CONFIG_NFSD
Provide NFSv3 server support (EXPERIMENTAL)
CONFIG_NFSD_V3
If you would like to include the NFSv3 server was well as the NFSv2
- server, say Y here. File locking, via the NLMv4 protocol, is not
- supported yet. If unsure, say N.
+ server, say Y here. File locking, via the NLMv4 protocol, is also
+ supported. If unsure, say N.
-OS/2 HPFS filesystem support
+OS/2 HPFS file system support
CONFIG_HPFS_FS
OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS
- is the filesystem used for organizing files on OS/2 hard disk
+ 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 an OS/2
HPFS partition of 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 Documentation/filesystems/hpfs.txt.
- This filesystem is also available as a module ( = code which can be
+ 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 Documentation/modules.txt. If unsure, say N.
-Windows NT NTFS support (read only)
+NTFS file system support (read only)
CONFIG_NTFS_FS
NTFS is the file system of Microsoft Windows NT. Say Y if you want
to get read access to files on NTFS partitions of your hard drive.
@@ -8870,7 +8966,7 @@ CONFIG_NTFS_RW
If unsure, say N.
-System V and Coherent filesystem support (read only)
+System V and Coherent file system support (read only)
CONFIG_SYSV_FS
SCO, Xenix and Coherent are commercial Unix systems for Intel
machines. Saying Y here would allow you to read from their floppies
@@ -8886,15 +8982,15 @@ CONFIG_SYSV_FS
ftp://tsx-11.mit.edu/pub/linux/BETA ).
If you only intend to mount files from some other Unix over the
- network using NFS, you don't need the System V filesystem support
- (but you need NFS filesystem support obviously).
+ 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 filesystem in Documentation/filesystems/sysv-fs.txt.
+ the System V file system in 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
@@ -8904,7 +9000,7 @@ CONFIG_SYSV_FS
If you haven't heard about all of this before, it's safe to say N.
-SYSV filesystem write support (DANGEROUS)
+SYSV file system write support (DANGEROUS)
CONFIG_SYSV_FS_WRITE
If you say Y here, you will (hopefully) be able to write to System V
and Coherent file systems as well as read from them. The read-write
@@ -8913,9 +9009,9 @@ CONFIG_SYSV_FS_WRITE
If unsure, say N.
-Amiga FFS filesystem support
+Amiga FFS file system support
CONFIG_AFFS_FS
- The Fast File System (FFS) is the common filesystem used on hard
+ 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
@@ -8929,31 +9025,31 @@ CONFIG_AFFS_FS
If you want to do this, you will also need to say Y or M to "Loop
device support", above.
- This filesystem is also available as a module ( = code which can be
+ 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 Documentation/modules.txt. If unsure, say N.
-Apple Macintosh filesystem support (EXPERIMENTAL)
+Apple Macintosh file system support (EXPERIMENTAL)
CONFIG_HFS_FS
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 fs/hfs/HFS.txt to learn about the available mount
options.
- This filesystem support is also available as a module ( = code which
+ 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 Documentation/modules.txt.
-ROM filesystem support
+ROM file system support
CONFIG_ROMFS_FS
- This is a very small read-only filesystem mainly intended for
+ 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
Documentation/filesystems/romfs.txt for details.
- This filesystem support is also available as a module ( = code which
+ 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 Documentation/modules.txt.
@@ -8961,14 +9057,14 @@ CONFIG_ROMFS_FS
If you don't know whether you need it, then you don't need it:
answer N.
-QNX4 filesystem support (read only) (EXPERIMENTAL)
+QNX4 file system support (read only) (EXPERIMENTAL)
CONFIG_QNX4FS_FS
- This is the filesystem used by the operating system QNX 4. Say Y if
+ This is the file system used by the operating system QNX 4. Say Y if
you intend to mount QNX hard disks or floppies. Unless you say Y to
"QNX4FS write support" below, you will only be able to read
- these filesystems.
+ these file systems.
- This filesystem support is also available as a module ( = code which
+ 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 Documentation/modules.txt.
@@ -8978,18 +9074,18 @@ CONFIG_QNX4FS_FS
QNX4FS write support (DANGEROUS)
CONFIG_QNX4FS_RW
- Say Y if you want to test write support for QNX4 filesystems.
+ Say Y if you want to test write support for QNX4 file systems.
Kernel automounter support
CONFIG_AUTOFS_FS
- The automounter is a tool to automatically mount remote filesystems
+ 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 ; you also want to
- answer Y to "NFS filesystem support", below.
+ 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),
@@ -9002,16 +9098,16 @@ CONFIG_AUTOFS_FS
If you want to use the newer version of autofs with more features,
say N here and select automounter v4.
-Kernel automounter v4 support
+Kernel automounter version 4 support (also supports v3)
CONFIG_AUTOFS4_FS
- The automounter is a tool to automatically mount remote filesystems
+ 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 filesystem support", below.
+ 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),
@@ -9023,17 +9119,17 @@ CONFIG_AUTOFS4_FS
have a laptop which needs to dynamically reconfigure to the local
network, you probably do not need an automounter, and can say N here.
-EFS filesystem support (read only) (EXPERIMENTAL)
+EFS file system support (read only) (EXPERIMENTAL)
CONFIG_EFS_FS
- EFS is an older filesystem used for non-ISO9660 CDROMs and hard disk
+ EFS is an older file system used for non-ISO9660 CDROMs and hard disk
partitions by SGI's IRIX operating system (IRIX 6.0 and newer uses
- the XFS filesystem for hard disk partitions however).
+ 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 filesystem support as a module ( =
+ 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 Documentation/modules.txt.
The module will be called efs.o.
@@ -9043,19 +9139,19 @@ CONFIG_SGI_DISKLABEL
Say Y to this only if you plan on mounting disks with SGI
disklabels. This is not required to mount EFS-format CDROMs.
-UFS filesystem support (read only)
+UFS file system support (read only)
CONFIG_UFS_FS
BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD,
- OpenBSD and NeXTstep) use a filesystem called UFS. Some System V
+ OpenBSD and NeXTstep) use a file system called UFS. Some System V
Unixes can create and mount hard disk partitions and diskettes using
- this filesystem as well. Saying Y here will allow you to read from
+ 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 filesystem write support", below. Please read the
+ experimental "UFS file system write support", below. Please read the
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 filesystem support (but
- you need NFS filesystem support obviously).
+ 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
@@ -9066,14 +9162,14 @@ CONFIG_UFS_FS
NeXT character set to the Latin1 character set; use the program
recode ("info recode") for this purpose.
- If you want to compile the UFS filesystem support as a module ( =
+ 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 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.
-UFS filesystem write support (DANGEROUS)
+UFS file system write support (DANGEROUS)
CONFIG_UFS_FS_WRITE
Say Y here if you want to try writing to UFS partitions. This is
experimental, so you should back up your UFS partitions beforehand.
@@ -9111,7 +9207,7 @@ CONFIG_BSD_DISKLABEL
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
- filesystem support", above. If you don't know what all this is
+ file system support", above. If you don't know what all this is
about, say N.
Sun partition tables support
@@ -9119,7 +9215,7 @@ CONFIG_SUN_PARTITION
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 filesystem support",
+ 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
@@ -9133,16 +9229,16 @@ CONFIG_SOLARIS_X86_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
- filesystem support", above.
+ file system support", above.
SGI partition support
CONFIG_SGI_PARTITION
Say Y here if you would like to be able to read the hard disk
partition table format used by SGI machines.
-ADFS filesystem support (read only) (EXPERIMENTAL)
+ADFS file system support (read only) (EXPERIMENTAL)
CONFIG_ADFS_FS
- The Acorn Disc Filing System is the standard filesystem of the
+ 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
@@ -9159,10 +9255,10 @@ CONFIG_ADFS_FS
If unsure, say N.
-/dev/pts filesystem for Unix98 PTYs
+/dev/pts file system for Unix98 PTYs
CONFIG_DEVPTS_FS
You should say Y here if you said Y to "Unix98 PTY support" above.
- You'll then get a virtual filesystem which can be mounted on
+ 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
@@ -9175,14 +9271,17 @@ CONFIG_DEVPTS_FS
mode of operation; you also need client programs that use the Unix98
API.
+ Note that CONFIG_DEVFS_FS is a more general facility.
+
UnixWare slices support (EXPERIMENTAL)
CONFIG_UNIXWARE_DISKLABEL
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 filesystem support" or "System
- V and Coherent filesystem support", above.
+ Linux if you have also said Y to "UFS file system support", "System
+ V and Coherent file system support" or "BFS 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
@@ -9193,12 +9292,12 @@ CONFIG_UNIXWARE_DISKLABEL
If you don't know what all this is about, say N.
-SMB filesystem support (to mount Windows shares etc.)
+SMB file system support (to mount Windows shares etc.)
CONFIG_SMB_FS
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 filesystems (often called "shares" in this context) and
+ 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
@@ -9219,10 +9318,10 @@ CONFIG_SMB_FS
want), say M here and read Documentation/modules.txt. The module
will be called smbfs.o. Most people say N, however.
-Coda filesystem support (advanced network fs)
+Coda file system support (advanced network fs)
CONFIG_CODA_FS
- Coda is an advanced network filesystem, similar to NFS in that it
- enables you to mount filesystems of a remote server and access them
+ 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,
@@ -9240,7 +9339,7 @@ CONFIG_CODA_FS
whenever you want), say M here and read Documentation/modules.txt.
The module will be called coda.o.
-NCP filesystem support (to mount NetWare volumes)
+NCP file system support (to mount NetWare volumes)
CONFIG_NCP_FS
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
@@ -9348,7 +9447,7 @@ CONFIG_NCPFS_EXTRAS
nls codepage 437
CONFIG_NLS_CODEPAGE_437
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9359,7 +9458,7 @@ CONFIG_NLS_CODEPAGE_437
nls codepage 737
CONFIG_NLS_CODEPAGE_737
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9370,7 +9469,7 @@ CONFIG_NLS_CODEPAGE_737
nls codepage 775
CONFIG_NLS_CODEPAGE_775
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9381,7 +9480,7 @@ CONFIG_NLS_CODEPAGE_775
nls codepage 850
CONFIG_NLS_CODEPAGE_850
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9396,7 +9495,7 @@ CONFIG_NLS_CODEPAGE_850
nls codepage 852
CONFIG_NLS_CODEPAGE_852
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9410,7 +9509,7 @@ CONFIG_NLS_CODEPAGE_852
nls codepage 855
CONFIG_NLS_CODEPAGE_855
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9420,7 +9519,7 @@ CONFIG_NLS_CODEPAGE_855
nls codepage 857
CONFIG_NLS_CODEPAGE_857
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9430,7 +9529,7 @@ CONFIG_NLS_CODEPAGE_857
nls codepage 860
CONFIG_NLS_CODEPAGE_860
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9440,7 +9539,7 @@ CONFIG_NLS_CODEPAGE_860
nls codepage 861
CONFIG_NLS_CODEPAGE_861
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9450,7 +9549,7 @@ CONFIG_NLS_CODEPAGE_861
nls codepage 862
CONFIG_NLS_CODEPAGE_862
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9460,7 +9559,7 @@ CONFIG_NLS_CODEPAGE_862
nls codepage 863
CONFIG_NLS_CODEPAGE_863
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9471,7 +9570,7 @@ CONFIG_NLS_CODEPAGE_863
nls codepage 864
CONFIG_NLS_CODEPAGE_864
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9481,7 +9580,7 @@ CONFIG_NLS_CODEPAGE_864
nls codepage 865
CONFIG_NLS_CODEPAGE_865
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9492,7 +9591,7 @@ CONFIG_NLS_CODEPAGE_865
nls codepage 866
CONFIG_NLS_CODEPAGE_866
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9503,7 +9602,7 @@ CONFIG_NLS_CODEPAGE_866
nls codepage 869
CONFIG_NLS_CODEPAGE_869
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9516,7 +9615,7 @@ CONFIG_NLS_CODEPAGE_869
nls codepage 874
CONFIG_NLS_CODEPAGE_874
- The Microsoft fat filesystem family can deal with filenames in
+ 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
@@ -9527,7 +9626,7 @@ CONFIG_NLS_CODEPAGE_874
nls iso8859-1
CONFIG_NLS_ISO8859_1
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 Latin 1 character
set, which covers most West European languages such as Albanian,
@@ -9538,7 +9637,7 @@ CONFIG_NLS_ISO8859_1
nls iso8859-2
CONFIG_NLS_ISO8859_2
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 Latin 2 character
set, which works for most Latin-written Slavic and Central European
@@ -9548,7 +9647,7 @@ CONFIG_NLS_ISO8859_2
nls iso8859-3
CONFIG_NLS_ISO8859_3
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 Latin 3 character
set, which is popular with authors of Esperanto, Galician, Maltese,
@@ -9557,7 +9656,7 @@ CONFIG_NLS_ISO8859_3
nls iso8859-4
CONFIG_NLS_ISO8859_4
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 Latin 4 character
set which introduces letters for Estonian, Latvian, and
@@ -9566,7 +9665,7 @@ CONFIG_NLS_ISO8859_4
nls iso8859-5
CONFIG_NLS_ISO8859_5
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 ISO8859-5, a Cyrillic
character set with which you can type Bulgarian, Byelorussian,
@@ -9576,7 +9675,7 @@ CONFIG_NLS_ISO8859_5
nls iso8859-6
CONFIG_NLS_ISO8859_6
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 ISO8859-6, the Arabic
character set.
@@ -9584,7 +9683,7 @@ CONFIG_NLS_ISO8859_6
nls iso8859-7
CONFIG_NLS_ISO8859_7
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 ISO8859-7, the Modern
Greek character set.
@@ -9592,7 +9691,7 @@ CONFIG_NLS_ISO8859_7
nls iso8859-8
CONFIG_NLS_ISO8859_8
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 ISO8859-8, the Hebrew
character set.
@@ -9600,7 +9699,7 @@ CONFIG_NLS_ISO8859_8
nls iso8859-9
CONFIG_NLS_ISO8859_9
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 Latin 5 character
set, and it replaces the rarely needed Icelandic letters in Latin 1
@@ -9609,7 +9708,7 @@ CONFIG_NLS_ISO8859_9
nls iso8859-10
CONFIG_NLS_ISO8859_10
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 Latin 6 character
set, which adds the last Inuit (Greenlandic) and Sami (Lappish)
@@ -9619,7 +9718,7 @@ CONFIG_NLS_ISO8859_10
NLS ISO 8859-14 (Latin 8; Celtic)
CONFIG_NLS_ISO8859_14
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 Latin 8 character
set, which adds the last accented vowels for Welsh (aka Cymraeg)
@@ -9629,7 +9728,7 @@ CONFIG_NLS_ISO8859_14
nls iso8859-15
CONFIG_NLS_ISO8859_15
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 Latin 9 character
set, which covers most West European languages such as Albanian,
@@ -9644,7 +9743,7 @@ CONFIG_NLS_ISO8859_15
nls koi8-r
CONFIG_NLS_KOI8_R
If you want to display filenames with native language characters
- from the Microsoft fat filesystem family or from JOLIET CDROMs
+ 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 preferred Russian
character set.
@@ -9979,8 +10078,8 @@ CONFIG_UNIX98_PTYS
traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
The entries in /dev/pts/ are created on the fly by a virtual
- filesystem; therefore, if you say Y here you should say Y to
- "/dev/pts filesystem for Unix98 PTYs" as well.
+ file system; therefore, if you say Y here you should say Y to
+ "/dev/pts file system for Unix98 PTYs" as well.
If you want to say Y here, you need to have the C library glibc 2.1
or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
@@ -10033,7 +10132,7 @@ CONFIG_LP_CONSOLE
option "console=lp" to the kernel at boot time.
Note that kernel messages can get lost if the printer is out of
- paper (or off, or unplugged, or too busy..), but this behaviour
+ paper (or off, or unplugged, or too busy..), but this behavior
can be changed. See drivers/char/lp.c (do this at your own risk).
If unsure, say N.
@@ -10302,7 +10401,7 @@ CONFIG_FT_NR_BUFFERS
Procfs entry for ftape
CONFIG_FT_PROC_FS
Optional. Saying Y will result in creation of a directory
- `/proc/ftape' under the proc file system. The files can be viewed
+ `/proc/ftape' under the /proc file system. The files can be viewed
with your favorite pager (i.e. use "more /proc/ftape/history" or
"less /proc/ftape/history" or simply "cat /proc/ftape/history"). The
file will contain some status information about the inserted
@@ -10312,9 +10411,10 @@ CONFIG_FT_PROC_FS
by approximately 2 KB.
WARNING: When compiling ftape as a module (i.e. saying M to
- "Floppy tape drive") it is dangerous to use ftape's proc file system
- interface. Accessing `/proc/ftape' while the module is unloaded will
- result in a kernel Oops. This cannot be fixed from inside ftape.
+ "Floppy tape drive") it is dangerous to use ftape's /proc file
+ system interface. Accessing `/proc/ftape' while the module is
+ unloaded will result in a kernel Oops. This cannot be fixed from
+ inside ftape.
Controlling the amount of debugging output of ftape
CONFIG_FT_NORMAL_DEBUG
@@ -10643,6 +10743,11 @@ CONFIG_APM
11) exchange RAM chips
12) exchange the motherboard.
+ 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 Documentation/modules.txt. The module will be called
+ apm.o.
+
Ignore USER SUSPEND
CONFIG_APM_IGNORE_USER_SUSPEND
This option will ignore USER SUSPEND requests. On machines with a
@@ -10724,14 +10829,6 @@ CONFIG_APM_ALLOW_INTS
many of the newer IBM Thinkpads. If you experience hangs when you
suspend, try setting this to Y. Otherwise, say N.
-Entry point offset fix (some Acer laptops)
-CONFIG_APM_BAD_ENTRY_OFFSET
- Some implementations of the APM BIOS provide the driver with a bad
- entry point offset. If you set this option to Y, then the upper
- sixteen bits of the offset will be set to zero. This is usually
- unnecessary but harmless. This is required for the Acer Travelmate
- 510DX, Travelmate 510T and Extensa 503T. For others, say N.
-
Use real mode APM BIOS call to power off
CONFIG_APM_REAL_MODE_POWER_OFF
Use real mode APM BIOS calls to switch off the computer. This is
@@ -10763,7 +10860,7 @@ CONFIG_WATCHDOG
Disable watchdog shutdown on close
CONFIG_WATCHDOG_NOWAYOUT
- The default watchdog behaviour (which you get if you say N here) is
+ The default watchdog behavior (which you get if you say N here) is
to stop the timer if the process managing it closes the file
/dev/watchdog. It's always remotely possible that this process might
get killed. If you say Y here, the watchdog cannot be stopped once
@@ -10836,6 +10933,25 @@ CONFIG_ACQUIRE_WDT
module, say M here and read Documentation/modules.txt. Most people
will say N.
+Intel P6 CPU Microcode Update Support
+CONFIG_MICROCODE
+ If you say Y here you will be able to update microcode on
+ Intel processors in P6 family, e.g. Pentium Pro, Pentium II,
+ Pentium III, Xeon etc. You will obviously need the actual microcode
+ binary data itself which is not shipped with the Linux kernel.
+ Contact Intel to obtain the latest revision of microcode for
+ your CPU(s). With this support compiled you can use dd(1) to write
+ microcode, for example:
+
+ # dd if=/etc/microcode of=/proc/driver/microcode bs=98304 count=1
+
+ You need to be superuser to do that.
+
+ 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 microcode.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt.
+
Enhanced Real Time Clock Support
CONFIG_RTC
If you say Y here and create a character special file /dev/rtc with
@@ -10844,7 +10960,7 @@ CONFIG_RTC
Every PC has such a clock built in. It can be used to generate
signals from as low as 1Hz up to 8192Hz, and can also be used
as a 24 hour alarm. It reports status information via the file
- /proc/driver/rtc and its behaviour is set by various ioctls on
+ /proc/driver/rtc and its behavior is set by various ioctls on
/dev/rtc.
If you run Linux on a multiprocessor machine and said Y to
@@ -11037,7 +11153,7 @@ CONFIG_NWBUTTON
row.
Do not hold the button down for too long, as the driver does not
- alter the behaviour of the hardware reset circuitry attached to the
+ alter the behavior of the hardware reset circuitry attached to the
button; it will still execute a hard reset if the button is held
down for longer than approximately five seconds.
@@ -11830,11 +11946,16 @@ CONFIG_HISAX_NO_LLC
If you have trouble with some ugly exchanges try to select this
option.
+Disable keypad protocol option
+CONFIG_HISAX_NO_KEYPAD
+ If you like to send special dialstrings including * or # without
+ using the keypad protocol, select this option.
+
HiSax Support for german 1TR6
CONFIG_HISAX_1TR6
Enable this if you have a old german 1TR6 line.
-HiSax Support for Teles 16.0/8.0
+Teles 16.0/8.0
CONFIG_HISAX_16_0
This enables HiSax support for the Teles ISDN-cards S0-16.0, S0-8
and many compatibles.
@@ -11843,7 +11964,7 @@ CONFIG_HISAX_16_0
different cards, a different D-channel protocol, or non-standard
IRQ/port/shmem settings.
-HiSax Support for Teles 16.3 or PNP or PCMCIA
+Teles 16.3 or PNP or PCMCIA
CONFIG_HISAX_16_3
This enables HiSax support for the Teles ISDN-cards S0-16.3 the
Teles/Creatix PnP and the Teles PCMCIA.
@@ -11852,17 +11973,17 @@ CONFIG_HISAX_16_3
different cards, a different D-channel protocol, or non-standard
IRQ/port settings.
-HiSax Support for Teles PCI
+Teles PCI
CONFIG_HISAX_TELESPCI
This enables HiSax support for the Teles PCI.
See Documentation/isdn/README.HiSax on how to configure it.
-HiSax Support for Teles S0Box
+Teles S0Box
CONFIG_HISAX_S0BOX
This enables HiSax support for the Teles/Creatix parallel port
S0BOX. See Documentation/isdn/README.HiSax on how to configure it.
-HiSax Support for AVM A1 (Fritz)
+AVM A1 (Fritz)
CONFIG_HISAX_AVM_A1
This enables HiSax support for the AVM A1 (aka "Fritz").
@@ -11870,17 +11991,17 @@ CONFIG_HISAX_AVM_A1
different cards, a different D-channel protocol, or non-standard
IRQ/port settings.
-HiSax Support for AVM PnP/PCI (Fritz!PNP/PCI)
+AVM PnP/PCI (Fritz!PNP/PCI)
CONFIG_HISAX_FRITZPCI
This enables HiSax support for the AVM "Fritz!PnP" and "Fritz!PCI".
See Documentation/isdn/README.HiSax on how to configure it.
-HiSax Support for AVM A1 PCMCIA (Fritz)
+AVM A1 PCMCIA (Fritz)
CONFIG_HISAX_AVM_A1_PCMCIA
This enables HiSax support for the AVM A1 "Fritz!PCMCIA").
See Documentation/isdn/README.HiSax on how to configure it.
-HiSax Support for Elsa cards
+Elsa cards
CONFIG_HISAX_ELSA
This enables HiSax support for the Elsa Mircolink ISA cards, for the
Elsa Quickstep series cards and Elsa PCMCIA.
@@ -11889,7 +12010,7 @@ CONFIG_HISAX_ELSA
different cards, a different D-channel protocol, or non-standard
IRQ/port settings.
-HiSax Support for ITK ix1-micro Revision 2
+ITK ix1-micro Revision 2
CONFIG_HISAX_IX1MICROR2
This enables HiSax support for the ITK ix1-micro Revision 2 card.
@@ -11897,7 +12018,7 @@ CONFIG_HISAX_IX1MICROR2
different cards, a different D-channel protocol, or non-standard
IRQ/port settings.
-HiSax Support for Eicon.Diehl Diva cards
+Eicon.Diehl Diva cards
CONFIG_HISAX_DIEHLDIVA
This enables HiSax support for the Eicon.Diehl Diva none PRO
versions passive ISDN cards.
@@ -11906,16 +12027,16 @@ CONFIG_HISAX_DIEHLDIVA
different cards, a different D-channel protocol, or non-standard
IRQ/port settings.
-HiSax Support for ASUSCOM cards
+ASUSCOM ISA cards
CONFIG_HISAX_ASUSCOM
This enables HiSax support for the AsusCom and their OEM versions
- passive ISDN cards.
+ passive ISDN ISA cards.
See Documentation/isdn/README.HiSax on how to configure it using the
different cards, a different D-channel protocol, or non-standard
IRQ/port settings.
-HiSax Support for TELEINT cards
+TELEINT cards
CONFIG_HISAX_TELEINT
This enables HiSax support for the TELEINT SA1 semiactiv ISDN card.
@@ -11923,7 +12044,7 @@ CONFIG_HISAX_TELEINT
different cards, a different D-channel protocol, or non-standard
IRQ/port settings.
-HiSax Support for HFC-S based cards
+HFC-S based cards
CONFIG_HISAX_HFCS
This enables HiSax support for the HFC-S 2BDS0 based cards, like
teles 16.3c.
@@ -11932,7 +12053,7 @@ CONFIG_HISAX_HFCS
different cards, a different D-channel protocol, or non-standard
IRQ/port settings.
-HiSax Support for Sedlbauer cards
+Sedlbauer cards
CONFIG_HISAX_SEDLBAUER
This enables HiSax support for the Sedlbauer passive ISDN cards.
@@ -11940,21 +12061,21 @@ CONFIG_HISAX_SEDLBAUER
different cards, a different D-channel protocol, or non-standard
IRQ/port settings.
-HiSax Support for USR Sportster internal TA
+USR Sportster internal TA
CONFIG_HISAX_SPORTSTER
This enables HiSax support for the USR Sportster internal TA card.
See Documentation/isdn/README.HiSax on how to configure it using a
different D-channel protocol, or non-standard IRQ/port settings.
-HiSax Support for MIC card
+MIC card
CONFIG_HISAX_MIC
This enables HiSax support for the ITH MIC card.
See Documentation/isdn/README.HiSax on how to configure it using a
different D-channel protocol, or non-standard IRQ/port settings.
-HiSax Support for NETjet card
+NETjet card
CONFIG_HISAX_NETJET
This enables HiSax support for the NetJet from Traverse
Technologies.
@@ -11962,62 +12083,67 @@ CONFIG_HISAX_NETJET
See Documentation/isdn/README.HiSax on how to configure it using a
different D-channel protocol, or non-standard IRQ/port settings.
-HiSax Support for Niccy PnP/PCI card
+Niccy PnP/PCI card
CONFIG_HISAX_NICCY
This enables HiSax support for the Dr. Neuhaus Niccy PnP or PCI.
See Documentation/isdn/README.HiSax on how to configure it using a
different D-channel protocol, or non-standard IRQ/port settings.
-HiSax Support for Siemens I-Surf card
+Siemens I-Surf card
CONFIG_HISAX_ISURF
This enables HiSax support for the Siemens I-Talk/I-Surf card with
ISAR chip.
See Documentation/isdn/README.HiSax on how to configure it using a
different D-channel protocol, or non-standard IRQ/port settings.
-HiSax Support for HST Saphir card
+HST Saphir card
CONFIG_HISAX_HSTSAPHIR
This enables HiSax support for the HST Saphir card.
See Documentation/isdn/README.HiSax on how to configure it using a
different D-channel protocol, or non-standard IRQ/port settings.
-HiSax Support for Telekom A4T card
+Telekom A4T card
CONFIG_HISAX_BKM_A4T
This enables HiSax support for the Telekom A4T card.
See Documentation/isdn/README.HiSax on how to configure it using a
different D-channel protocol, or non-standard IRQ/port settings.
-HiSax Support for Scitel Quadro card
+Scitel Quadro card
CONFIG_HISAX_SCT_QUADRO
This enables HiSax support for the Scitel Quadro card.
See Documentation/isdn/README.HiSax on how to configure it using a
different D-channel protocol, or non-standard IRQ/port settings.
-HiSax Support for Gazel cards
+Gazel cards
CONFIG_HISAX_GAZEL
This enables HiSax support for the Gazel cards.
See Documentation/isdn/README.HiSax on how to configure it using a
different D-channel protocol, or non-standard IRQ/port settings.
-HiSax Support for HFC PCI-Bus cards
+HFC PCI-Bus cards
CONFIG_HISAX_HFC_PCI
This enables HiSax support for the HFC-S PCI 2BDS0 based cards.
For more informations see under Documentation/isdn/README.hfc-pci.
-HiSax Support for Winbond W6692 based cards
+Winbond W6692 based cards
CONFIG_HISAX_W6692
This enables HiSax support for Winbond W6692 based PCI ISDN cards.
See Documentation/isdn/README.HiSax on how to configure it using a
different D-channel protocol, or non-standard IRQ/port settings.
-HiSax Support for Am7930 (EXPERIMENTAL)
+HFC-S+, HFC-SP, HFC-PCMCIA cards (EXPERIMENTAL)
+CONFIG_HISAX_HFC_SX
+ This enables HiSax support for the HFC-S+, HFC-SP and HFC-PCMCIA cards.
+ This code is not finished yet.
+
+Am7930 (EXPERIMENTAL)
CONFIG_HISAX_AMD7930
This enables HiSax support for the AMD7930 chips on some SPARCs.
This code is not finished yet.
@@ -12376,7 +12502,7 @@ CONFIG_ZORRO
Say Y if you want your expansion cards to be identified on bootup;
it will enlarge your kernel by about 10 KB. The identification
information is also available through /proc/zorro (say Y to
- "/proc filesystem support"!).
+ "/proc file system support"!).
Note that even if you say N here, you can still use your expansion
cards. If in doubt, say Y.
@@ -13159,7 +13285,7 @@ CONFIG_VIDEO_BWQCAM
Colour QuickCam Video For Linux
CONFIG_VIDEO_CQCAM
- This is the video4linux driver for the colour version of the
+ This is the video4linux driver for the color version of the
Connectix Quickcam. If you have one of these cameras, say Y here,
otherwise say N. This driver does not work with the original
monochrome Quickcam, Quickcam VC or QuickClip. It is also available
@@ -13212,7 +13338,7 @@ CONFIG_AGP
megs due to kernel allocation issues), you could use PCI accesses
and have up to a couple gigs of texture space.
- Note that this is the only meas to have get XFree4/GLX use
+ Note that this is the only mean to have get XFree4/GLX use
write-combining with MTRR support on AGP bus. Without, OpenGL
direct rendering will be a lot slower but still faster than PIO.
@@ -13351,7 +13477,7 @@ CONFIG_NWFPE
Say Y to include the NWFPE floating point emulator in the kernel.
This is necessary to run most binaries. Linux does not currently
support floating point hardware so you need to say Y here even if
- your machine has an FPA or floating point co-processor podule.
+ your machine has an FPA or floating point co-processor module.
It is also possible to say M to build the emulator as a module
(nwfpe.o) or indeed to leave it out altogether. However, unless you
@@ -13408,12 +13534,12 @@ CONFIG_DEBUG_INFO
time and disk space needed for compilation of the kernel. If in
doubt say N.
-Split initialisation functions into discardable section
+Split initialization functions into discardable section
CONFIG_TEXT_SECTIONS
If you say Y here, kernel code that is only used during
- initialisation is collected into a special area of the kernel so
+ initialization is collected into a special area of the kernel so
that it can be discarded and the memory reclaimed when
- initialisation is complete. In addition, if the kernel you wish to
+ initialization is complete. In addition, if the kernel you wish to
build is able to run on multiple architectures, it allows the unused
code to be discarded. Some versions of binutils, however, have a bug
that causes the kernel to crash during startup when this option is
@@ -13474,7 +13600,7 @@ CONFIG_HOST_FOOTBRIDGE
MFM hard disk support
CONFIG_BLK_DEV_MFM
Support the MFM hard drives on the Acorn Archimedes both
- on-board the A4x0 motherboards and via the Acorn MFM podules.
+ on-board the A4x0 motherboards and via the Acorn MFM modules.
Drives up to 64MB are supported. If you haven't got one of these
machines or drives just say N.
@@ -13793,7 +13919,7 @@ Kernel httpd acceleration (EXPERIMENTAL)
CONFIG_KHTTPD
The kernel httpd acceleration daemon (kHTTPd) is a (limited)
web server build into the kernel. It is limited since it can only
- serve files from the filesystem. Saying "M" here builds the
+ serve files from the file system. Saying "M" here builds the
kHTTPd module; this is NOT enough to have a working kHTTPd.
For safety reasons, the module has to be activated by doing a
"echo 1 > /proc/sys/net/khttpd/start" after inserting the module.
@@ -13869,7 +13995,7 @@ CONFIG_I2C_CHARDEV
# LocalWords: CONFIG coprocessor DX Pentium SX lilo loadlin HOWTO ftp metalab
# LocalWords: unc edu docs emu README kB BLK DEV FD Thinkpad fd MFM RLL IDE gz
# LocalWords: cdrom diskless netboot nfs xzvf ATAPI MB ide pavia rubini pl pd
-# LocalWords: HD CDROMs IDECD NEC MITSUMI filesystem XT XD PCI BIOS cezar ATEN
+# LocalWords: HD CDROMs IDECD NEC MITSUMI XT XD PCI BIOS cezar ATEN
# LocalWords: ISA EISA Microchannel VESA BIOSes IPC SYSVIPC ipc Ctrl dmesg hlt
# LocalWords: BINFMT Linkable http ac uk jo html GCC SPARC AVANTI CABRIOLET EB
# LocalWords: netscape gcc LD CC toplevel MODVERSIONS insmod rmmod modprobe IP
@@ -13899,7 +14025,7 @@ CONFIG_I2C_CHARDEV
# LocalWords: readprofile diskdrives org com masq EtherTalk tcp netrom sunacm
# LocalWords: misc AIC aic pio scc Portmaster eql GIS PhotoCDs MCDX Perell PG
# LocalWords: mcdx gscd optcd sjcd ISP hdparm Workgroups Lan samba PARIDE PCD
-# LocalWords: filesystems smbfs ATA ppp PCTech RZ www powerquest txt CMD ESDI
+# LocalWords: smbfs ATA ppp PCTech RZ www powerquest txt CMD ESDI
# LocalWords: chipset FB multicast MROUTE appletalk ifconfig IBMTR multiport
# LocalWords: Multisession STALDRV EasyIO EC EasyConnection ISTALLION ONboard
# LocalWords: Brumby pci TNC cis ohio faq usenet NETLINK dev hydra ca Tyne mem
@@ -13921,7 +14047,7 @@ CONFIG_I2C_CHARDEV
# LocalWords: AlphaPC mca AOUT OUTput PPro sipx gwdg lo nwe FourPort Boca unm
# LocalWords: Keepalive linefill RELCOM keepalive analogue CDR conf CDI INIT
# LocalWords: OPTi isp irq noisp VFAT vfat NTFS losetup dmsdosfs dosfs ISDN MP
-# LocalWords: NOWAYOUT behaviour dialin isdn callback BTX Teles ICN EDSS Cisco
+# LocalWords: NOWAYOUT behavior dialin isdn callback BTX Teles ICN EDSS Cisco
# LocalWords: ipppd syncppp RFC MPP VJ downloaded icn NICCY Creatix shmem ufr
# LocalWords: ibp md ARCnet ether encap NDIS arcether ODI Amigas AmiTCP NetBSD
# LocalWords: initrd tue util DES funet des OnNet BIOSP smc Travan Iomega CMS
@@ -14026,7 +14152,7 @@ CONFIG_I2C_CHARDEV
# LocalWords: struct APIC realtime OSs LynxOS CNC tmp cvf HFS hfs ADFS Risc os
# LocalWords: adfs ncpmount namespace SUBDIR reexport NDS kcore FT SPX spx DAT
# LocalWords: interserver BLKSZ NUMBUFFERS apmd Tadpole ANA roestock QuickCam
-# LocalWords: isapnptools Colour CQCAM colour Connectix QuickClip prive mentre
+# LocalWords: isapnptools Colour CQCAM color Connectix QuickClip prive mentre
# LocalWords: KMOD kmod conformant utexas kharker UnixWare Mwave cgi cl ts ibm
# LocalWords: eXchange threepio oakland simtel pre ULTRAMCA EtherLink isa luik
# LocalWords: EtherLink OpenBSD pts DEVPTS devpts ptmx ttyp glibc readback SA
@@ -14090,7 +14216,7 @@ CONFIG_I2C_CHARDEV
# LocalWords: VROOTHUB KBD ARRs MCRs NWBUTTON nwbutton NUM WaveArtist APNE cpu
# LocalWords: apne blackhawke PlanB lu mlan planb NWFPE FPA nwfpe unbootable
# LocalWords: FPEmulator ds vmlinux initialisation discardable pgtable PGT mdw
-# LocalWords: quicklist pagetable arthur StrongARM podule podules Autodetect
+# LocalWords: quicklist pagetable arthur StrongARM module modules Autodetect
# LocalWords: dodgy IrPORT irport Litelink litelink SuSE rtfm internet hda CY
# LocalWords: multmode DriveReady SeekComplete DriveStatusError miscompile AEC
# LocalWords: mainboard's Digital's alim FastTrak aec PIIXn piix Gayle Eyetech
diff --git a/Documentation/DMA-mapping.txt b/Documentation/DMA-mapping.txt
index c48758677..14237b851 100644
--- a/Documentation/DMA-mapping.txt
+++ b/Documentation/DMA-mapping.txt
@@ -28,19 +28,126 @@ First of all, you should make sure
#include <linux/pci.h>
-is in your driver. This file defines a dma_addr_t type which should be
-used everywhere you hold a DMA (bus) address returned from the DMA mapping
-functions.
+is in your driver. This file will obtain for you the definition of
+the dma_addr_t type which should be used everywhere you hold a DMA
+(bus) address returned from the DMA mapping functions.
+
+ DMA addressing limitations
+
+Does your device have any DMA addressing limitations? For example, is
+your device only capable of driving the low order 24-bits of address
+on the PCI bus for DMA transfers? If your device can handle any PCI
+dma address fully, then please skip to the next section, the rest of
+this section does not concern your device.
+
+For correct operation, you must interrogate the PCI layer in your
+device probe routine to see if the PCI controller on the machine can
+properly support the DMA addressing limitation your device has. This
+query is performed via a call to pci_dma_supported():
+
+ int pci_dma_supported(struct pci_dev *pdev, dma_addr_t device_mask)
+
+Here, pdev is a pointer to the PCI device struct of your device, and
+device_mask is a bit mask describing which bits of a PCI address your
+device supports. It returns non-zero if your card can perform DMA
+properly on the machine. If it returns zero, your device can not
+perform DMA properly on this platform, and attempting to do so will
+result in undefined behavior.
+
+In the failure case, you have two options:
+
+1) Use some non-DMA mode for data transfer, if possible.
+2) Ignore this device and do not initialize it.
+
+It is recommended that your driver print a kernel KERN_WARN message
+when you do one of these two things. In this manner, if a user of
+your driver reports that performance is bad or that the device is not
+even detected, you can ask him for the kernel messages to find out
+exactly why.
+
+So if, for example, you device can only drive the low 24-bits of
+address during PCI bus mastering you might do something like:
+
+ if (! pci_dma_supported(pdev, 0x00ffffff))
+ goto ignore_this_device;
+
+There is a case which we are aware of at this time, which is worth
+mentioning in this documentation. If your device supports multiple
+functions (for example a sound card provides playback and record
+functions) and the various different functions have _different_
+DMA addressing limitations, you may wish to probe each mask and
+only provide the functionality which the machine can handle.
+Here is pseudo-code showing how this might be done:
+
+ #define PLAYBACK_ADDRESS_BITS 0xffffffff
+ #define RECORD_ADDRESS_BITS 0x00ffffff
+
+ struct my_sound_card *card;
+ struct pci_dev *pdev;
+
+ ...
+ if (pci_dma_supported(pdev, PLAYBACK_ADDRESS_BITS)) {
+ card->playback_enabled = 1;
+ } else {
+ card->playback_enabled = 0;
+ printk(KERN_WARN "%s: Playback disabled due to DMA limitations.\n",
+ card->name);
+ }
+ if (pci_dma_supported(pdev, RECORD_ADDRESS_BITS)) {
+ card->record_enabled = 1;
+ } else {
+ card->record_enabled = 0;
+ printk(KERN_WARN "%s: Record disabled due to DMA limitations.\n",
+ card->name);
+ }
+
+A sound card was used as an example here because this genre of PCI
+devices seems to be littered with ISA chips given a PCI front end,
+and thus retaining the 16MB DMA addressing limitations of ISA.
+
+ Types of DMA mappings
There are two types of DMA mappings:
-- static DMA mappings which are usually mapped at driver initialization,
- unmapped at the end and for which the hardware should not assume
- sequential accesses (from both the DMA engine in the card and CPU).
-- streaming DMA mappings which are usually mapped for one DMA transfer,
+
+- Consistent DMA mappings which are usually mapped at driver
+ initialization, unmapped at the end and for which the hardware should
+ guarentee that the device and the cpu can access the data
+ in parallel and will see updates made by each other without any
+ explicit software flushing.
+
+ Think of "consistent" as "synchronous" or "coherent".
+
+ Good examples of what to use consistent mappings for are:
+
+ - Network card DMA ring descriptors.
+ - SCSI adapter mailbox command data structures.
+ - Device firmware microcode executed out of
+ main memory.
+
+ The invariant these examples all require is that any cpu store
+ to memory is immediately visible to the device, and vice
+ versa. Consistent mappings guarentee this.
+
+- Streaming DMA mappings which are usually mapped for one DMA transfer,
unmapped right after it (unless you use pci_dma_sync below) and for which
hardware can optimize for sequential accesses.
-To allocate and map a static DMA region, you should do:
+ This of "streaming" as "asynchronous" or "outside the coherency
+ domain".
+
+ Good examples of what to use streaming mappings for are:
+
+ - Networking buffers transmitted/received by a device.
+ - Filesystem buffers written/read by a SCSI device.
+
+ The interfaces for using this type of mapping were designed in
+ such a way that an implementation can make whatever performance
+ optimizations the hardware allows. To this end, when using
+ such mappings you must be explicit about what you want to happen.
+
+ Using Consistent DMA mappings.
+
+To allocate and map a consistent DMA region, you should do:
dma_addr_t dma_handle;
@@ -48,21 +155,91 @@ To allocate and map a static DMA region, you should do:
where dev is a struct pci_dev *. You should pass NULL for PCI like buses
where devices don't have struct pci_dev (like ISA, EISA).
+
This argument is needed because the DMA translations may be bus
-specific (and often is private to the bus which the device is attached to).
+specific (and often is private to the bus which the device is attached
+to).
+
Size is the length of the region you want to allocate.
+
This routine will allocate RAM for that region, so it acts similarly to
-__get_free_pages (but takes size instead of page order).
-It returns two values: the virtual address which you can use to access it
-from the CPU and dma_handle which you pass to the card.
-The return address is guaranteed to be page aligned.
+__get_free_pages (but takes size instead of a page order).
-To unmap and free such DMA region, you call:
+It returns two values: the virtual address which you can use to access
+it from the CPU and dma_handle which you pass to the card.
+
+The cpu return address and the DMA bus master address are both
+guaranteed to be aligned to the smallest PAGE_SIZE order which
+is greater than or equal to the requested size. This invariant
+exists (for example) to guarentee that if you allocate a chunk
+which is smaller than or equal to 64 kilobytes, the extent of the
+buffer you receive will not cross a 64K boundry.
+
+To unmap and free such a DMA region, you call:
pci_free_consistent(dev, size, cpu_addr, dma_handle);
where dev, size are the same as in the above call and cpu_addr and
-dma_handle are the values pci_alloc_consistent returned.
+dma_handle are the values pci_alloc_consistent returned to you.
+
+ DMA Direction
+
+The interfaces described in subsequent portions of this document
+take a DMA direction argument, which is an integer and takes on
+one of the following values:
+
+ PCI_DMA_BIDIRECTIONAL
+ PCI_DMA_TODEVICE
+ PCI_DMA_FROMDEVICE
+ PCI_DMA_NONE
+
+One should provide the exact DMA direction if you know it.
+
+PCI_DMA_TODEVICE means "from main memory to the PCI device"
+PCI_DMA_FROMDEVICE means "from the PCI device to main memory"
+
+Cou are _strongly_ encouraged to specify this as precisely
+as you possibly can.
+
+If you absolutely cannot know the direction of the DMA transfer,
+specify PCI_DMA_BIDIRECTIONAL. It means that the DMA can go in
+either direction. The platform guarentees that you may legally
+specify this, and that it will work, but this may be at the
+cost of performance for example.
+
+The value PCI_DMA_NONE is to be used for debugging. One can
+hold this in a data structure before you come to know the
+precise direction, and this will help catch cases where your
+direction tracking logic has failed to set things up properly.
+
+Another advantage of specifying this value precisely (outside
+of potential platform-specific optimizations of such) is for
+debugging. Some platforms actually have a write permission
+boolean which DMA mappings can be marked with, much like page
+protections in a user program can have. Such platforms can
+and do report errors in the kernel logs when the PCI controller
+hardware detects violation of the permission setting.
+
+Only streaming mappings specify a direction, consistent mappings
+implicitly have a direction attribute setting of
+PCI_DMA_BIDIRECTIONAL.
+
+The SCSI subsystem provides mechanisms for you to easily obtain
+the direction to use, in the SCSI command:
+
+ scsi_to_pci_dma_dir(SCSI_DIRECTION)
+
+Where SCSI_DIRECTION is obtained from the 'sc_data_direction'
+member of the SCSI command your driver is working on. The
+mentioned interface above returns a value suitable for passing
+into the streaming DMA mapping interfaces below.
+
+For Networking drivers, it's a rather simple affair. For transmit
+packets, map/unmap them with the PCI_DMA_TODEVICE direction
+specifier. For receive packets, just the opposite, map/unmap them
+with the PCI_DMA_FROMDEVICE direction specifier.
+
+ Using Streaming DMA mappings
The streaming DMA mapping routines can be called from interrupt context.
There are two versions of each map/unmap, one which map/unmap a single
@@ -72,18 +249,18 @@ To map a single region, you do:
dma_addr_t dma_handle;
- dma_handle = pci_map_single(dev, addr, size);
+ dma_handle = pci_map_single(dev, addr, size, direction);
and to unmap it:
- pci_unmap_single(dev, dma_handle, size);
+ pci_unmap_single(dev, dma_handle, size, direction);
You should call pci_unmap_single when the DMA activity is finished, e.g.
from interrupt which told you the DMA transfer is done.
Similarly with scatterlists, you map a region gathered from several regions by:
- int i, count = pci_map_sg(dev, sglist, nents);
+ int i, count = pci_map_sg(dev, sglist, nents, direction);
struct scatterlist *sg;
for (i = 0, sg = sglist; i < count; i++, sg++) {
@@ -92,13 +269,15 @@ Similarly with scatterlists, you map a region gathered from several regions by:
}
where nents is the number of entries in the sglist.
+
The implementation is free to merge several consecutive sglist entries
into one (e.g. if DMA mapping is done with PAGE_SIZE granularity, any
consecutive sglist entries can be merged into one provided the first one
ends and the second one starts on a page boundary - in fact this is a huge
advantage for cards which either cannot do scatter-gather or have very
limited number of scatter-gather entries) and returns the actual number
-of sg entries it mapped them too.
+of sg entries it mapped them to.
+
Then you should loop count times (note: this can be less than nents times)
and use sg_dma_address() and sg_dma_length() macros where you previously
accessed sg->address and sg->length as shown above.
@@ -108,6 +287,12 @@ To unmap a scatterlist, just call:
pci_unmap_sg(dev, sglist, nents);
Again, make sure DMA activity finished.
+
+PLEASE NOTE: The 'nents' argument to the pci_unmap_sg call must be
+ the _same_ one you passed into the pci_map_sg call,
+ it should _NOT_ be the 'count' value _returned_ from the
+ pci_map_sg call.
+
Every pci_map_{single,sg} call should have its pci_unmap_{single,sg}
counterpart, because the bus address space is a shared resource (although
in some ports the mapping is per each BUS so less devices contend for the
@@ -118,15 +303,64 @@ If you need to use the same streaming DMA region multiple times and touch
the data in between the DMA transfers, just map it
with pci_map_{single,sg}, after each DMA transfer call either:
- pci_dma_sync_single(dev, dma_handle, size);
+ pci_dma_sync_single(dev, dma_handle, size, direction);
or:
- pci_dma_sync_sg(dev, sglist, nents);
+ pci_dma_sync_sg(dev, sglist, nents, direction);
and after the last DMA transfer call one of the DMA unmap routines
pci_unmap_{single,sg}. If you don't touch the data from the first pci_map_*
-call till pci_unmap_*, then you don't have to call pci_sync_* routines.
+call till pci_unmap_*, then you don't have to call the pci_sync_*
+routines at all.
+
+Here is pseudo code which shows a situation in which you would need
+to use the pci_dma_sync_*() interfaces.
+
+ my_card_setup_receive_buffer(struct my_card *cp, char *buffer, int len)
+ {
+ dma_addr_t mapping;
+
+ mapping = pci_map_single(cp->pdev, buffer, len, PCI_DMA_FROMDEVICE);
+
+ cp->rx_buf = buffer;
+ cp->rx_len = len;
+ cp->rx_dma = mapping;
+
+ give_rx_buf_to_card(cp);
+ }
+
+ ...
+
+ my_card_interrupt_handler(int irq, void *devid, struct pt_regs *regs)
+ {
+ struct my_card *cp = devid;
+
+ ...
+ if (read_card_status(cp) == RX_BUF_TRANSFERRED) {
+ struct my_card_header *hp;
+
+ /* Examine the header to see if we wish
+ * to except the data. But synchronize
+ * the DMA transfer with the CPU first
+ * so that we see updated contents.
+ */
+ pci_dma_sync_single(cp->pdev, cp->rx_buf, cp->rx_len,
+ PCI_DMA_FROMDEVICE);
+
+ /* Now it is safe to examine the buffer. */
+ hp = (struct my_card_header *) cp->rx_buf;
+ if (header_is_ok(hp)) {
+ pci_unmap_single(cp->pdev, cp->rx_buf, cp->rx_len,
+ PCI_DMA_FROMDEVICE);
+ pass_to_upper_layers(cp->rx_buf);
+ make_and_setup_new_rx_buf(cp);
+ } else {
+ /* Just give the buffer back to the card. */
+ give_rx_buf_to_card(cp);
+ }
+ }
+ }
Drivers converted fully to this interface should not use virt_to_bus any
longer, nor should they use bus_to_virt. Some drivers have to be changed a
@@ -136,8 +370,14 @@ returned by the pci_alloc_consistent and pci_map_single calls (pci_map_sg
stores them in the scatterlist itself if the platform supports dynamic DMA
mapping in hardware) in your driver structures and/or in the card registers.
-For PCI cards which recognize fewer address lines than 32 in Single
-Address Cycle, you should set corresponding pci_dev's dma_mask field to a
-different mask. The dma mapping routines then should either honour your request
-and allocate the DMA only with the bus address with bits set in your
-dma_mask or should complain that the device is not supported on that platform.
+This document, and the API itself, would not be in it's current
+form without the feedback and suggestions from numerous individuals.
+We would like to specifically mention, in no particular order, the
+following people:
+
+ Russell King <rmk@arm.linux.org.uk>
+ Leo Dagum <dagum@barrel.engr.sgi.com>
+ Ralf Baechle <ralf@oss.sgi.com>
+ Grant Grundler <grundler@cup.hp.com>
+ Jay Estabrook <Jay.Estabrook@compaq.com>
+ Thomas Sailer <sailer@ife.ee.ethz.ch>
diff --git a/Documentation/LVM-HOWTO b/Documentation/LVM-HOWTO
new file mode 100644
index 000000000..e67f91a89
--- /dev/null
+++ b/Documentation/LVM-HOWTO
@@ -0,0 +1,119 @@
+Heinz Mauelshagen's LVM (Logical Volume Manager) howto. 02/10/1999
+
+
+Abstract:
+---------
+The LVM adds a kind of virtual disks and virtual partitions functionality
+to the Linux operating system.
+
+It achieves this by adding an additional layer between the physical peripherals
+and the i/o interface in the kernel.
+
+This allows the concatenation of several disk partitions or total disks
+(so-called physical volumes or PVs) or even multiple devices
+to form a storage pool (so-called Volume Group or VG) with
+allocation units called physical extents (called PE).
+You can think of the volume group as a virtual disk.
+Please see scenario below.
+
+Some or all PEs of this VG then can be allocated to so-called Logical Volumes
+or LVs in units called logical extents or LEs.
+Each LE is mapped to a corresponding PE.
+LEs and PEs are equal in size.
+Logical volumes are a kind of virtual partitions.
+
+
+The LVs can be used through device special files similar to the known
+/dev/sd[a-z]* or /dev/hd[a-z]* named /dev/VolumeGroupName/LogicalVolumeName.
+
+But going beyond this, you are able to extend or reduce
+VGs _AND_ LVs at runtime!
+
+So...
+If for example the capacity of a LV gets too small and your VG containing
+this LV is full, you could add another PV to that VG and simply extend
+the LV afterwards.
+If you reduce or delete a LV you can use the freed capacity for different
+LVs in the same VG.
+
+
+The above scenario looks like this:
+
+ /------------------------------------------\
+ | /--PV2---\ VG 1 /--PVn---\ |
+ | |-VGDA---| |-VGDA-- | |
+ | |PE1PE2..| |PE1PE2..| |
+ | | | ...... | | |
+ | | | | | |
+ | | /-----------------------\ | |
+ | | \-------LV 1------------/ | |
+ | | ..PEn| | ..PEn| |
+ | \--------/ \--------/ |
+ \------------------------------------------/
+
+PV 1 could be /dev/sdc1 sized 3GB
+PV n could be /dev/sde1 sized 4GB
+VG 1 could be test_vg
+LV 1 could be /dev/test_vg/test_lv
+VGDA is the volume group descriptor area holding the LVM metadata
+PE1 up to PEn is the number of physical extents on each disk(partition)
+
+
+
+Installation steps see INSTALL and insmod(1)/modprobe(1), kmod/kerneld(8)
+to load the logical volume manager module if you did not bind it
+into the kernel.
+
+
+Configuration steps for getting the above scenario:
+
+1. Set the partition system id to 0x8e on /dev/sdc1 and /dev/sde1.
+
+2. do a "pvcreate /dev/sd[ce]1"
+ For testing purposes you can use more than one partition on a disk.
+ You should not use more than one partition because in the case of
+ a striped LV you'll have a performance breakdown.
+
+3. do a "vgcreate test_vg /dev/sd[ce]1" to create the new VG named "test_vg"
+ which has the total capacity of both partitions.
+ vgcreate activates (transfers the metadata into the LVM driver in the kernel)
+ the new volume group too to be able to create LVs in the next step.
+
+4. do a "lvcreate -L1500 -ntest_lv test_vg" to get a 1500MB linear LV named
+ "test_lv" and it's block device special "/dev/test_vg/test_lv".
+
+ Or do a "lvcreate -i2 -I4 -l1500 -nanother_test_lv test_vg" to get a 100 LE
+ large logical volume with 2 stripes and stripesize 4 KB.
+
+5. For example generate a filesystem in one LV with
+ "mke2fs /dev/test_vg/test_lv" and mount it.
+
+6. extend /dev/test_vg/test_lv to 1600MB with relative size by
+ "lvextend -L+100 /dev/test_vg/test_lv"
+ or with absolute size by
+ "lvextend -L1600 /dev/test_vg/test_lv"
+
+7. reduce /dev/test_vg/test_lv to 900 logical extents with relative extents by
+ "lvreduce -l-700 /dev/test_vg/test_lv"
+ or with absolute extents by
+ "lvreduce -l900 /dev/test_vg/test_lv"
+
+9. rename a VG by deactivating it with
+ "vgchange -an test_vg" # only VGs with _no_ open LVs can be deactivated!
+ "vgrename test_vg whatever"
+ and reactivate it again by
+ "vgchange -ay whatever"
+
+9. rename a LV after closing it by
+ "lvchange -an /dev/whatever/test_lv" # only closed LVs can be deactivated
+ "lvrename /dev/whatever/test_lv /dev/whatever/whatvolume"
+ or by
+ "lvrename whatever test_lv whatvolume"
+ and reactivate it again by
+ "lvchange -ay /dev/whatever/whatvolume"
+
+10. if you own Ted Tso's/Powerquest's resize2fs program, you are able to
+ resize the ext2 type filesystems contained in logical volumes without
+ destroyiing the data by
+ "e2fsadm -L+100 /dev/test_vg/another_test_lv"
+
diff --git a/Documentation/filesystems/00-INDEX b/Documentation/filesystems/00-INDEX
index a5312faaf..ec53a9501 100644
--- a/Documentation/filesystems/00-INDEX
+++ b/Documentation/filesystems/00-INDEX
@@ -8,6 +8,8 @@ bfs.txt
- info for the SCO UnixWare Boot Filesystem (BFS).
coda.txt
- description of the CODA filesystem.
+devfs
+ - directory containing devfs documentation.
fat_cvf.txt
- info on the Compressed Volume Files extension to the FAT filesystem
hpfs.txt
diff --git a/Documentation/filesystems/devfs/ChangeLog b/Documentation/filesystems/devfs/ChangeLog
new file mode 100644
index 000000000..7d8e58890
--- /dev/null
+++ b/Documentation/filesystems/devfs/ChangeLog
@@ -0,0 +1,1465 @@
+/* -*- auto-fill -*- */
+===============================================================================
+Changes for patch v1
+
+- creation of devfs
+
+- modified miscellaneous character devices to support devfs
+===============================================================================
+Changes for patch v2
+
+- bug fix with manual inode creation
+===============================================================================
+Changes for patch v3
+
+- bugfixes
+
+- documentation improvements
+
+- created a couple of scripts (one to save&restore a devfs and the
+ other to set up compatibility symlinks)
+
+- devfs support for SCSI discs. New name format is: sd_hHcCiIlL
+===============================================================================
+Changes for patch v4
+
+- bugfix for the directory reading code
+
+- bugfix for compilation with kerneld
+
+- devfs support for generic hard discs
+
+- rationalisation of the various watchdog drivers
+===============================================================================
+Changes for patch v5
+
+- support for mounting directly from entries in the devfs (it doesn't
+ need to be mounted to do this), including the root filesystem.
+ Mounting of swap partitions also works. Hence, now if you set
+ CONFIG_DEVFS_ONLY to 'Y' then you won't be able to access your discs
+ via ordinary device nodes. Naturally, the default is 'N' so that you
+ can still use your old device nodes. If you want to mount from devfs
+ entries, make sure you use: append = "root=/dev/sd_..." in your
+ lilo.conf. It seems LILO looks for the device number (major&minor)
+ and writes that into the kernel image :-(
+
+- support for character memory devices (/dev/null, /dev/zero, /dev/full
+ and so on). Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+===============================================================================
+Changes for patch v6
+
+- support for subdirectories
+
+- support for symbolic links (created by devfs_mk_symlink(), no
+ support yet for creation via symlink(2))
+
+- SCSI disc naming now cast in stone, with the format:
+ /dev/sd/c0b1t2u3 controller=0, bus=1, ID=2, LUN=3, whole disc
+ /dev/sd/c0b1t2u3p4 controller=0, bus=1, ID=2, LUN=3, 4th partition
+
+- loop devices now appear in devfs
+
+- tty devices, console, serial ports, etc. now appear in devfs
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- bugs with mounting devfs-only devices now fixed
+===============================================================================
+Changes for patch v7
+
+- SCSI CD-ROMS, tapes and generic devices now appear in devfs
+===============================================================================
+Changes for patch v8
+
+- bugfix with no-rewind SCSI tapes
+
+- RAMDISCs now appear in devfs
+
+- better cleaning up of devfs entries created by various modules
+
+- interface change to <devfs_register>
+===============================================================================
+Changes for patch v9
+
+- the v8 patch was corrupted somehow, which would affect the patch for
+ linux/fs/filesystems.c
+ I've also fixed the v8 patch file on the WWW
+
+- MetaDevices (/dev/md*) should now appear in devfs
+===============================================================================
+Changes for patch v10
+
+- bugfix in meta device support for devfs
+
+- created this ChangeLog file
+
+- added devfs support to the floppy driver
+
+- added support for creating sockets in a devfs
+===============================================================================
+Changes for patch v11
+
+- added DEVFS_FL_HIDE_UNREG flag
+
+- incorporated better patch for ttyname() in libc 5.4.43 from H.J. Lu.
+
+- interface change to <devfs_mk_symlink>
+
+- support for creating symlinks with symlink(2)
+
+- parallel port printer (/dev/lp*) now appears in devfs
+===============================================================================
+Changes for patch v12
+
+- added inode check to <devfs_fill_file> function
+
+- improved devfs support when mounting from devfs
+
+- added call to <<release>> operation when removing swap areas on
+ devfs devices
+
+- increased NR_SUPER to 128 to support large numbers of devfs mounts
+ (for chroot(2) gaols)
+
+- fixed bug in SCSI disc support: was generating incorrect minors if
+ SCSI ID's did not start at 0 and increase by 1
+
+- support symlink traversal when mounting root
+===============================================================================
+Changes for patch v13
+
+- added devfs support to soundcard driver
+ Thanks to Eric Dumas <dumas@linux.eu.org> and
+ C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- added devfs support to the joystick driver
+
+- loop driver now has it's own subdirectory "/dev/loop/"
+
+- created <devfs_get_flags> and <devfs_set_flags> functions
+
+- fix problem with SCSI disc compatibility names (sd{a,b,c,d,e,f})
+ which assumes ID's start at 0 and increase by 1. Also only create
+ devfs entries for SCSI disc partitions which actually exist
+ Show new names in partition check
+ Thanks to Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
+===============================================================================
+Changes for patch v14
+
+- bug fix in floppy driver: would not compile without
+ CONFIG_DEVFS_FS='Y'
+ Thanks to Jurgen Botz <jbotz@nova.botz.org>
+
+- bug fix in loop driver
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- do not create devfs entries for printers not configured
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- do not create devfs entries for serial ports not present
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- ensure <tty_register_devfs> is exported from tty_io.c
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- allow unregistering of devfs symlink entries
+
+- fixed bug in SCSI disc naming introduced in last patch version
+===============================================================================
+Changes for patch v15
+
+- ported to kernel 2.1.81
+===============================================================================
+Changes for patch v16
+
+- created <devfs_set_symlink_destination> function
+
+- moved DEVFS_SUPER_MAGIC into header file
+
+- added DEVFS_FL_HIDE flag
+
+- created <devfs_get_maj_min>
+
+- created <devfs_get_handle_from_inode>
+
+- fixed bugs in searching by major&minor
+
+- changed interface to <devfs_unregister>, <devfs_fill_file> and
+ <devfs_find_handle>
+
+- fixed inode times when symlink created with symlink(2)
+
+- change tty driver to do auto-creation of devfs entries
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- fixed bug in genhd.c: whole disc (non-SCSI) was not registered to
+ devfs
+
+- updated libc 5.4.43 patch for ttyname()
+===============================================================================
+Changes for patch v17
+
+- added CONFIG_DEVFS_TTY_COMPAT
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- bugfix in devfs support for drivers/char/lp.c
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- clean up serial driver so that PCMCIA devices unregister correctly
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- fixed bug in genhd.c: whole disc (non-SCSI) was not registered to
+ devfs [was missing in patch v16]
+
+- updated libc 5.4.43 patch for ttyname() [was missing in patch v16]
+
+- all SCSI devices now registered in /dev/sg
+
+- support removal of devfs entries via unlink(2)
+===============================================================================
+Changes for patch v18
+
+- added floppy/?u720 floppy entry
+
+- fixed kerneld support for entries in devfs subdirectories
+
+- incorporated latest patch for ttyname() in libc 5.4.43 from H.J. Lu.
+===============================================================================
+Changes for patch v19
+
+- bug fix when looking up unregistered entries: kerneld was not called
+
+- fixes for kernel 2.1.86 (now requires 2.1.86)
+===============================================================================
+Changes for patch v20
+
+- only create available floppy entries
+ Thanks to Andrzej Krzysztofowicz <ankry@green.mif.pg.gda.pl>
+
+- new IDE naming scheme following SCSI format (i.e. /dev/id/c0b0t0u0p1
+ instead of /dev/hda1)
+ Thanks to Andrzej Krzysztofowicz <ankry@green.mif.pg.gda.pl>
+
+- new XT disc naming scheme following SCSI format (i.e. /dev/xd/c0t0p1
+ instead of /dev/xda1)
+ Thanks to Andrzej Krzysztofowicz <ankry@green.mif.pg.gda.pl>
+
+- new non-standard CD-ROM names (i.e. /dev/sbp/c#t#)
+ Thanks to Andrzej Krzysztofowicz <ankry@green.mif.pg.gda.pl>
+
+- allow symlink traversal when mounting the root filesystem
+
+- Create entries for MD devices at MD init
+ Thanks to Christophe Leroy <christophe.leroy5@capway.com>
+===============================================================================
+Changes for patch v21
+
+- ported to kernel 2.1.91
+===============================================================================
+Changes for patch v22
+
+- SCSI host number patch ("scsihosts=" kernel option)
+ Thanks to Andrzej Krzysztofowicz <ankry@green.mif.pg.gda.pl>
+===============================================================================
+Changes for patch v23
+
+- Fixed persistence bug with device numbers for manually created
+ device files
+
+- Fixed problem with recreating symlinks with different content
+
+- Added CONFIG_DEVFS_MOUNT (mount devfs on /dev at boot time)
+===============================================================================
+Changes for patch v24
+
+- Switched from CONFIG_KERNELD to CONFIG_KMOD: module autoloading
+ should now work again
+
+- Hide entries which are manually unlinked
+
+- Always invalidate devfs dentry cache when registering entries
+
+- Support removal of devfs directories via rmdir(2)
+
+- Ensure directories created by <devfs_mk_dir> are visible
+
+- Default no access for "other" for floppy device
+===============================================================================
+Changes for patch v25
+
+- Updates to CREDITS file and minor IDE numbering change
+ Thanks to Andrzej Krzysztofowicz <ankry@green.mif.pg.gda.pl>
+
+- Invalidate devfs dentry cache when making directories
+
+- Invalidate devfs dentry cache when removing entries
+
+- More informative message if root FS mount fails when devfs
+ configured
+
+- Fixed persistence bug with fifos
+===============================================================================
+Changes for patch v26
+
+- ported to kernel 2.1.97
+
+- Changed serial directory from "/dev/serial" to "/dev/tts" and
+ "/dev/consoles" to "/dev/vc" to be more friendly to new procps
+===============================================================================
+Changes for patch v27
+
+- Added support for IDE4 and IDE5
+ Thanks to Andrzej Krzysztofowicz <ankry@green.mif.pg.gda.pl>
+
+- Documented "scsihosts=" boot parameter
+
+- Print process command when debugging kerneld/kmod
+
+- Added debugging for register/unregister/change operations
+
+- Added "devfs=" boot options
+
+- Hide unregistered entries by default
+===============================================================================
+Changes for patch v28
+
+- No longer lock/unlock superblock in <devfs_put_super> (cope with
+ recent VFS interface change)
+
+- Do not automatically change ownership/protection of /dev/tty
+
+- Drop negative dentries when they are released
+
+- Manage dcache more efficiently
+===============================================================================
+Changes for patch v29
+
+- Added DEVFS_FL_AUTO_DEVNUM flag
+===============================================================================
+Changes for patch v30
+
+- No longer set unnecessary methods
+
+- Ported to kernel 2.1.99-pre3
+===============================================================================
+Changes for patch v31
+
+- Added PID display to <call_kerneld> debugging message
+
+- Added "diread" and "diwrite" options
+
+- Ported to kernel 2.1.102
+
+- Fixed persistence problem with permissions
+===============================================================================
+Changes for patch v32
+
+- Fixed devfs support in drivers/block/md.c
+===============================================================================
+Changes for patch v33
+
+- Support legacy device nodes
+
+- Fixed bug where recreated inodes were hidden
+
+- New IDE naming scheme: everything is under /dev/ide
+===============================================================================
+Changes for patch v34
+
+- Improved debugging in <get_vfs_inode>
+
+- Prevent duplicate calls to <devfs_mk_dir> in SCSI layer
+
+- No longer free old dentries in <devfs_mk_dir>
+
+- Free all dentries for a given entry when deleting inodes
+===============================================================================
+Changes for patch v35
+
+- Ported to kernel 2.1.105 (sound driver changes)
+===============================================================================
+Changes for patch v36
+
+- Fixed sound driver port
+===============================================================================
+Changes for patch v37
+
+- Minor documentation tweaks
+===============================================================================
+Changes for patch v38
+
+- More documentation tweaks
+
+- Fix for sound driver port
+
+- Removed ttyname-patch (grab libc 5.4.44 instead)
+
+- Ported to kernel 2.1.107-pre2 (loop driver fix)
+===============================================================================
+Changes for patch v39
+
+- Ported to kernel 2.1.107 (hd.c hunk broke due to spelling "fixes"). Sigh
+
+- Removed many #ifdef's, replaced with trickery in include/devfs_fs.h
+===============================================================================
+Changes for patch v40
+
+- Fix for sound driver port
+
+- Limit auto-device numbering to majors 128 to 239
+===============================================================================
+Changes for patch v41
+
+- Fixed inode times persistence problem
+===============================================================================
+Changes for patch v42
+
+- Ported to kernel 2.1.108 (drivers/scsi/hosts.c hunk broke)
+===============================================================================
+Changes for patch v43
+
+- Fixed spelling in <devfs_readlink> debug
+
+- Fixed bug in <devfs_setup> parsing "dilookup"
+
+- More #ifdef's removed
+
+- Supported Sparc keyboard (/dev/kbd)
+
+- Supported DSP56001 digital signal processor (/dev/dsp56k)
+
+- Supported Apple Desktop Bus (/dev/adb)
+
+- Supported Coda network file system (/dev/cfs*)
+===============================================================================
+Changes for patch v44
+
+- Fixed devfs inode leak when manually recreating inodes
+
+- Fixed permission persistence problem when recreating inodes
+===============================================================================
+Changes for patch v45
+
+- Ported to kernel 2.1.110
+===============================================================================
+Changes for patch v46
+
+- Ported to kernel 2.1.112-pre1
+
+- Removed harmless "unused variable" compiler warning
+
+- Fixed modes for manually recreated device nodes
+===============================================================================
+Changes for patch v47
+
+- Added NULL devfs inode warning in <devfs_read_inode>
+
+- Force all inode nlink values to 1
+===============================================================================
+Changes for patch v48
+
+- Added "dimknod" option
+
+- Set inode nlink to 0 when freeing dentries
+
+- Added support for virtual console capture devices (/dev/vcs*)
+ Thanks to Dennis Hou <smilax@mindmeld.yi.org>
+
+- Fixed modes for manually recreated symlinks
+===============================================================================
+Changes for patch v49
+
+- Ported to kernel 2.1.113
+===============================================================================
+Changes for patch v50
+
+- Fixed bugs in recreated directories and symlinks
+===============================================================================
+Changes for patch v51
+
+- Improved robustness of rc.devfs script
+ Thanks to Roderich Schupp <rsch@experteam.de>
+
+- Fixed bugs in recreated device nodes
+
+- Fixed bug in currently unused <devfs_get_handle_from_inode>
+
+- Defined new <devfs_handle_t> type
+
+- Improved debugging when getting entries
+
+- Fixed bug where directories could be emptied
+
+- Ported to kernel 2.1.115
+===============================================================================
+Changes for patch v52
+
+- Replaced dummy .epoch inode with .devfsd character device
+
+- Modified rc.devfs to take acount of above change
+
+- Removed spurious driver warning messages when CONFIG_DEVFS_FS=n
+
+- Implemented devfsd protocol revision 0
+===============================================================================
+Changes for patch v53
+
+- Ported to kernel 2.1.116 (kmod change broke hunk)
+
+- Updated Documentation/Configure.help
+
+- Test and tty pattern patch for rc.devfs script
+ Thanks to Roderich Schupp <rsch@experteam.de>
+
+- Added soothing message to warning in <devfs_d_iput>
+===============================================================================
+Changes for patch v54
+
+- Ported to kernel 2.1.117
+
+- Fixed default permissions in sound driver
+
+- Added support for frame buffer devices (/dev/fb*)
+===============================================================================
+Changes for patch v55
+
+- Ported to kernel 2.1.119
+
+- Use GCC extensions for structure initialisations
+
+- Implemented async open notification
+
+- Incremented devfsd protocol revision to 1
+===============================================================================
+Changes for patch v56
+
+- Ported to kernel 2.1.120-pre3
+
+- Moved async open notification to end of <devfs_open>
+===============================================================================
+Changes for patch v57
+
+- Ported to kernel 2.1.121
+
+- Prepended "/dev/" to module load request
+
+- Renamed <call_kerneld> to <call_kmod>
+
+- Created sample modules.conf file
+===============================================================================
+Changes for patch v58
+
+- Fixed typo "AYSNC" -> "ASYNC"
+===============================================================================
+Changes for patch v59
+
+- Added open flag for files
+===============================================================================
+Changes for patch v60
+
+- Ported to kernel 2.1.123-pre2
+===============================================================================
+Changes for patch v61
+
+- Set i_blocks=0 and i_blksize=1024 in <devfs_read_inode>
+===============================================================================
+Changes for patch v62
+
+- Ported to kernel 2.1.123
+===============================================================================
+Changes for patch v63
+
+- Ported to kernel 2.1.124-pre2
+===============================================================================
+Changes for patch v64
+
+- Fixed Unix98 pty support
+
+- Increased buffer size in <get_partition_list> to avoid crash and
+ burn
+===============================================================================
+Changes for patch v65
+
+- More Unix98 pty support fixes
+
+- Added test for empty <<name>> in <devfs_find_handle>
+
+- Renamed <generate_path> to <devfs_generate_path> and published
+
+- Created /dev/root symlink
+ Thanks to Roderich Schupp <rsch@ExperTeam.de>
+ with further modifications by me
+===============================================================================
+Changes for patch v66
+
+- Yet more Unix98 pty support fixes (now tested)
+
+- Created <devfs_get_fops>
+
+- Support media change checks when CONFIG_DEVFS_ONLY=y
+
+- Abolished Unix98-style PTY names for old PTY devices
+===============================================================================
+Changes for patch v67
+
+- Added inline declaration for dummy <devfs_generate_path>
+
+- Removed spurious "unable to register... in devfs" messages when
+ CONFIG_DEVFS_FS=n
+
+- Fixed misc. devices when CONFIG_DEVFS_FS=n
+
+- Limit auto-device numbering to majors 144 to 239
+===============================================================================
+Changes for patch v68
+
+- Hide unopened virtual consoles from directory listings
+
+- Added support for video capture devices
+
+- Ported to kernel 2.1.125
+===============================================================================
+Changes for patch v69
+
+- Fix for CONFIG_VT=n
+===============================================================================
+Changes for patch v70
+
+- Added support for non-OSS/Free sound cards
+===============================================================================
+Changes for patch v71
+
+- Ported to kernel 2.1.126-pre2
+===============================================================================
+Changes for patch v72
+
+- #ifdef's for CONFIG_DEVFS_DISABLE_OLD_NAMES removed
+===============================================================================
+Changes for patch v73
+
+- CONFIG_DEVFS_DISABLE_OLD_NAMES replaced with "nocompat" boot option
+
+- CONFIG_DEVFS_BOOT_OPTIONS removed: boot options always available
+===============================================================================
+Changes for patch v74
+
+- Removed CONFIG_DEVFS_MOUNT and "mount" boot option and replaced with
+ "nomount" boot option
+
+- Documentation updates
+
+- Updated sample modules.conf
+===============================================================================
+Changes for patch v75
+
+- Updated sample modules.conf
+
+- Remount devfs after initrd finishes
+
+- Ported to kernel 2.1.127
+
+- Added support for ISDN
+ Thanks to Christophe Leroy <christophe.leroy5@capway.com>
+===============================================================================
+Changes for patch v76
+
+- Updated an email address in ChangeLog
+
+- CONFIG_DEVFS_ONLY replaced with "only" boot option
+===============================================================================
+Changes for patch v77
+
+- Added DEVFS_FL_REMOVABLE flag
+
+- Check for disc change when listing directories with removable media
+ devices
+
+- Use DEVFS_FL_REMOVABLE in sd.c
+
+- Ported to kernel 2.1.128
+===============================================================================
+Changes for patch v78
+
+- Only call <scan_dir_for_removable> on first call to <devfs_readdir>
+
+- Ported to kernel 2.1.129-pre5
+
+- ISDN support improvements
+ Thanks to Christophe Leroy <christophe.leroy5@capway.com>
+===============================================================================
+Changes for patch v79
+
+- Ported to kernel 2.1.130
+
+- Renamed miscdevice "apm" to "apm_bios" to be consistent with
+ devices.txt
+===============================================================================
+Changes for patch v80
+
+- Ported to kernel 2.1.131
+
+- Updated <devfs_rmdir> for VFS change in 2.1.131
+===============================================================================
+Changes for patch v81
+
+- Fixed permissions on /dev/ptmx
+===============================================================================
+Changes for patch v82
+
+- Ported to kernel 2.1.132-pre4
+
+- Changed initial permissions on /dev/pts/*
+
+- Created <devfs_mk_compat>
+
+- Added "symlinks" boot option
+
+- Changed devfs_register_blkdev() back to register_blkdev() for IDE
+
+- Check for partitions on removable media in <devfs_lookup>
+===============================================================================
+Changes for patch v83
+
+- Fixed support for ramdisc when using string-based root FS name
+
+- Ported to kernel 2.2.0-pre1
+===============================================================================
+Changes for patch v84
+
+- Ported to kernel 2.2.0-pre7
+===============================================================================
+Changes for patch v85
+
+- Compile fixes for driver/sound/sound_common.c (non-module) and
+ drivers/isdn/isdn_common.c
+ Thanks to Christophe Leroy <christophe.leroy5@capway.com>
+
+- Added support for registering regular files
+
+- Created <devfs_set_file_size>
+
+- Added /dev/cpu/mtrr as an alternative interface to /proc/mtrr
+
+- Update devfs inodes from entries if not changed through FS
+===============================================================================
+Changes for patch v86
+
+- Ported to kernel 2.2.0-pre9
+===============================================================================
+Changes for patch v87
+
+- Fixed bug when mounting non-devfs devices in a devfs
+===============================================================================
+Changes for patch v88
+
+- Fixed <devfs_fill_file> to only initialise temporary inodes
+
+- Trap for NULL fops in <devfs_register>
+
+- Return -ENODEV in <devfs_fill_file> for non-driver inodes
+
+- Fixed bug when unswapping non-devfs devices in a devfs
+===============================================================================
+Changes for patch v89
+
+- Switched to C data types in include/linux/devfs_fs.h
+
+- Switched from PATH_MAX to DEVFS_PATHLEN
+
+- Updated Documentation/filesystems/devfs/modules.conf to take account
+ of reverse scanning (!) by modprobe
+
+- Ported to kernel 2.2.0
+===============================================================================
+Changes for patch v90
+
+- CONFIG_DEVFS_DISABLE_OLD_TTY_NAMES replaced with "nottycompat" boot
+ option
+
+- CONFIG_DEVFS_TTY_COMPAT removed: existing "symlinks" boot option now
+ controls this. This means you must have libc 5.4.44 or later, or a
+ recent version of libc 6 if you use the "symlinks" option
+===============================================================================
+Changes for patch v91
+
+- Switch from <devfs_mk_symlink> to <devfs_mk_compat> in
+ drivers/char/vc_screen.c to fix problems with Midnight Commander
+===============================================================================
+Changes for patch v92
+
+- Ported to kernel 2.2.2-pre5
+===============================================================================
+Changes for patch v93
+
+- Modified <sd_name> in drivers/scsi/sd.c to cope with devices that
+ don't exist (which happens with new RAID autostart code printk()s)
+===============================================================================
+Changes for patch v94
+
+- Fixed bug in joystick driver: only first joystick was registered
+===============================================================================
+Changes for patch v95
+
+- Fixed another bug in joystick driver
+
+- Fixed <devfsd_read> to not overrun event buffer
+===============================================================================
+Changes for patch v96
+
+- Ported to kernel 2.2.5-2
+
+- Created <devfs_auto_unregister>
+
+- Fixed bugs: compatibility entries were not unregistered for:
+ loop driver
+ floppy driver
+ RAMDISC driver
+ IDE tape driver
+ SCSI CD-ROM driver
+ SCSI HDD driver
+===============================================================================
+Changes for patch v97
+
+- Fixed bugs: compatibility entries were not unregistered for:
+ ALSA sound driver
+ partitions in generic disc driver
+
+- Don't return unregistred entries in <devfs_find_handle>
+
+- Panic in <devfs_unregister> if entry unregistered
+
+- Don't panic in <devfs_auto_unregister> for duplicates
+===============================================================================
+Changes for patch v98
+
+- Don't unregister already unregistered entries in <unregister>
+
+- Register entry in <sd_detect>
+
+- Unregister entry in <sd_detach>
+
+- Changed to <devfs_*register_chrdev> in drivers/char/tty_io.c
+
+- Ported to kernel 2.2.7
+===============================================================================
+Changes for patch v99
+
+- Ported to kernel 2.2.8
+
+- Fixed bug in drivers/scsi/sd.c when >16 SCSI discs
+
+- Disable warning messages when unable to read partition table for
+ removable media
+===============================================================================
+Changes for patch v100
+
+- Ported to kernel 2.3.1-pre5
+
+- Added "oops-on-panic" boot option
+
+- Improved debugging in <devfs_register> and <devfs_unregister>
+
+- Register entry in <sr_detect>
+
+- Unregister entry in <sr_detach>
+
+- Register entry in <sg_detect>
+
+- Unregister entry in <sg_detach>
+
+- Added support for ALSA drivers
+===============================================================================
+Changes for patch v101
+
+- Ported to kernel 2.3.2
+===============================================================================
+Changes for patch v102
+
+- Update serial driver to register PCMCIA entries
+ Thanks to Roch-Alexandre Nomine-Beguin <roch@samarkand.infini.fr>
+
+- Updated an email address in ChangeLog
+
+- Hide virtual console capture entries from directory listings when
+ corresponding console device is not open
+===============================================================================
+Changes for patch v103
+
+- Ported to kernel 2.3.3
+===============================================================================
+Changes for patch v104
+
+- Added documentation for some functions
+
+- Added "doc" target to fs/devfs/Makefile
+
+- Added "v4l" directory for video4linux devices
+
+- Replaced call to <devfs_unregister> in <sd_detach> with call to
+ <devfs_register_partitions>
+
+- Moved registration for sr and sg drivers from detect() to attach()
+ methods
+
+- Register entries in <st_attach> and unregister in <st_detach>
+
+- Work around IDE driver treating CD-ROM as gendisk
+
+- Use <sed> instead of <tr> in rc.devfs
+
+- Updated ToDo list
+
+- Removed "oops-on-panic" boot option: now always Oops
+===============================================================================
+Changes for patch v105
+
+- Unregister SCSI host from <scsi_host_no_list> in <scsi_unregister>
+ Thanks to Zoltán Böszörményi <zboszor@mail.externet.hu>
+
+- Don't save /dev/log in rc.devfs
+
+- Ported to kernel 2.3.4-pre1
+===============================================================================
+Changes for patch v106
+
+- Fixed silly typo in drivers/scsi/st.c
+
+- Improved debugging in <devfs_register>
+===============================================================================
+Changes for patch v107
+
+- Added "diunlink" and "nokmod" boot options
+
+- Removed superfluous warning message in <devfs_d_iput>
+===============================================================================
+Changes for patch v108
+
+- Remove entries when unloading sound module
+===============================================================================
+Changes for patch v109
+
+- Ported to kernel 2.3.6-pre2
+===============================================================================
+Changes for patch v110
+
+- Took account of change to <d_alloc_root>
+===============================================================================
+Changes for patch v111
+
+- Created separate event queue for each mounted devfs
+
+- Removed <devfs_invalidate_dcache>
+
+- Created new ioctl()s for devfsd
+
+- Incremented devfsd protocol revision to 3
+
+- Fixed bug when re-creating directories: contents were lost
+
+- Block access to inodes until devfsd updates permissions
+===============================================================================
+Changes for patch v112
+
+- Modified patch so it applies against 2.3.5 and 2.3.6
+
+- Updated an email address in ChangeLog
+
+- Do not automatically change ownership/protection of /dev/tty<n>
+
+- Updated sample modules.conf
+
+- Switched to sending process uid/gid to devfsd
+
+- Renamed <call_kmod> to <try_modload>
+
+- Added DEVFSD_NOTIFY_LOOKUP event
+
+- Added DEVFSD_NOTIFY_CHANGE event
+
+- Added DEVFSD_NOTIFY_CREATE event
+
+- Incremented devfsd protocol revision to 4
+
+- Moved kernel-specific stuff to include/linux/devfs_fs_kernel.h
+===============================================================================
+Changes for patch v113
+
+- Ported to kernel 2.3.9
+
+- Restricted permissions on some block devices
+===============================================================================
+Changes for patch v114
+
+- Added support for /dev/netlink
+ Thanks to Dennis Hou <smilax@mindmeld.yi.org>
+
+- Return EISDIR rather than EINVAL for read(2) on directories
+
+- Ported to kernel 2.3.10
+===============================================================================
+Changes for patch v115
+
+- Added support for all remaining character devices
+ Thanks to Dennis Hou <smilax@mindmeld.yi.org>
+
+- Cleaned up netlink support
+===============================================================================
+Changes for patch v116
+
+- Added support for /dev/parport%d
+ Thanks to Tim Waugh <tim@cyberelk.demon.co.uk>
+
+- Fixed parallel port ATAPI tape driver
+
+- Fixed Atari SLM laser printer driver
+===============================================================================
+Changes for patch v117
+
+- Added support for COSA card
+ Thanks to Dennis Hou <smilax@mindmeld.yi.org>
+
+- Fixed drivers/char/ppdev.c: missing #include <linux/init.h>
+
+- Fixed drivers/char/ftape/zftape/zftape-init.c
+ Thanks to Vladimir Popov <mashgrad@usa.net>
+===============================================================================
+Changes for patch v118
+
+- Ported to kernel 2.3.15-pre3
+
+- Fixed bug in loop driver
+
+- Unregister /dev/lp%d entries in drivers/char/lp.c
+ Thanks to Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+===============================================================================
+Changes for patch v119
+
+- Ported to kernel 2.3.16
+===============================================================================
+Changes for patch v120
+
+- Fixed bug in drivers/scsi/scsi.c
+
+- Added /dev/ppp
+ Thanks to Dennis Hou <smilax@mindmeld.yi.org>
+
+- Ported to kernel 2.3.17
+===============================================================================
+Changes for patch v121
+
+- Fixed bug in drivers/block/loop.c
+
+- Ported to kernel 2.3.18
+===============================================================================
+Changes for patch v122
+
+- Ported to kernel 2.3.19
+===============================================================================
+Changes for patch v123
+
+- Ported to kernel 2.3.20
+===============================================================================
+Changes for patch v124
+
+- Ported to kernel 2.3.21
+===============================================================================
+Changes for patch v125
+
+- Created <devfs_get_info>, <devfs_set_info>,
+ <devfs_get_first_child> and <devfs_get_next_sibling>
+ Added <<dir>> parameter to <devfs_register>, <devfs_mk_compat>,
+ <devfs_mk_dir> and <devfs_find_handle>
+ Work sponsored by SGI
+
+- Fixed apparent bug in COSA driver
+
+- Re-instated "scsihosts=" boot option
+===============================================================================
+Changes for patch v126
+
+- Always create /dev/pts if CONFIG_UNIX98_PTYS=y
+
+- Fixed call to <devfs_mk_dir> in drivers/block/ide-disk.c
+ Thanks to Dennis Hou <smilax@mindmeld.yi.org>
+
+- Allow multiple unregistrations
+
+- Created /dev/scsi hierarchy
+ Work sponsored by SGI
+===============================================================================
+Changes for patch v127
+
+Work sponsored by SGI
+
+- No longer disable devpts if devfs enabled (caveat emptor)
+
+- Added flags array to struct gendisk and removed code from
+ drivers/scsi/sd.c
+
+- Created /dev/discs hierarchy
+===============================================================================
+Changes for patch v128
+
+Work sponsored by SGI
+
+- Created /dev/cdroms hierarchy
+===============================================================================
+Changes for patch v129
+
+Work sponsored by SGI
+
+- Removed compatibility entries for sound devices
+
+- Removed compatibility entries for printer devices
+
+- Removed compatibility entries for video4linux devices
+
+- Removed compatibility entries for parallel port devices
+
+- Removed compatibility entries for frame buffer devices
+===============================================================================
+Changes for patch v130
+
+Work sponsored by SGI
+
+- Added major and minor number to devfsd protocol
+
+- Incremented devfsd protocol revision to 5
+
+- Removed compatibility entries for SoundBlaster CD-ROMs
+
+- Removed compatibility entries for netlink devices
+
+- Removed compatibility entries for SCSI generic devices
+
+- Removed compatibility entries for SCSI tape devices
+===============================================================================
+Changes for patch v131
+
+Work sponsored by SGI
+
+- Support info pointer for all devfs entry types
+
+- Added <<info>> parameter to <devfs_mk_dir> and <devfs_mk_symlink>
+
+- Removed /dev/st hierarchy
+
+- Removed /dev/sg hierarchy
+
+- Removed compatibility entries for loop devices
+
+- Removed compatibility entries for IDE tape devices
+
+- Removed compatibility entries for SCSI CD-ROMs
+
+- Removed /dev/sr hierarchy
+===============================================================================
+Changes for patch v132
+
+Work sponsored by SGI
+
+- Removed compatibility entries for floppy devices
+
+- Removed compatibility entries for RAMDISCs
+
+- Removed compatibility entries for meta-devices
+
+- Removed compatibility entries for SCSI discs
+
+- Created <devfs_make_root>
+
+- Removed /dev/sd hierarchy
+
+- Support "../" when searching devfs namespace
+
+- Created /dev/ide/host* hierarchy
+
+- Supported IDE hard discs in /dev/ide/host* hierarchy
+
+- Removed compatibility entries for IDE discs
+
+- Removed /dev/ide/hd hierarchy
+
+- Supported IDE CD-ROMs in /dev/ide/host* hierarchy
+
+- Removed compatibility entries for IDE CD-ROMs
+
+- Removed /dev/ide/cd hierarchy
+===============================================================================
+Changes for patch v133
+
+Work sponsored by SGI
+
+- Created <devfs_get_unregister_slave>
+
+- Fixed bug in fs/partitions/check.c when rescanning
+===============================================================================
+Changes for patch v134
+
+Work sponsored by SGI
+
+- Removed /dev/sd, /dev/sr, /dev/st and /dev/sg directories
+
+- Removed /dev/ide/hd directory
+
+- Exported <devfs_get_parent>
+
+- Created <devfs_register_tape> and /dev/tapes hierarchy
+
+- Removed /dev/ide/mt hierarchy
+
+- Removed /dev/ide/fd hierarchy
+
+- Ported to kernel 2.3.25
+===============================================================================
+Changes for patch v135
+
+Work sponsored by SGI
+
+- Removed compatibility entries for virtual console capture devices
+
+- Removed unused <devfs_set_symlink_destination>
+
+- Removed compatibility entries for serial devices
+
+- Removed compatibility entries for console devices
+
+- Do not hide entries from devfsd or children
+
+- Removed DEVFS_FL_TTY_COMPAT flag
+
+- Removed "nottycompat" boot option
+
+- Removed <devfs_mk_compat>
+===============================================================================
+Changes for patch v136
+
+Work sponsored by SGI
+
+- Moved BSD pty devices to /dev/pty
+
+- Added DEVFS_FL_WAIT flag
+===============================================================================
+Changes for patch v137
+
+Work sponsored by SGI
+
+- Really fixed bug in fs/partitions/check.c when rescanning
+
+- Support new "disc" naming scheme in <get_removable_partition>
+
+- Allow NULL fops in <devfs_register>
+
+- Removed redundant name functions in SCSI disc and IDE drivers
+===============================================================================
+Changes for patch v138
+
+Work sponsored by SGI
+
+- Fixed old bugs in drivers/block/paride/pt.c, drivers/char/tpqic02.c,
+ drivers/net/wan/cosa.c and drivers/scsi/scsi.c
+ Thanks to Sergey Kubushin <ksi@ksi-linux.com>
+
+- Fall back to major table if NULL fops given to <devfs_register>
+===============================================================================
+Changes for patch v139
+
+Work sponsored by SGI
+
+- Corrected and moved <get_blkfops> and <get_chrfops> declarations
+ from arch/alpha/kernel/osf_sys.c to include/linux/fs.h
+
+- Removed name function from struct gendisk
+
+- Updated devfs FAQ
+===============================================================================
+Changes for patch v140
+
+Work sponsored by SGI
+
+- Ported to kernel 2.3.27
+===============================================================================
+Changes for patch v141
+
+Work sponsored by SGI
+
+- Bug fix in arch/m68k/atari/joystick.c
+
+- Moved ISDN and capi devices to /dev/isdn
+===============================================================================
+Changes for patch v142
+
+Work sponsored by SGI
+
+- Bug fix in drivers/block/ide-probe.c (patch confusion)
+===============================================================================
+Changes for patch v143
+
+Work sponsored by SGI
+
+- Bug fix in drivers/block/blkpg.c:partition_name()
+===============================================================================
+Changes for patch v144
+
+Work sponsored by SGI
+
+- Ported to kernel 2.3.29
+
+- Removed calls to <devfs_register> from cdu31a, cm206, mcd and mcdx
+ CD-ROM drivers: generic driver handles this now
+
+- Moved joystick devices to /dev/joysticks
+===============================================================================
+Changes for patch v145
+
+Work sponsored by SGI
+
+- Ported to kernel 2.3.30-pre3
+
+- Register whole-disc entry even for invalid partition tables
+
+- Fixed bug in mounting root FS when initrd enabled
+
+- Fixed device entry leak with IDE CD-ROMs
+
+- Fixed compile problem with drivers/isdn/isdn_common.c
+
+- Moved COSA devices to /dev/cosa
+
+- Support fifos when unregistering
+
+- Created <devfs_register_series> and used in many drivers
+
+- Moved Coda devices to /dev/coda
+
+- Moved parallel port IDE tapes to /dev/pt
+
+- Moved parallel port IDE generic devices to /dev/pg
+===============================================================================
+Changes for patch v146
+
+Work sponsored by SGI
+
+- Removed obsolete DEVFS_FL_COMPAT and DEVFS_FL_TOLERANT flags
+
+- Fixed compile problem with fs/coda/psdev.c
+
+- Reinstate change to <devfs_register_blkdev> in
+ drivers/block/ide-probe.c now that fs/isofs/inode.c is fixed
+
+- Switched to <devfs_register_blkdev> in drivers/block/floppy.c,
+ drivers/scsi/sr.c and drivers/block/md.c
+
+- Moved DAC960 devices to /dev/dac960
+===============================================================================
+Changes for patch v147
+
+Work sponsored by SGI
+
+- Ported to kernel 2.3.32-pre4
+===============================================================================
+Changes for patch v148
+
+Work sponsored by SGI
+
+- Removed kmod support: use devfsd instead
+
+- Moved miscellaneous character devices to /dev/misc
+===============================================================================
+Changes for patch v149
+
+Work sponsored by SGI
+
+- Ensure include/linux/joystick.h is OK for user-space
+
+- Improved debugging in <get_vfs_inode>
+
+- Ensure dentries created by devfsd will be cleaned up
+===============================================================================
+Changes for patch v150
+
+Work sponsored by SGI
+
+- Ported to kernel 2.3.34
+===============================================================================
+Changes for patch v151
+
+Work sponsored by SGI
+
+- Ported to kernel 2.3.35-pre1
+
+- Created <devfs_get_name>
+===============================================================================
+Changes for patch v152
+
+Work sponsored by SGI
+
+- Updated sample modules.conf
+
+- Ported to kernel 2.3.36-pre1
+===============================================================================
+Changes for patch v153
+
+Work sponsored by SGI
+
+- Ported to kernel 2.3.42
+
+- Removed <devfs_fill_file>
+===============================================================================
+Changes for patch v154
+
+Work sponsored by SGI
+
+- Took account of device number changes for /dev/fb*
+===============================================================================
+Changes for patch v155
+
+Work sponsored by SGI
+
+- Ported to kernel 2.3.43-pre8
+
+- Moved /dev/tty0 to /dev/vc/0
+
+- Moved sequence number formatting from <_tty_make_name> to drivers
+===============================================================================
+Changes for patch v156
+
+Work sponsored by SGI
+
+- Fixed breakage in drivers/scsi/sd.c due to recent SCSI changes
+===============================================================================
+Changes for patch v157
+
+Work sponsored by SGI
+
+- Ported to kernel 2.3.45
+===============================================================================
+Changes for patch v158
+
+Work sponsored by SGI
+
+- Ported to kernel 2.3.46-pre2
+===============================================================================
+Changes for patch v159
+
+Work sponsored by SGI
+
+- Fixed drivers/block/md.c
+ Thanks to Mike Galbraith <mikeg@weiden.de>
+
+- Documentation fixes
+
+- Moved device registration from <lp_init> to <lp_register>
+ Thanks to Tim Waugh <twaugh@redhat.com>
+===============================================================================
+Changes for patch v160
+
+Work sponsored by SGI
+
+- Fixed drivers/char/joystick/joystick.c
+ Thanks to Vojtech Pavlik <vojtech@suse.cz>
+
+- Documentation updates
+
+- Fixed arch/i386/kernel/mtrr.c if procfs and devfs not enabled
+
+- Fixed drivers/char/stallion.c
diff --git a/Documentation/filesystems/devfs/README b/Documentation/filesystems/devfs/README
new file mode 100644
index 000000000..b3ab9ffa6
--- /dev/null
+++ b/Documentation/filesystems/devfs/README
@@ -0,0 +1,884 @@
+/* -*- auto-fill -*- */
+
+ Device File System (devfs) Overview
+
+ Richard Gooch <rgooch@atnf.csiro.au>
+
+ 11-NOV-1999
+
+
+Conventions used in this document <section>
+=================================
+
+Each section in this document will have the string "<section>" at the
+right-hand side of the section title. Each subsection will have
+"<subsection>" at the right-hand side. These strings are meant to make
+it easier to search through the document.
+
+NOTE that the master copy of this document is available online at:
+http://www.atnf.csiro.au/~rgooch/linux/docs/devfs.txt
+
+There is also an optional daemon that may be used with devfs. You can
+find out more about it at:
+http://www.atnf.csiro.au/~rgooch/linux/
+
+
+What is it? <section>
+===========
+
+Devfs is an alternative to "real" character and block special devices
+on your root filesystem. Kernel device drivers can register devices by
+name rather than major and minor numbers. These devices will appear in
+the devfs automatically, with whatever default ownership and
+protection the driver specified.
+
+NOTE that devfs is entirely optional. If you prefer the old disc-based
+device nodes, then simply leave CONFIG_DEVFS_FS=n (the default). In
+this case, nothing will change.
+ALSO NOTE that if you do enable devfs, the defaults are such that full
+compatibility is maintained with the old devices names.
+
+There are two aspects to devfs: one is the underlying device
+namespace, which is a namespace just like any mounted filesystem. The
+other aspect is the filesystem code which provides a view of the
+device namespace. The reason I make a distinction is because the devfs
+can be mounted many times, with each mount showing the same device
+namespace. Changes made are global to all mounted devfs filesystems.
+Also, because the devfs namespace exists without any devfs mounts, you
+can easily mount the root filesystem by referring to an entry in the
+devfs namespace.
+
+The cost of devfs is a small increase in kernel code size and memory
+usage. On a typical machine, the cost is under 0.2 percent. On a
+modest system with 64 MBytes of RAM, the cost is under 0.1 percent.
+The accusations of "bloatware" levelled at devfs are not justified.
+
+
+Why do it? <section>
+==========
+
+There are several problems that devfs addresses. Some of these
+problems are more serious than others (depending on your point of
+view), and some can be solved without devfs. However, the totality of
+these problems really calls out for devfs.
+
+The choice is a patchwork of inefficient user space solutions, which
+are complex and likely to be fragile, or to use a simple and efficient
+devfs which is robust.
+
+Major&minor allocation <subsection>
+----------------------
+The existing scheme requires the allocation of major and minor device
+numbers for each and every device. This means that a central
+co-ordinating authority is required to issue these device numbers
+(unless you're developing a "private" device driver), in order to
+preserve uniqueness. Devfs shifts the burden to a namespace. This may
+not seem like a huge benefit, but actually it is. Since driver authors
+will naturally choose a device name which reflects the functionality
+of the device, there is far less potential for namespace conflict.
+Solving this requires a kernel change.
+
+/dev management <subsection>
+---------------
+Because you currently access devices through device nodes, these must
+be created by the system administrator. For standard devices you can
+usually find a MAKEDEV programme which creates all these (hundreds!)
+of nodes. This means that changes in the kernel must be reflected by
+changes in the MAKEDEV programme, or else the system administrator
+creates device nodes by hand.
+The basic problem is that there are two separate databases of
+major and minor numbers. One is in the kernel and one is in /dev (or
+in a MAKEDEV programme, if you want to look at it that way). This is
+duplication of information, which is not good practice.
+Solving this requires a kernel change.
+
+/dev growth <subsection>
+-----------
+A typical /dev has over 1200 nodes! Most of these devices simply don't
+exist because the hardware is not available. A huge /dev increases the
+time to access devices (I'm just referring to the dentry lookup times
+and the time taken to read inodes off disc: the next subsection shows
+some more horrors).
+An example of how big /dev can grow is if we consider SCSI devices:
+host 6 bits (say up to 64 hosts on a really big machine)
+channel 4 bits (say up to 16 SCSI buses per host)
+id 4 bits
+lun 3 bits
+partition 6 bits
+TOTAL 23 bits
+This requires 8 Mega (1024*1024) inodes if we want to store all
+possible device nodes. Even if we scrap everything but id,partition
+and assume a single host adapter with a single SCSI bus and only one
+logical unit per SCSI target (id), that's still 10 bits or 1024
+inodes. Each VFS inode takes around 256 bytes (kernel 2.1.78), so
+that's 256 kBytes of inode storage on disc (assuming real inodes take
+a similar amount of space as VFS inodes). This is actually not so bad,
+because disc is cheap these days. Embedded systems would care about
+256 kBytes of /dev inodes, but you could argue that embedded systems
+would have hand-tuned /dev directories. I've had to do just that on my
+embedded systems, but I would rather just leave it to devfs.
+Another issue is the time taken to lookup an inode when first
+referenced. Not only does this take time in scanning through a list in
+memory, but also the seek times to read the inodes off disc.
+This could be solved in user-space using a clever programme which
+scanned the kernel logs and deleted /dev entries which are not
+available and created them when they were available. This programme
+would need to be run every time a new module was loaded, which would
+slow things down a lot.
+There is an existing programme called scsidev which will automatically
+create device nodes for SCSI devices. It can do this by scanning files
+in /proc/scsi. Unfortunately, to extend this idea to other device
+nodes would require would require significant modifications to
+existing drivers (so they too would provide information in
+/proc). This is a non-trivial change (I should know: devfs has had to
+do something similar). Once you go to this much effort, you may as
+well use devfs itself (which also provides this information).
+Furthermore, such a system would likely be implemented in an ad-hoc
+fashion, as different drivers will provide their information in
+different ways.
+Devfs is much cleaner, because it (natually) has a uniform mechanism
+to provide this information: the device nodes themselves!
+
+Node to driver file_operations translation <subsection>
+------------------------------------------
+There is an important difference between the way disc-based c&b nodes
+and devfs entries make the connection between an entry in /dev and the
+actual device driver.
+
+With the current 8 bit major and minor numbers the connection between
+disc-based c&b nodes and per-major drivers is done through a
+fixed-length table of 128 entries. The various filesystem types set
+the inode operations for c&b nodes to {chr,blk}dev_inode_operations,
+so when a device is opened a few quick levels of indirection bring us
+to the driver file_operations.
+
+For miscellaneous character devices a second step is required: there
+is a scan for the driver entry with the same minor number as the file
+that was opened, and the appropriate minor open method is called. This
+scanning is done *every time* you open a device node. Potentially, you
+may be searching through dozens of misc. entries before you find your
+open method. While not an enormous performance overhead, this does
+seem pointless.
+
+Linux *must* move beyond the 8 bit major and minor barrier,
+somehow. If we simply increase each to 16 bits, then the indexing
+scheme used for major driver lookup becomes untenable, because the
+major tables (one each for character and block devices) would need to
+be 64 k entries long (512 kBytes on x86, 1 MByte for 64 bit
+systems). So we would have to use a scheme like that used for
+miscellaneous character devices, which means the search time goes up
+linearly with the average number of major device drivers on your
+system. Not all "devices" are hardware, some are higher-level drivers
+like KGI, so you can get more "devices" without adding hardware
+You can improve this by creating an ordered (balanced:-)
+binary tree, in which case your search time becomes log(N).
+Alternatively, you can use hashing to speed up the search.
+But why do that search at all if you don't have to? Once again, it
+seems pointless.
+
+Note that the devfs doesn't use the major&minor system. For devfs
+entries, the connection is done when you lookup the /dev entry. When
+devfs_register() is called, an internal table is appended which has
+the entry name and the file_operations. If the dentry cache doesn't
+have the /dev entry already, this internal table is scanned to get the
+file_operations, and an inode is created. If the dentry cache already
+has the entry, there is *no lookup time* (other than the dentry scan
+itself, but we can't avoid that anyway, and besides Linux dentries
+cream other OS's which don't have them:-). Furthermore, the number of
+node entries in a devfs is only the number of available device
+entries, not the number of *conceivable* entries. Even if you remove
+unnecessary entries in a disc-based /dev, the number of conceivable
+entries remains the same: you just limit yourself in order to save
+space.
+Devfs provides a fast connection between a VFS node and the device
+driver, in a scalable way.
+
+/dev as a system administration tool <subsection>
+------------------------------------
+Right now /dev contains a list of conceivable devices, most of which I
+don't have. A devfs would only show those devices available on my
+system. This means that listing /dev would be a handy way of checking
+what devices were available.
+
+Major&minor size <subsection>
+----------------
+Existing major and minor numbers are limited to 8 bits each. This is
+now a limiting factor for some drivers, particularly the SCSI disc
+driver, which consumes a single major number. Only 16 discs are
+supported, and each disc may have only 15 partitions. Maybe this isn't
+a problem for you, but some of us are building huge Linux systems with
+disc arrays. With devfs an arbitrary pointer can be associated with
+each device entry, which can be used to give an effective 32 bit
+device identifier (i.e. that's like having a 32 bit minor
+number). Since this is private to the kernel, there are no C library
+compatibility which you would have with increasing major and minor
+number sizes. See the section on "Allocation of Device Numbers" for
+details on maintaining compatibility with userspace.
+Solving this requires a kernel change.
+
+Read-only root filesystem <subsection>
+------------------------
+Having your device nodes on the root filesystem means that you can't
+operate properly with a read-only root filesystem. This is because you
+want to change ownerships and protections of tty devices. Existing
+practice prevents you using a CD-ROM as your root filesystem for a
+*real* system. Sure, you can boot off a CD-ROM, but you can't change
+tty ownerships, so it's only good for installing.
+Also, you can't use a shared NFS root filesystem for a cluster of
+discless Linux machines (having tty ownerships changed on a common
+/dev is not good). Nor can you embed your root filesystem in a
+ROM-FS.
+You can get around this by creating a RAMDISC at boot time, making
+an ext2 filesystem in it, mounting it somewhere and copying the
+contents of /dev into it, then unmounting it and mounting it over
+/dev. A devfs is a cleaner way of solving this.
+
+Non-Unix root filesystem <subsection>
+------------------------
+Non-Unix filesystems (such as NTFS) can't be used for a root
+filesystem because they variously don't support character and block
+special files or symbolic links. You can't have a separate disc-based
+or RAMDISC-based filesystem mounted on /dev because you need device
+nodes before you can mount these. Devfs can be mounted without any
+device nodes. Devlinks won't work because symlinks aren't supported.
+An alternative solution is to use initrd to mount a RAMDISC initial
+root filesystem (which is populated with a minimal set of device
+nodes), and then construct a new /dev in another RAMDISC, and finally
+switch to your non-Unix root filesystem. This requires clever boot
+scripts and a fragile and conceptually complex boot procedure.
+Devfs solves this in a robust and conceptually simple way.
+
+PTY security <subsection>
+------------
+Current pseudo-tty (pty) devices are owned by root and read-writable
+by everyone. The user of a pty-pair cannot change
+ownership/protections without being suid-root.
+This could be solved with a secure user-space daemon which runs as
+root and does the actual creation of pty-pairs. Such a daemon would
+require modification to *every* programme that wants to use this new
+mechanism. It also slows down creation of pty-pairs.
+An alternative is to create a new open_pty() syscall which does much
+the same thing as the user-space daemon. Once again, this requires
+modifications to pty-handling programmes.
+The devfs solution allows a device driver to "tag" certain device
+files so that when an unopened device is opened, the ownerships are
+changed to the current euid and egid of the opening process, and the
+protections are changed to the default registered by the driver. When
+the device is closed ownership is set back to root and protections are
+set back to read-write for everybody. No programme need be changed.
+The devpts filesystem provides this auto-ownership feature for Unix98
+ptys. It doesn't support old-style pty devices, nor does it have all
+the other features of devfs.
+
+Intelligent device management <subsection>
+-----------------------------
+Devfs implements a simple yet powerful protocol for communication with
+a device management daemon (devfsd) which runs in user space. It is
+possible to send a message (either synchronously or asynchronously) to
+devfsd on any event, such as registration/unregistration of device
+entries, opening and closing devices, looking up inodes, scanning
+directories and more. This has many possibilities. Some of these are
+already implemented.
+See: http://www.atnf.csiro.au/~rgooch/linux/
+
+Device entry registration events can be used by devfsd to change
+permissions of newly-created device nodes. This is one mechanism to
+control device permissions.
+
+Device entry registration/unregistration events can be used to run
+programmes or scripts. This can be used to provide automatic mounting
+of filesystems when a new block device media is inserted into the
+drive.
+
+Asynchronous device open and close events can be used to implement
+clever permissions management. For example, the default permissions on
+/dev/dsp do not allow everybody to read from the device. This is
+sensible, as you don't want some remote user recording what you say at
+your console. However, the console user is also prevented from
+recording. This behaviour is not desirable. With asynchronous device
+open and close events, you can have devfsd run a programme or script
+when console devices are opened to change the ownerships for *other*
+device nodes (such as /dev/dsp). On closure, you can run a different
+script to restore permissions. An advantage of this scheme over
+modifying the C library tty handling is that this works even if your
+programme crashes (how many times have you seen the utmp database with
+lingering entries for non-existent logins?).
+
+Synchronous device open events can be used to perform intelligent
+device access protections. Before the device driver open() method is
+called, the daemon must first validate the open attempt, by running an
+external programme or script. This is far more flexible than access
+control lists, as access can be determined on the basis of other
+system conditions instead of just the UID and GID.
+
+Inode lookup events can be used to authenticate module autoload
+requests. Instead of using kmod directly, the event can be sent to
+devfsd which can implement an arbitrary authentication before loading
+the module itself.
+Inode lookup events can also be used to construct arbitrary
+namespaces, without having to resort to populating devfs with symlinks
+to devices that don't exist.
+
+Speculative Device Scanning <subsection>
+---------------------------
+Consider an application (like cdparanoia) that wants to find all
+CD-ROM devices on the system (SCSI, IDE and other types), whether or
+not their respective modules are loaded. The application must
+speculatively open certain device nodes (such as /dev/sr0 for the SCSI
+CD-ROMs) in order to make sure the module is loaded. This requires
+that all Linux distributions follow the standard device naming scheme
+(last time I looked RedHat did things differently). Devfs solves the
+naming problem.
+
+The same application also wants to see which devices are actually
+available on the system. With the existing system it needs to read the
+/dev directory and speculatively open each /dev/sr* device to
+determine if the device exists or not. With a large /dev this is an
+inefficient operation, especially if there are many /dev/sr* nodes. A
+solution like scsidev could reduce the number of /dev/sr* entries (but
+of course that also requires all that inefficient directory scanning).
+
+With devfs, the application can open the /dev/sr directory (which
+triggers the module autoloading if required), and proceed to read
+/dev/sr. Since only the available devices will have entries, there are
+no inefficencies in directory scanning or device openings.
+
+
+Who else does it? <section>
+=================
+
+FreeBSD-current now has a devfs implementation. Solaris 2 has a
+pseudo-devfs (something akin to scsidev but for all devices, with some
+unspecified kernel support). BeOS and Plan9 also have it. SGI's IRIX
+6.4 and above also have a device filesystem.
+
+While we shouldn't just automatically do something because others do
+it, we should not ignore the work of others either. FreeBSD has a lot
+of competent people working on it, so their opinion should not be
+blithely ignored.
+
+
+How it works <section>
+============
+
+Registering device entries <subsection>
+--------------------------
+For every entry (device node) in a devfs-based /dev a driver must call
+devfs_register(). This adds the name of the device entry, the
+file_operations structure pointer and a few other things to an
+internal table. Device entries may be added and removed at any
+time. When a device entry is registered, it automagically appears in
+any mounted devfs'.
+
+Inode lookup <subsection>
+------------
+When a lookup operation on an entry is performed and if there is no
+driver information for that entry devfs will attempt to call devfsd or
+kmod. If still no driver information can be found then a negative
+dentry is yielded and the next stage operation will be called by the
+VFS (such as create() or mknod() inode methods). If driver information
+can be found, an inode is created (if one does not exist already) and
+all is well.
+
+Manually creating device nodes <subsection>
+------------------------------
+The mknod() method allows you to create an ordinary named pipe in the
+devfs, or you can create a character or block special inode if one
+does not already exist. You may wish to create a character or block
+special inode so that you can set permissions and ownership. Later, if
+a device driver registers an entry with the same name, the
+permissions, ownership and times are retained. This is how you can set
+the protections on a device even before the driver is loaded. Once you
+create an inode it appears in the directory listing.
+
+Unregistering device entries <subsection>
+----------------------------
+A device driver calls devfs_unregister() to unregister an entry.
+
+Chroot() gaols <subsection>
+--------------
+The semantics of inode creation are different when the devfs is
+mounted with the "explicit" option. Now, when a device entry is
+registered, it will not appear until you use mknod() to create the
+device. It doesn't matter if you mknod() before or after the device is
+registered with devfs_register(). The purpose of this behaviour is to
+support chroot(2) gaols, where you want to mount a minimal devfs
+inside the gaol. Only the devices you specifically want to be
+available (through your mknod() setup) will be accessible.
+
+
+Persistence of ownership/permissions across reboots <section>
+===================================================
+
+If you don't use mknod(2) to create a device file, nor use chmod(2) or
+chown(2) to change the ownerships/permissions, the inode ctime will
+remain at 0 (the epoch, 12 am, 1-JAN-1970, GMT). Anything with a ctime
+later than this has had it's ownership/permissions changed. Hence, a
+simple script or programme may be used to tar up all changed inodes,
+prior to shutdown.
+
+Upon bootup, simply untar the previously created tarfile, and all your
+ownerships/permissions will be retained. For the paranoid, you can
+save your permissions periodically using a cron job.
+
+NOTE: tar will first unlink(2) an inode before creating a new device
+node. The unlink(2) has the effect of breaking the connection between
+a devfs entry and the device driver. If you use the "devfs=only" boot
+option, you lose access to the device driver, requiring you to reload
+the module. I consider this a bug in tar (there is no real need to
+unlink(2) the inode first).
+
+I've provided a script called "rc.devfs" in this directory which you
+can use to save and restore permissions.
+
+Alternatively, you can use the device management daemon (devfsd) to
+control the permissions of device nodes. This has the advantage of
+being able to store permissions for whole groups of devices with a
+single configuration entry, rather than one (tar) entry per device
+node. Devfsd also receives inode change events, so you could easily
+implement a simple permissions database.
+
+
+Installation during the transition phase <section>
+========================================
+
+Currently, not all device drivers in the kernel have been modified to
+use devfs. If you want to boot between kernels with and without devfs
+support, this section discusses some options. Either way is safe,
+although some people will have different preferences.
+
+Note that your old-style (i.e. node-based) chroot /gaol/dev
+directories which you manually created will still work, unless you
+pass the "devfs=only" boot option.
+
+Fail-safe Approach with devfs mounted on /dev <subsection>
+---------------------------------------------
+The default is for devfs to be mounted onto /dev at boot time.
+Device drivers which do not yet have devfs support will not
+automagically appear in the devfs. The simplest way to create device
+nodes for these drivers is to unpack a tarfile containing the required
+device nodes. You can do this in your boot scripts. All your drivers
+will now work as before.
+
+Hopefully for most people devfs will have enough support so that they
+can mount devfs directly over /dev without loosing most functionality
+(i.e. loosing access to various devices). As of 22-JAN-1998 (devfs
+patch version 10) I am now running this way. All the devices I have
+are available in the devfs, so I don't lose anything.
+
+WARNING: if your configuration requires the old-style device names
+(i.e. /dev/hda1 or /dev/sda1), you must install devfsd and configure
+it to maintain compatibility entries. It is almost certain that you
+will require this. Note that the kernel creates a compatibility entry
+for the root device, so you don't need initrd.
+
+Note that you no longer need to mount devpts if you use Unix98 PTYs,
+as devfs can manage /dev/pts itself. This saves you some RAM, as you
+don't need to compile and install devpts. Note that some versions of
+glibc have a bug with Unix98 pty handling on devfs systems. Contact
+the glibc maintainers for a fix.
+
+Note also that apart from editing /etc/fstab, other things will need
+to be changed if you *don't* install devfsd. Some software (like the X
+server) hard-wire device names in their source. It really is much
+easier to install devfsd so that compatibility entries are created.
+You can then slowly migrate your system to using the new device names
+(for example, by starting with /etc/fstab), and then limiting the
+compatibility entries that devfsd creates.
+MAKE SURE YOU INSTALL DEVFSD BEFORE YOU BOOT A DEVFS-ENABLED KERNEL!
+
+Now that devfs has gone into the 2.3.46 kernel, I'm getting a lot of
+reports back. Many of these are because people are trying to run
+without devfsd, and hence some things break. Please just run devfsd if
+things break. I want to concentrate on real bugs rather than
+misconfiguration problems at the moment. If people are willing to fix
+bugs/false assumptions in other code (i.e. glibc, X server) and submit
+that to the respective maintainers, that would be great.
+
+Fail-safe Approach with real /dev inodes <subsection>
+----------------------------------------
+This method involves more work, and is no longer recommended now that
+a large number of drivers have devfs support. You will need to use the
+"devfs=nomount" boot option.
+
+Copy the contents of /dev to /devfs. Then remove entries in /dev
+which are now available in devfs and make them symbolic links to the
+entries in /devfs. Finally, edit your /etc/fstab or boot scripts so
+that devfs is mounted over /devfs on bootup. If devfs is supported,
+accessing devices supported by devfs will follow the symlinks to
+devfs. If devfs is not supported, accessing those same devices will
+follow the symlinks to /devfs which contains only old-style device
+nodes. Devices not supported by devfs will be found directly on /dev.
+Simple! You can also follow this principle for chroot gaols.
+
+I've provided a demonstration script called "mk-devlinks" in this
+directory which you can use to create symlinks in /dev and
+/devfs. Note that this script is out of date and should not be run
+without modification.
+
+
+All the way with Devfs <section>
+======================
+
+The devfs kernel patch creates a rationalised device tree. As stated
+above, if you want to keep using the old /dev naming scheme, you just
+need to configure devfsd appopriately (see the man page). People who
+prefer the old names can ignore this section. For those of us who like
+the rationalised names and an uncluttered /dev, read on.
+
+If you don't run devfsd, or don't enable compatibility entry
+management, then you will have to configure your system to use the new
+names. For example, you will then need to edit your /etc/fstab to use
+the new disc naming scheme. If you want to be able to boot non-devfs
+kernels, you will need compatibility symlinks in the underlying
+disc-based /dev pointing back to the old-style names for when you boot
+a kernel without devfs.
+
+You can selectively decide which devices you want compatibility
+entries for. For example, you may only want compatibility entries for
+BSD pseudo-terminal devices (otherwise you'll have to patch you C
+library or use Unix98 ptys instead). It's just a matter of putting in
+the correct regular expression into /dev/devfsd.conf.
+
+
+Other Issues <section>
+============
+
+Another thing to take note of is whether your init programme creates a
+Unix socket /dev/telinit. Some versions of init create /dev/telinit so
+that the <telinit> programme can communicate with the init process. If
+you have such a system you need to make sure that devfs is mounted
+over /dev *before* init starts. In other words, you can't leave the
+mounting of devfs to /etc/rc, since this is executed after init.
+Other versions of init require a named pipe /dev/initctl which must
+exist *before* init starts. Once again, you need to mount devfs and
+then create the named pipe *before* init starts.
+
+The default behaviour now is to mount devfs onto /dev at boot time.
+You can disable this with the "devfs=nomount" boot option, but you can
+then get harmless but annoying messages about not being able to open
+an initial console.
+
+If you have automatic mounting of devfs onto /dev then you may need to
+create /dev/initctl in your boot scripts. The following lines should
+suffice:
+
+mknod /dev/initctl p
+kill -SIGUSR1 1 # tell init that /dev/initctl now exists
+
+Alternatively, if you don't want the kernel to mount devfs onto /dev
+then you could use the following procedure is a guideline for how to
+get around /dev/initctl problems:
+
+# cd /sbin
+# mv init init.real
+# cat > init
+#! /bin/sh
+mount -n -t devfs none /dev
+mknod /dev/initctl p
+exec /sbin/init.real $*
+[control-D]
+# chmod a+x init
+
+Note that newer versions of init create /dev/initctl automatically, so
+you don't have to worry about this.
+
+Using kmod (module autoloading) <subsection>
+-------------------------------
+Another thing to note is that if you are using kmod then you need to
+edit your /etc/modules.conf so that things work properly. You should
+include the sample modules.conf file in the
+Documentation/filesystems/devfs directory into your /etc/modules.conf
+to ensure correct operation.
+
+Mounting root off a devfs device <subsection>
+--------------------------------
+If you wish to mount root off a devfs device when you pass the
+"devfs=only" boot option, then you need to pass in the "root=<device>"
+option to the kernel when booting. If you use LILO, then you must have
+this in lilo.conf:
+append = "root=<device>"
+
+Surprised? Yep, so was I. It turns out if you have (as most people
+do):
+root = <device>
+
+then LILO will determine the device number of <device> and will write
+that device number into a special place in the kernel image before
+starting the kernel, and the kernel will use that device number to
+mount the root filesystem. So, using the "append" variety ensures that
+LILO passes the root filesystem device as a string, which devfs can
+then use.
+
+Note that this isn't an issue if you don't pass "devfs=only".
+
+TTY issues <subsection>
+----------
+You may replace your tty devices in /dev with symbolic links to /devfs
+however you will then find that programmes which depend on ttyname(3)
+will no longer work properly. The <tty> programme is a good
+example. I've written a patch to libc 5.4.43 which fixes this. This
+has been included in libc 5.4.44 and glibc 2.1.?
+
+
+Device drivers currently ported <section>
+===============================
+
+- All miscellaneous character devices support devfs (this is done
+ transparently through misc_register())
+
+- SCSI discs and generic hard discs
+
+- Character memory devices (null, zero, full and so on)
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- Loop devices (/dev/loop?)
+
+- TTY devices (console, serial ports, terminals and pseudo-terminals)
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- SCSI tapes (/dev/scsi and /dev/tapes)
+
+- SCSI CD-ROMs (/dev/scsi and /dev/cdroms)
+
+- SCSI generic devices (/dev/scsi)
+
+- RAMDISCS (/dev/ram?)
+
+- Meta Devices (/dev/md*)
+
+- Floppy discs (/dev/floppy)
+
+- Parallel port printers (/dev/printers)
+
+- Sound devices (/dev/sound)
+ Thanks to Eric Dumas <dumas@linux.eu.org> and
+ C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- Joysticks (/dev/joysticks)
+
+- Sparc keyboard (/dev/kbd)
+
+- DSP56001 digital signal processor (/dev/dsp56k)
+
+- Apple Desktop Bus (/dev/adb)
+
+- Coda network file system (/dev/cfs*)
+
+- Virtual console capture devices (/dev/vcc)
+ Thanks to Dennis Hou <smilax@mindmeld.yi.org>
+
+- Frame buffer devices (/dev/fb)
+
+- Video capture devices (/dev/v4l)
+
+
+Naming Scheme <section>
+=============
+
+Disc Devices <subsection>
+------------
+
+All discs, whether SCSI, IDE or whatever, are placed under the
+/dev/discs hierarchy:
+ /dev/discs/disc0 first disc
+ /dev/discs/disc1 second disc
+
+Each of these entries is a symbolic link to the directory for that
+device. The device directory contains:
+ disc for the whole disc
+ part* for individual partitions
+
+CD-ROM Devices <subsection>
+--------------
+
+All CD-ROMs, whether SCSI, IDE or whatever, are placed under the
+/dev/cdroms hierarchy:
+ /dev/cdroms/cdrom0 first CD-ROM
+ /dev/cdroms/cdrom1 second CD-ROM
+
+Each of these entries is a symbolic link to the real device entry for
+that device.
+
+Tape Devices <subsection>
+------------
+
+All tapes, whether SCSI, IDE or whatever, are placed under the
+/dev/tapes hierarchy:
+ /dev/tapes/tape0 first tape
+ /dev/tapes/tape1 second tape
+
+Each of these entries is a symbolic link to the directory for that
+device. The device directory contains:
+ mt for mode 0
+ mtl for mode 1
+ mtm for mode 2
+ mta for mode 3
+ mtn for mode 0, no rewind
+ mtln for mode 1, no rewind
+ mtmn for mode 2, no rewind
+ mtan for mode 3, no rewind
+
+SCSI Devices <subsection>
+------------
+To uniquely identify any SCSI device requires the following
+information:
+ controller (host adapter)
+ bus (SCSI channel)
+ target (SCSI ID)
+ unit (Logical Unit Number)
+
+All SCSI devices are placed under /dev/scsi (assuming devfs is mounted
+on /dev). Hence, a SCSI device with the following parameters:
+c=1,b=2,t=3,u=4 would appear as:
+ /dev/scsi/host1/bus2/target3/lun4 device directory
+
+Inside this directory, a number of device entries may be created,
+depending on which SCSI device-type drivers were installed.
+
+See the section on the disc naming scheme to see what entries the SCSI
+disc driver creates.
+
+See the section on the tape naming scheme to see what entries the SCSI
+tape driver creates.
+
+The SCSI CD-ROM driver creates:
+ cd
+
+The SCSI generic driver creates:
+ generic
+
+IDE Devices <subsection>
+-----------
+To uniquely identify any IDE device requires the following
+information:
+ controller
+ bus (aka. primary/secondary)
+ target (aka. master/slave)
+ unit
+
+All IDE devices are placed under /dev/ide (assuming devfs is mounted
+on /dev), and uses a similar naming scheme to the SCSI subsystem.
+
+
+XT Hard Discs <subsection>
+-------------
+All XT discs are placed under /dev/xd (assuming devfs is mounted on
+/dev). The first XT disc has the directory /dev/xd/disc0
+
+TTY devices <subsection>
+-----------
+The tty devices now appear as:
+ New name Old-name Device Type
+ -------- -------- -----------
+ /dev/tts/{0,1,...} /dev/ttyS{0,1,...} Serial ports
+ /dev/cua/{0,1,...} /dev/cua{0,1,...} Call out devices
+ /dev/vc/{0,1,...} /dev/tty{1...63} Virtual consoles
+ /dev/vcc/{0,1,...} /dev/vcs{1...63} Virtual consoles
+ /dev/pty/m{0,1,...} /dev/ptyp?? PTY masters
+ /dev/pty/s{0,1,...} /dev/ttyp?? PTY slaves
+
+RAMDISCS <subsection>
+--------
+The RAMDISCS are placed in their own directory, and are named thus:
+ /dev/rd/{0,1,2,...}
+
+Meta Devices <subsection>
+------------
+The meta devices are placed in their own directory, and are named
+thus:
+ /dev/md/{0,1,2,...}
+
+Floppy discs <subsection>
+------------
+Floppy discs are placed in the /dev/floppy directory.
+
+Loop devices <subsection>
+------------
+Loop devices are placed in the /dev/loop directory.
+
+Sound devices <subsection>
+-------------
+Sound devices are placed in the /dev/sound directory (audio,
+sequencer, ...).
+
+
+SCSI Host Probing Issues <section>
+========================
+
+Devfs allows you to identify SCSI discs based in part on SCSI host
+numbers. If you have only one SCSI host (card) in your computer, then
+clearly it will be given host number 0. Life is not always that easy
+is you have multiple SCSI hosts. Unfortunately, it can sometimes be
+difficult to guess what the probing order of SCSI hosts is. You need
+to know the probe order before you can use device names. To make this
+easy, there is a kernel boot parameter called "scsihosts". This allows
+you to specify the probe order for different types of SCSI hosts. The
+syntax of this parameter is:
+
+scsihosts=<name_1>:<name_2>:<name_3>:...:<name_n>
+
+where <name_1>,<name_2>,...,<name_n> are the names of drivers used in
+/proc filesystem. For example:
+
+ scsihosts=aha1542:ppa:aha1542::ncr53c7xx
+
+means that devices connected to
+- first aha1542 controller - will be c0b#t#u#
+- first parallel port ZIP - will be c1b#t#u#
+- second aha1542 controller - will be c2b#t#u#
+- first NCR53C7xx controller - will be c4b#t#u#
+- any extra controller - will be c5b#t#u#, c6b#t#u#, etc
+- if any of above controllers will not be found - the reserved names will
+ not be used by any other device.
+- c3b#t#u# names will never be used
+
+You can use ',' instead of ':' as the separator character if you
+wish.
+
+Note that this scheme does not address the SCSI host order if you have
+multiple cards of the same type (such as NCR53c8xx). In this case you
+need to use the driver-specific boot parameters to control this.
+
+
+Allocation of Device Numbers <section>
+============================
+
+Devfs allows you to write a driver which doesn't need to allocate a
+device number (major&minor numbers) for the internal operation of the
+kernel. However, there are a number of userspace programmes that use
+the device number as a unique handle for a device. An example is the
+<find> programme, which uses device numbers to determine whether an
+inode is on a different filesystem than another inode. The device
+number used is the one for the block device which a filesystem is
+using. To preserve compatibility with userspace programmes, block
+devices using devfs need to have unique device numbers allocated to
+them. Furthermore, POSIX specifies device numbers, so some kind of
+device number needs to be presented to userspace.
+
+The simplest option (especially when porting drivers to devfs) is to
+keep using the old major and minor numbers. Devfs will take whatever
+values are given for major&minor and pass them onto userspace.
+
+Alternatively, you can have devfs choose unique device numbers for
+you. When you register a character or block device using
+<devfs_register> you can provide the optional DEVFS_FL_AUTO_DEVNUM
+flag, which will then automatically allocate a unique device number
+(the allocation is separated for the character and block devices).
+This device number is a 16 bit number, so this leaves plenty of space
+for large numbers of discs and partitions. This scheme can also be
+used for character devices, in particular the tty devices, which are
+currently limited to 256 pseudo-ttys (this limits the total number of
+simultaneous xterms and remote logins). Note that the device number
+is limited to the range 36864-61439 (majors 144-239), in order to
+avoid any possible conflicts with existing official allocations.
+
+Please note that using dynamically allocated block device numbers may
+break the NFS daemons (both user and kernel mode), which expect dev_t
+for a given device to be constant over reboots. A simple reboot, with
+no change in your hardware layout, would result in the same device
+numbers being allocated, and hence will not cause a problem for NFS
+daemons.
+
+A final note on this scheme: since it doesn't increase the size of
+device numbers, there are no compatibility issues with userspace.
diff --git a/Documentation/filesystems/devfs/ToDo b/Documentation/filesystems/devfs/ToDo
new file mode 100644
index 000000000..3e1621bc1
--- /dev/null
+++ b/Documentation/filesystems/devfs/ToDo
@@ -0,0 +1,42 @@
+ Device File System (devfs) ToDo List
+
+ Richard Gooch <rgooch@atnf.csiro.au>
+
+ 18-FEB-2000
+
+This is a list of things to be done for better devfs support in the
+Linux kernel. If you'd like to contribute to the devfs, please have a
+look at this list for anything that is unallocated. Also, if there are
+items missing (surely), please contact me so I can add them to the
+list (preferably with your name attached to them:-).
+
+
+- >256 ptys
+ Thanks to C. Scott Ananian <cananian@alumni.princeton.edu>
+
+- Amiga floppy driver (drivers/block/amiflop.c)
+
+- Atari floppy driver (drivers/block/ataflop.c)
+
+- Network block device (drivers/block/nbd.c)
+
+- SWIM3 (Super Woz Integrated Machine 3) floppy driver (drivers/block/swim3.c)
+
+- Amiga ZorroII ramdisc driver (drivers/block/z2ram.c)
+
+- Parallel port ATAPI CD-ROM (drivers/block/paride/pcd.c)
+
+- Parallel port ATAPI floppy (drivers/block/paride/pf.c)
+
+- AP1000 block driver (drivers/ap1000/ap.c, drivers/ap1000/ddv.c)
+
+- Archimedes floppy (drivers/acorn/block/fd1772.c)
+
+- MFM hard drive (drivers/acorn/block/mfmhd.c)
+
+- I2O block device (drivers/i2o/i2o_block.c)
+
+- ST-RAM device (arch/m68k/atari/stram.c)
+
+- Raw devices
+
diff --git a/Documentation/filesystems/devfs/boot-options b/Documentation/filesystems/devfs/boot-options
new file mode 100644
index 000000000..83acf9168
--- /dev/null
+++ b/Documentation/filesystems/devfs/boot-options
@@ -0,0 +1,66 @@
+/* -*- auto-fill -*- */
+
+ Device File System (devfs) Boot Options
+
+ Richard Gooch <rgooch@atnf.csiro.au>
+
+ 14-DEC-1999
+
+
+When either CONFIG_DEVFS_DEBUG or CONFIG_DEVFS_BOOT_OPTIONS are
+enabled, you can pass several boot options to the kernel to control
+devfs behaviour. The boot options are prefixed by "devfs=", and are
+separated by commas. Spaces are not allowed. The syntax looks like
+this:
+
+devfs=<option1>,<option2>,<option3>
+
+and so on. For example, if you wanted to turn on debugging for module
+load requests and device registration, you would do:
+
+devfs=dmod,dreg
+
+
+Debugging Options
+=================
+
+These requires CONFIG_DEVFS_DEBUG to be enabled.
+Note that all debugging options have 'd' as the first character. By
+default all options are off. All debugging output is sent to the
+kernel logs. The debugging options do not take effect until the devfs
+version message appears (just prior to the root filesystem being
+mounted).
+
+These are the options:
+
+dmod print module load requests to <request_module>
+
+dreg print device register requests to <devfs_register>
+
+dunreg print device unregister requests to <devfs_unregister>
+
+dchange print device change requests to <devfs_set_flags>
+
+dilookup print inode lookup requests
+
+diread print inode reads
+
+diunlink print inode unlinks
+
+diwrite print inode writes
+
+dimknod print calls to mknod(2)
+
+dall some debugging turned on
+
+
+Other Options
+=============
+
+These control the default behaviour of devfs. The options are:
+
+show show unregistered devices by default
+
+nomount do not mount devfs onto /dev at boot time
+
+only disable non-devfs device nodes for devfs-capable drivers
diff --git a/Documentation/filesystems/devfs/mk-devlinks b/Documentation/filesystems/devfs/mk-devlinks
new file mode 100644
index 000000000..885ebdfff
--- /dev/null
+++ b/Documentation/filesystems/devfs/mk-devlinks
@@ -0,0 +1,123 @@
+#! /bin/csh -f
+
+# WARNING: make sure /devfs is not a mounted devfs
+
+cd /devfs
+if (-e .devfsd) then
+ echo "/devfs must not be a mounted devfs"
+ exit 1
+endif
+if ( ! -e null ) then
+ echo "Cannot find null device"
+ exit 1
+endif
+
+
+# Make SCSI disc links.
+# WARNING: this assumes your SCSI discs are numbered ID=0, ID=1, ID=2 and so on
+set discs = (a b c d e f)
+if ( ! -d sd ) mkdir sd
+ln -sf /devfs/sd /dev
+
+@ scsi_id = 0
+while ($scsi_id < $#discs)
+ @ discnum = $scsi_id + 1
+ ls -lF sd${discs[$discnum]}
+ rm /dev/sd${discs[$discnum]}
+ ln -s /devfs/sd${discs[$discnum]} /dev
+ ln -s ../sd${discs[$discnum]} sd/c0b0t${scsi_id}u0
+ @ partition = 1
+ while ($partition < 16)
+ ls -lF sd${discs[$discnum]}${partition}
+ rm /dev/sd${discs[$discnum]}${partition}
+ ln -s /devfs/sd${discs[$discnum]}${partition} /dev
+ ln -s ../sd${discs[$discnum]}${partition} sd/c0b0t${scsi_id}u0p$partition
+ @ partition ++
+ end
+ @ scsi_id ++
+end
+
+
+# Make IDE disc links
+foreach i (hd*)
+ rm /dev/$i
+ ln -s /devfs/$i /dev
+end
+
+
+# Make miscellaneous character devices links (character, major=10)
+foreach i (`ls -l * | grep '^c' | fgrep '10,' | awk '{print $10}'`)
+ rm /dev/$i
+ ln -s /devfs/$i /dev
+end
+
+
+# Make memory devices links (character, major=1)
+foreach i (`ls -l * | grep '^c' | fgrep ' 1,' | awk '{print $10}'`)
+ rm /dev/$i
+ ln -s /devfs/$i /dev
+end
+
+
+# Make loop device links
+foreach i (loop*)
+ rm /dev/$i
+ ln -s /devfs/$i /dev
+end
+
+
+# Make various tty device links
+foreach i (tty* pty* cua* console)
+ rm /dev/$i
+ ln -s /devfs/$i /dev
+end
+
+
+# Make SCSI CD-ROM, tapes and generic links
+ln -s /devfs/sr /dev
+ln -s /devfs/st /dev
+ln -s /devfs/sg /dev
+foreach i (sr* st* nst* sg*)
+ if ("$i" == "stderr") continue
+ if ("$i" == "stdin") continue
+ if ("$i" == "stdout") continue
+ rm /dev/$i
+ ln -s /devfs/$i /dev
+end
+
+
+# Make RAMDISC device links
+ln -s /devfs/rd /dev
+foreach i (ram*)
+ rm /dev/$i
+ ln -s /devfs/$i /dev
+end
+
+
+# Make floppy device links
+ln -s /devfs/floppy /dev
+foreach i (fd?*)
+ rm /dev/$i
+ ln -s /devfs/$i /dev
+end
+
+
+# Make line printer device links
+foreach i (lp*)
+ rm /dev/$i
+ ln -s /devfs/$i /dev
+end
+
+# Make sound devices links
+if ( ! -d sound ) mkdir sound
+ln -sf /devfs/sound /dev
+foreach i (mixer sequencer midi dsp audio sequencer2 mixer1 patmgr0 midi1\
+ dsp1 audio1 patmgr1 midi2 midi3)
+
+ if ( -f /dev/$i ) then
+ rm /dev/$i
+ ln -s /devfs/$i /dev
+ endif
+end
+
+
diff --git a/Documentation/filesystems/devfs/modules.conf b/Documentation/filesystems/devfs/modules.conf
new file mode 100644
index 000000000..273568c3f
--- /dev/null
+++ b/Documentation/filesystems/devfs/modules.conf
@@ -0,0 +1,89 @@
+# Sample entries for /etc/modules.conf for devfs
+
+###############################################################################
+# Configuration section: change to suit
+#
+alias /dev/sound sb
+alias /dev/v4l bttv
+alias gen-watchdog pcwd
+alias gen-md raid0
+alias /dev/joysticks joystick
+probeall scsi-hosts sym53c8xx
+
+###############################################################################
+# Generic section: do not change
+#
+# All HDDs
+probeall /dev/discs scsi-hosts sd_mod ide-probe-mod ide-disk DAC960
+
+# All CD-ROMs
+probeall /dev/cdroms scsi-hosts sr_mod ide-probe-mod ide-cd
+
+# All tapes
+probeall /dev/tapes scsi-hosts st ide-probe-mod ide-tape
+
+# All SCSI devices
+probeall /dev/scsi scsi-hosts sd_mod sr_mod st sg
+
+# All IDE devices
+probeall /dev/ide ide-probe-mod ide-disk ide-cd ide-tape ide-floppy
+
+# SCSI HDDs
+probeall /dev/sd scsi-hosts sd_mod
+alias /dev/sd* /dev/sd
+
+# SCSI CD-ROMs
+probeall /dev/sr scsi-hosts sr_mod
+alias /dev/sr* /dev/sr
+
+# SCSI tapes
+probeall /dev/st scsi-hosts st
+alias /dev/st* /dev/sr
+alias /dev/nst* /dev/st
+
+# SCSI generic
+probeall /dev/sg scsi-hosts sg
+alias /dev/sg* /dev/sg
+
+# Floppies
+alias /dev/floppy floppy
+alias /dev/fd* floppy
+
+# RAMDISCs
+alias /dev/rd rd
+alias /dev/ram* rd
+
+# Loop devices
+alias /dev/loop* loop
+
+# Meta devices
+alias /dev/md* gen-md
+
+# Parallel port printers
+alias /dev/printers lp
+alias /dev/lp* lp
+
+# Soundcard
+alias /dev/audio /dev/sound
+alias /dev/mixer /dev/sound
+alias /dev/dsp /dev/sound
+alias /dev/dspW /dev/sound
+alias /dev/midi /dev/sound
+
+# Joysticks
+alias /dev/js* /dev/joysticks
+
+# Serial ports
+alias /dev/tts serial
+alias /dev/ttyS* /dev/tts
+alias /dev/cua* /dev/tts
+
+# Miscellaneous devices
+alias /dev/watchdog gen-watchdog # alias for gen-watchdog needed!
+alias /dev/atibm atixlmouse
+alias /dev/inportbm msbusmouse
+alias /dev/logibm busmouse
+
+# Video capture devices
+alias /dev/video* /dev/v4l
+alias /dev/vbi* /dev/v4l
diff --git a/Documentation/filesystems/devfs/rc.devfs b/Documentation/filesystems/devfs/rc.devfs
new file mode 100644
index 000000000..73bbb3ac2
--- /dev/null
+++ b/Documentation/filesystems/devfs/rc.devfs
@@ -0,0 +1,104 @@
+#! /bin/sh
+#
+# /etc/rc.d/rc.devfs
+#
+# Linux Boot Scripts by Richard Gooch <rgooch@atnf.csiro.au>
+# Copyright 1993-1999 under GNU Copyleft version 2.0. See /etc/rc for
+# copyright notice.
+#
+# Save and restore devfs ownerships and permissions
+#
+# Written by Richard Gooch 11-JAN-1998
+#
+# Updated by Richard Gooch 23-JAN-1998: Added "start" and "stop".
+#
+# Updated by Richard Gooch 5-AUG-1998: Robustness improvements by
+# Roderich Schupp.
+#
+# Updated by Richard Gooch 9-AUG-1998: Took account of change from
+# ".epoch" to ".devfsd".
+#
+# Updated by Richard Gooch 19-AUG-1998: Test and tty pattern patch
+# by Roderich Schupp.
+#
+# Updated by Richard Gooch 24-MAY-1999: Use sed instead of tr.
+#
+# Last updated by Richard Gooch 25-MAY-1999: Don't save /dev/log.
+#
+#
+# Usage: rc.devfs save|restore [savedir] [devfsdir]
+#
+# Note: "start" is a synonym for "restore" and "stop" is a synonym for "save".
+
+# Set VERBOSE to "no" if you would like a more quiet operation.
+VERBOSE=yes
+
+# Set TAROPTS to "v" or even "vv" to see which files get saved/restored.
+TAROPTS=
+
+option="$1"
+
+case "$option" in
+ save|restore) ;;
+ start) option=restore ;;
+ stop) option=save ;;
+ *) echo "No save or restore option given" ; exit 1 ;;
+esac
+
+if [ "$2" = "" ]; then
+ savedir=/var/state
+else
+ savedir=$2
+fi
+
+if [ ! -d $savedir ]; then
+ echo "Directory: $savedir does not exist"
+ exit 1
+fi
+
+if [ "$3" = "" ]; then
+ if [ -d /devfs ]; then
+ devfs=/devfs
+ else
+ devfs=/dev
+ fi
+else
+ devfs=$3
+fi
+
+grep devfs /proc/filesystems >/dev/null || exit 0
+
+if [ ! -d $devfs ]; then
+ echo "Directory: $devfs does not exist"
+ exit 1
+elif [ ! -c $devfs/.devfsd ]; then
+ echo "Directory: $devfs is not the root of a devfs filesystem"
+ exit 1
+fi
+
+savefile=`echo $devfs | sed 's*/*_*g'`
+tarfile=${savedir}/devfssave.${savefile}.tar.gz
+
+cd $devfs
+
+case "$option" in
+ save)
+ [ "$VERBOSE" != no ] && echo "Saving $devfs permissions..."
+
+ # You might want to adjust the pattern below to control
+ # which file's permissions will be saved.
+ # The sample pattern exludes all virtual consoles
+ # as well as old and new style pseudo terminals.
+ files=`find * -noleaf -cnewer .devfsd \
+ ! -regex 'tty[0-9]+\|vc/.*\|vcsa?[0-9]+\|vcc/.*\|[pt]ty[a-z][0-9a-f]\|pt[ms]/.*\|log' -print`
+ rm -f $tarfile
+ [ -n "$files" ] && tar cz${TAROPTS}f $tarfile $files
+ ;;
+
+ restore)
+ [ "$VERBOSE" != no ] && echo "Restoring $devfs permissions..."
+ [ -f $tarfile ] && tar xpz${TAROPTS}f $tarfile
+ ;;
+esac
+
+exit 0
diff --git a/Documentation/isdn/00-INDEX b/Documentation/isdn/00-INDEX
index b7161af1a..b2e73cbc1 100644
--- a/Documentation/isdn/00-INDEX
+++ b/Documentation/isdn/00-INDEX
@@ -38,3 +38,6 @@ README.sc
- info on driver for Spellcaster cards.
README.x25
_ info for running X.25 over ISDN.
+README.hysdn
+ - info on driver for Hypercope active HYSDN cards
+ \ No newline at end of file
diff --git a/Documentation/isdn/CREDITS b/Documentation/isdn/CREDITS
index beef990ba..e1b3023ef 100644
--- a/Documentation/isdn/CREDITS
+++ b/Documentation/isdn/CREDITS
@@ -58,9 +58,13 @@ Thomas Pfeiffer (pfeiffer@pds.de)
Max Riegel (riegel@max.franken.de)
For making the ICN hardware-documentation and test-equipment available.
+Armin Schindler (mac@melware.de)
+ For the eicon active card driver.
+
Gerhard 'Fido' Schneider (fido@wuff.mayn.de)
For heavy-duty-beta-testing with his BBS ;)
Thomas Uhl (uhl@think.de)
For distributing the cards.
For pushing me to work ;-)
+
diff --git a/Documentation/isdn/HiSax.cert b/Documentation/isdn/HiSax.cert
index de440068f..af128daaa 100644
--- a/Documentation/isdn/HiSax.cert
+++ b/Documentation/isdn/HiSax.cert
@@ -30,7 +30,7 @@ some validation checks that are made during the make process. The HiSax main
files are protected by md5 checksums and the md5sum file is pgp signed by
myself:
-KeyID 1024/FF992F6D 1997/01/16 Karsten Keil <keil@temic-ech.spacenet.de>
+KeyID 1024/FF992F6D 1997/01/16 Karsten Keil <kkeil@suse.de>
Key fingerprint = 92 6B F7 58 EE 86 28 C8 C4 1A E6 DC 39 89 F2 AA
Only if the checksums are OK, and the signature of the file
@@ -70,9 +70,9 @@ keil@isdn4linux.de
Version: 2.6.3i
Charset: noconv
-iQCVAwUBN6xoKTpxHvX/mS9tAQF4DAP/efRWym6jvNOND1O9eaEFdP5fd2xKB3XD
-Ifh6Iv0DvARcIuxXtEjT+z3FjjQk35eo/wX4C4tpRhYQYdgCxl+iv+5DzhVDpB95
-3QS9E5m0E1eIK3t8XiQTRgb+1JPCMYUThCrakYsX25o3ndGKyDipsCTfkyR38XwC
-bUyTfcOYKAk=
-=VKyL
+iQCVAwUBOFAwqTpxHvX/mS9tAQFI2QP9GLDK2iy/KBhwReE3F7LeO+tVhffTVZ3a
+20q5/z/WcIg/pnH0uTkl2UgDXBFXYl45zJyDGNpAposIFmT+Edd14o7Vj1w/BBdn
+Y+5rBmJf+gyBu61da5d6bv0lpymwRa/um+ri+ilYnZ/XPfg5JKhdjGSBCJuJAElM
+d2jFbTrsMYw=
+=LNf9
-----END PGP SIGNATURE-----
diff --git a/Documentation/isdn/README b/Documentation/isdn/README
index 3cf623d48..afd9f45af 100644
--- a/Documentation/isdn/README
+++ b/Documentation/isdn/README
@@ -80,8 +80,7 @@ README for the ISDN-subsystem
The functionality is almost the same as that of a serial device
(the line-discs are handled by the kernel), which lets you run
SLIP, CSLIP and asynchronous PPP through the devices. We have tested
- Seyon, minicom, CSLIP (uri-dip) PPP and mgetty (compiled with NO_FAX),
- XCept.
+ Seyon, minicom, CSLIP (uri-dip) PPP, mgetty, XCept and Hylafax.
The modem-emulation supports the following:
1.3.1 Commands:
@@ -124,6 +123,10 @@ README for the ISDN-subsystem
AT&D3 Same as AT&D2 but also resets all registers.
AT&Ex Set the EAZ/MSN for this channel to x.
AT&F Reset all registers and profile to "factory-defaults"
+ AT&Lx Set list of phone numbers to listen on. x is a
+ list of wildcard patterns separated by semicolon.
+ If this is set, it has precedence over the MSN set
+ by AT&E.
AT&Rx Select V.110 bitrate adaption.
This command enables V.110 protocol with 9600 baud
(x=9600), 19200 baud (x=19200) or 38400 baud
@@ -238,7 +241,8 @@ README for the ISDN-subsystem
15 0 Layer-3 protocol:
0 = transparent
1 = transparent with audio features (e.g. DSP)
- 2 = Fax G3 (S14 has to be set to 11)
+ 2 = Fax G3 Class 2 commands (S14 has to be set to 11)
+ 2 = Fax G3 Class 1 commands (S14 has to be set to 11)
16 250 Send-Packet-size/16
17 8 Window-size (not yet implemented)
18 4 Bit coded register, Service-Octet-1 to accept,
@@ -309,8 +313,6 @@ README for the ISDN-subsystem
If an incoming call matches one network interface, it gets connected to it.
If another incoming call for the same EAZ arrives, which does not match
a network interface, the first tty gets a "RING" and so on.
- As soon as voice gets supported (with the availability of the Diehl-driver),
- the service-identifier will be evaluated in addition.
2 System prerequisites:
diff --git a/Documentation/isdn/README.HiSax b/Documentation/isdn/README.HiSax
index ee95d85f4..041678225 100644
--- a/Documentation/isdn/README.HiSax
+++ b/Documentation/isdn/README.HiSax
@@ -64,6 +64,7 @@ Scitel Quadro
Gazel ISDN cards
HFC-PCI based cards
Winbond W6692 based cards
+HFC-S+, HFC-SP/PCMCIA cards
Note: PCF, PCF-Pro: up to now, only the ISDN part is supported
PCC-8: not tested yet
@@ -72,6 +73,7 @@ Note: PCF, PCF-Pro: up to now, only the ISDN part is supported
Teles PCI is EXPERIMENTAL
Teles S0Box is EXPERIMENTAL
Eicon.Diehl Diva U interface not tested
+ HFC-S+, HFC-SP/PCMCIA are experimental
If you know other passive cards with the Siemens chipset, please let me know.
To use the PNP cards you need the isapnptools.
@@ -184,6 +186,7 @@ Card types:
34 Gazel ISDN cards (PCI) none
35 HFC 2BDS0 PCI none
36 W6692 based PCI cards none
+ 37 HFC 2BDS0 S+, SP/PCMCIA irq,io (pcmcia must be set with cardmgr)
At the moment IRQ sharing is only possible with PCI cards. Please make sure
@@ -288,6 +291,7 @@ type
34 Gazel ISDN cards (PCI) no parameter
35 HFC 2BDS0 PCI no parameter
36 W6692 based PCI cards none
+ 37 HFC 2BDS0 S+,SP/PCMCIA pa=irq, pb=io
Running the driver
------------------
diff --git a/Documentation/isdn/README.eicon b/Documentation/isdn/README.eicon
index b40e1ecd2..73d8c92dd 100644
--- a/Documentation/isdn/README.eicon
+++ b/Documentation/isdn/README.eicon
@@ -1,9 +1,10 @@
-$Id: README.eicon,v 1.5 1999/10/11 18:13:25 armin Exp $
+$Id: README.eicon,v 1.6 2000/01/27 09:54:44 armin Exp $
-(c) 1999 Cytronics & Melware (info@melware.de)
+(c) 1999,2000 Armin Schindler (mac@melware.de)
+(c) 1999,2000 Cytronics & Melware (info@melware.de)
This document describes the eicon driver for the
-Eicon.Diehl active ISDN cards.
+Eicon active ISDN cards.
It is meant to be used with isdn4linux, an ISDN link-level module for Linux.
@@ -50,7 +51,8 @@ ISDN D-Channel Protocols
- ETSI (Euro-DSS1)
- 1TR6 (German ISDN) *not testet*
-
+- other protocols exist for the range of DIVA Server cards,
+ but they are not fully testet yet.
You can load the module simply by using the insmod or modprobe function :
@@ -58,7 +60,7 @@ You can load the module simply by using the insmod or modprobe function :
insmod eicon [id=driverid] [membase=<membase>] [irq=<irq>]
-The module will automatically probe the PCI-cards. If the id-options
+The module will automatically probe the PCI-cards. If the id-option
is omitted, the driver will assume 'eicon0' for the first pci card and
increases the digit with each further card. With a given driver-id
the module appends a number starting with '0'.
@@ -85,6 +87,14 @@ Example for loading and starting a PRI card with E-DSS1 Protocol.
Details about using the eiconctrl utility are in 'man eiconctrl'
or will be printed by starting eiconctrl without any parameters.
+ISDNLOG:
+With eicon driver version 1.77 or newer and the eiconctrl utility
+of version 1.1 or better, you can use the isdnlog user program
+with your DIVA Server BRI card.
+Just use "eiconctrl isdnlog on" and the driver will generate
+the necessary D-Channel traces for isdnlog.
+
+
Thanks to
Deutsche Mailbox Saar-Lor-Lux GmbH
for sponsoring and testing fax
diff --git a/Documentation/isdn/README.hysdn b/Documentation/isdn/README.hysdn
new file mode 100644
index 000000000..c9dbd0de8
--- /dev/null
+++ b/Documentation/isdn/README.hysdn
@@ -0,0 +1,177 @@
+$Id: README.hysdn,v 1.1 2000/02/10 19:46:15 werner Exp $
+The hysdn driver has been written by
+by Werner Cornelius (werner@isdn4linux.de or werner@titro.de)
+for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver
+under the GNU Public License.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Table of contents
+=================
+
+1. About the driver
+
+2. Loading/Unloading the driver
+
+3. Entries in the /proc filesystem
+
+4. The /proc/net/hysdn/cardconfX file
+
+5. The /proc/net/hysdn/cardlogX file
+
+6. Where to get additional info and help
+
+
+1. About the driver
+
+ The drivers/isdn/hysdn subdir contains a driver for HYPERCOPEs active
+ PCI isdn cards Champ, Ergo and Metro. To enable support for this cards
+ enable ISDN support in the kernel config and support for HYSDN cards in
+ the active cards submenu. The driver may only be compiled and used if
+ support for loadable modules and the process filesystem have been enabled.
+ No other ISDN options need to be enabled for these cards.
+
+ Up to now these cards do not use or require the standard isdn interface
+ module (isdn.o), but registers itself as an ethernet card. All necessary
+ handlers for various protocols like ppp and others as well as config info
+ and firmware may be fetched from Hypercopes WWW-Site www.hypercope.de.
+ The driver has been included in the i4l tree as a CAPI compliant module
+ is under development and will be connected to the standard i4l modules
+ additionally.
+
+2. Loading/Unloading the driver
+
+ The module has no command line parameters and auto detects up to 10 cards
+ in the id-range 0-9.
+ If a loaded driver shall be unloaded all open files in the /proc/net/hysdn
+ subdir need to be closed and all ethernet interfaces allocated by this
+ driver must be shut down. Otherwise the module counter will avoid a module
+ unload.
+
+3. Entries in the /proc filesystem
+
+ When the module has been loaded it adds the directory hysdn in the
+ /proc/net tree. This directory contains exactly 2 file entries for each
+ card. One is called cardconfX and the other cardlogX, where X is the
+ card id number from 0 to 9.
+ The cards are numbered in the order found in the PCI config data.
+
+4. The /proc/net/hysdn/cardconfX file
+
+ This file may be read to get by everyone to get info about the cards type,
+ actual state, available features and used resources.
+ The first 3 entries (id, bus and slot) are PCI info fields, the following
+ type field gives the information about the cards type:
+
+ 4 -> Ergo card (server card with 2 b-chans)
+ 5 -> Metro card (server card with 4 or 8 b-chans)
+ 6 -> Champ card (client card with 2 b-chans)
+
+ The following 3 fields show the hardware assignments for irq, iobase and the
+ dual ported memory (dp-mem).
+ The fields b-chans and fax-chans announce the available card resources of
+ this types for the user.
+ The state variable indicates the actual drivers state for this card with the
+ following assignments.
+
+ 0 -> card has not been booted since driver load
+ 1 -> card booting is actually in progess
+ 2 -> card is in an error state due to a previous boot failure
+ 3 -> card is booted and active
+
+ And the last field (device) shows the name of the ethernet device assigned
+ to this card. Up to the first successfull boot this field only shows a -
+ to tell that no net device has been allocated up to now. Once a net device
+ has been allocated it remains assigned to this card, even if a card is
+ rebooted and an boot error occurs.
+
+ Writing to the cardconfX file boots the card or transfers config lines to
+ the cards firmware. The type of data is automatically detected when the
+ first data is written. Only root has write access to this file.
+ The firmware boot files are normally called hyclient.pof for client cards
+ and hyserver.pof for server cards.
+ After successfully writing the boot file, complete config files or single
+ config lines may be copied to this file.
+ If an error occurs the return value given to the writing process has the
+ following additional codes (decimal):
+
+ 1000 Another process is currently bootng the card
+ 1001 Invalid firmware header
+ 1002 Boards dual-port RAM test failed
+ 1003 Internal firmware handler error
+ 1004 Boot image size invalid
+ 1005 First boot stage (bootstrap loader) failed
+ 1006 Second boot stage failure
+ 1007 Timeout waiting for card ready during boot
+ 1008 Operation only allowed in booted state
+ 1009 Config line to long
+ 1010 Invalid channel number
+ 1011 Timeout sending config data
+
+ Additional info about error reasons may be fetched from the log output.
+
+5. The /proc/net/hysdn/cardlogX file
+
+ The cardlogX file entry may be opened multiple for reading by everyone to
+ get the cards and drivers log data. Card messages always start with the
+ keyword LOG. All other lines are output from the driver.
+ The driver log data may be redirected to the syslog by selecting the
+ approriate bitmask. The cards log messages will always be send to this
+ interface but never to the syslog.
+
+ A root user may write a decimal or hex (with 0x) value t this file to select
+ desired output options. As mentioned above the cards log dat is always
+ written to the cardlog file independant of the following options only used
+ to check and debug the driver itself:
+
+ For example:
+ echo "0x34560078" > /proc/net/hysdn/cardlog0
+ to output the hex log mask 34560078 for card 0.
+
+ The written value is regarded as an unsigned 32-Bit value, bit ored for
+ desired output. The following bits are already assigned:
+
+ 0x80000000 All driver log data is alternatively via syslog
+ 0x00000001 Log memory allocation errors
+ 0x00000010 Firmware load start and close are logged
+ 0x00000020 Log firmware record parser
+ 0x00000040 Log every firmware write actions
+ 0x00000080 Log all card related boot messages
+ 0x00000100 Output all config data sent for debugging purposes
+ 0x00000200 Only non comment config lines are shown wth channel
+ 0x00000400 Additional conf log output
+ 0x00001000 Log the asynchronous scheduler actions (config and log)
+ 0x00100000 Log all open and close actions to /proc/net/hysdn/card files
+ 0x00200000 Log all actions from /proc file entries
+ 0x00010000 Log network interface init and deinit
+
+6. Where to get additional info and help
+
+ If you have any problems concerning the driver or configuration contact
+ the Hypercope support team (www.hypercope.de) and or the author
+ Werner Cornelius (werner@isdn4linux or cornelius@titro.de)
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Documentation/isdn/README.x25 b/Documentation/isdn/README.x25
index 9794f4118..e561a77c4 100644
--- a/Documentation/isdn/README.x25
+++ b/Documentation/isdn/README.x25
@@ -61,7 +61,21 @@ X.25 on top of isdn might be useful with two different scenarios:
- You might want to access a public X.25 data network from your Linux box.
You can use i4l if you were physically connected to the X.25 switch
- by an ISDN line (leased line as well as dial up connection should work)
+ by an ISDN B-channel (leased line as well as dial up connection should
+ work).
+
+ This corresponds to ITU-T recommendation X.31 Case A (circuit-mode
+ access to PSPDN [packet switched public data network]).
+
+ NOTE: X.31 also covers a Case B (access to PSPDN via virtual
+ circuit / packet mode service). The latter mode (which in theory
+ also allows using the D-channel) is not supported by isdn4linux.
+ It should however be possible to establish such packet mode connections
+ with certain active isdn cards provided that the firmware supports X.31
+ and the driver exports this functionality to the user. Currently,
+ the AVM B1 driver is the only driver which does so. (It should be
+ possible to access D-channel X.31 with active AVM cards using the
+ CAPI interface of the AVM-B1 driver).
- Or you might want to operate certain ISDN teleservices on your linux
box. A lot of those teleservices run on top of the ISO-8208
diff --git a/Documentation/kbuild/config-language.txt b/Documentation/kbuild/config-language.txt
index 50b788730..357dc5122 100644
--- a/Documentation/kbuild/config-language.txt
+++ b/Documentation/kbuild/config-language.txt
@@ -120,6 +120,7 @@ Here are all the statements:
Dependent statements:
dep_bool /prompt/ /symbol/ /dep/ ...
+ dep_mbool /prompt/ /symbol/ /dep/ ...
dep_hex /prompt/ /symbol/ /word/ /dep/ ...
dep_int /prompt/ /symbol/ /word/ /dep/ ...
dep_string /prompt/ /symbol/ /word/ /dep/ ...
@@ -386,8 +387,8 @@ mconfig: implemented
Example:
- # Not from the corpus
- define_int CONFIG_UID_TORVALDS 2026
+ # drivers/char/ftape/Config.in
+ define_int CONFIG_FT_ALPHA_CLOCK 0
@@ -424,10 +425,15 @@ mconfig: implemented
Example:
- # not from the corpus
- if [ "$CONFIG_ZFTAPE" != "n" ]; then
- comment 'The compressor will be built as a module only!'
- define_tristate CONFIG_ZFT_COMPRESSOR m
+ # drivers/video/Config.in
+ if [ "$CONFIG_FB_AMIGA" = "y" ]; then
+ define_tristate CONFIG_FBCON_AFB y
+ define_tristate CONFIG_FBCON_ILBM y
+ else
+ if [ "$CONFIG_FB_AMIGA" = "m" ]; then
+ define_tristate CONFIG_FBCON_AFB m
+ define_tristate CONFIG_FBCON_ILBM m
+ fi
fi
@@ -438,6 +444,36 @@ This verb evaluates all of the dependencies in the dependency list.
Any dependency which has a value of "y" does not restrict the input
range. Any dependency which has an empty value is ignored.
Any dependency which has a value of "n", or which has some other value,
+(like "m") restricts the input range to "n". Quoting dependencies is not
+allowed. Using dependencies with an empty value possible is not
+recommended. See also dep_mbool below.
+
+If the input range is restricted to the single choice "n", dep_bool
+silently assigns "n" to /symbol/. If the input range has more than
+one choice, dep_bool displays /prompt/ to the user, accepts a value
+from the user, and assigns that value to /symbol/.
+
+Configure: implemented
+Menuconfig: implemented
+XConfig: implemented
+mconfig: implemented
+
+Example:
+
+ # drivers/net/Config.in
+ dep_bool 'Aironet 4500/4800 PCI support 'CONFIG_AIRONET4500_PCI $CONFIG_PCI
+
+Known bugs:
+- Xconfig does not write "# foo is not set" to .config (as well as
+ "#unset foo" to autoconf.h) if command is disabled by its dependencies.
+
+
+=== dep_mbool /prompt/ /symbol/ /dep/ ...
+
+This verb evaluates all of the dependencies in the dependency list.
+Any dependency which has a value of "y" or "m" does not restrict the
+input range. Any dependency which has an empty value is ignored.
+Any dependency which has a value of "n", or which has some other value,
restricts the input range to "n". Quoting dependencies is not allowed.
Using dependencies with an empty value possible is not recommended.
@@ -446,13 +482,18 @@ silently assigns "n" to /symbol/. If the input range has more than
one choice, dep_bool displays /prompt/ to the user, accepts a value
from the user, and assigns that value to /symbol/.
+Notice that the only difference between dep_bool and dep_mbool
+is in the way of treating the "m" value as a dependency.
+
Configure: implemented
Menuconfig: implemented
XConfig: implemented
-mconfig: implemented
+mconfig: not implemented
- # not from the corpus
- dep_bool 'RZ1000 chipset bugfix/support' CONFIG_BLK_DEV_RZ1000 $CONFIG_PCI
+Example:
+
+ # Not from the corpus
+ dep_mbool 'Packet socket: mmapped IO' CONFIG_PACKET_MMAP $CONFIG_PACKET
Known bugs:
- Xconfig does not write "# foo is not set" to .config (as well as
@@ -492,6 +533,11 @@ Menuconfig: implemented
Xconfig: implemented
mconfig: implemented
+Example:
+
+ # drivers/char/Config.in
+ dep_tristate 'Parallel printer support' CONFIG_PRINTER $CONFIG_PARPORT
+
Known bugs:
- Xconfig does not write "# foo is not set" to .config (as well as
"#unset foo" to autoconf.h) if command is disabled by its dependencies.
@@ -508,6 +554,13 @@ Menuconfig: implemented
Xconfig: implemented (with bugs)
mconfig: implemented
+Example:
+
+ # arch/mips/config.in
+ unset CONFIG_PCI
+ unset CONFIG_MIPS_JAZZ
+ unset CONFIG_VIDEO_G364
+
=== choice /prompt/ /word/ /word/
@@ -538,6 +591,14 @@ Menuconfig: implemented
Xconfig: implemented
mconfig: implemented
+Example:
+
+ # arch/i386/config.in
+ choice ' PCI access mode' \
+ "BIOS CONFIG_PCI_GOBIOS \
+ Direct CONFIG_PCI_GODIRECT \
+ Any CONFIG_PCI_GOANY" Any
+
=== nchoice /prompt/ /symbol/ /prompt/ /symbol/ ...
@@ -603,9 +664,6 @@ Xconfig has some known bugs, and probably some unknown bugs too:
- literals with an empty "" value are not properly handled.
-- tkparse gives the wrong precedence to -o, -a, and !. Don't use both
- -o and -a in an expression. Don't use ! at all.
-
=== mainmenu_option next_comment
diff --git a/Documentation/magic-number.txt b/Documentation/magic-number.txt
index 4449732ab..5b81ca3f8 100644
--- a/Documentation/magic-number.txt
+++ b/Documentation/magic-number.txt
@@ -48,7 +48,7 @@ Magic Name Number Structure File
PG_MAGIC 'P' pg_{read,write}_hdr include/linux/pg.h
MKISS_DRIVER_MAGIC 0x04bf mkiss_channel drivers/net/mkiss.h
RISCOM8_MAGIC 0x0907 riscom_port drivers/char/riscom8.h
-APM_BIOS_MAGIC 0x4101 apm_bios_struct include/linux/apm_bios.h
+APM_BIOS_MAGIC 0x4101 apm_user arch/i386/kernel/apm.c
CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h
FASYNC_MAGIC 0x4601 fasync_struct include/linux/fs.h
PTY_MAGIC 0x5001 (none at the moment)
diff --git a/Documentation/networking/bridge.txt b/Documentation/networking/bridge.txt
new file mode 100644
index 000000000..043a14b16
--- /dev/null
+++ b/Documentation/networking/bridge.txt
@@ -0,0 +1,11 @@
+In order to use the ethernet bridging functionality you'll need the
+userspace tools available at ftp://openrock.net/bridge. The tarball
+available there contains extensive documentation, but if you still have
+questions, don't hesitate to post to the mailing list (more info at
+http://openrock.net/mailman/listinfo/bridge). You can also mail me at
+buytenh@openrock.net.
+
+
+
+Lennert Buytenhek
+<buytenh@openrock.net>
diff --git a/Documentation/networking/decnet.txt b/Documentation/networking/decnet.txt
index ca2f16fc6..2ceceecb6 100644
--- a/Documentation/networking/decnet.txt
+++ b/Documentation/networking/decnet.txt
@@ -24,7 +24,7 @@
Be sure to turn on the following options:
CONFIG_DECNET (obviously)
- CONFIG_PROCFS (to see what's going on)
+ CONFIG_PROC_FS (to see what's going on)
CONFIG_SYSCTL (for easy configuration)
if you want to try out router support (not properly debugged yet)
diff --git a/Documentation/networking/skfp.txt b/Documentation/networking/skfp.txt
new file mode 100644
index 000000000..edf275b61
--- /dev/null
+++ b/Documentation/networking/skfp.txt
@@ -0,0 +1,214 @@
+(C)Copyright 1998-2000 SysKonnect,
+===========================================================================
+
+skfp.txt created 17-Feb-2000
+
+Readme File for skfp.o v2.05
+
+
+This file contains
+(1) OVERVIEW
+(2) SUPPORTED ADAPTERS
+(3) GENERAL INFORMATION
+(4) INSTALLATION
+(5) INCLUSION OF THE ADAPTER IN SYSTEM START
+(6) TROUBLESHOOTING
+(7) FUNCTION OF THE ADAPTER LEDS
+(8) HISTORY
+
+===========================================================================
+
+
+
+(1) OVERVIEW
+============
+
+This README explains how to use the driver 'skfp' for Linux with your
+network adapter.
+
+Chapter 2: Contains a list of all network adapters that are supported by
+ this driver.
+
+Chapter 3: Gives some general information.
+
+Chapter 4: Describes common problems and solutions.
+
+Chapter 5: Shows the changed functionality of the adapter LEDs.
+
+Chapter 6: History of development.
+
+***
+
+
+(2) SUPPORTED ADAPTERS
+======================
+
+The network driver 'skfp' supports the following network adapters:
+SysKonnect adapters:
+ - SK-5521 (SK-NET FDDI-UP)
+ - SK-5522 (SK-NET FDDI-UP DAS)
+ - SK-5541 (SK-NET FDDI-FP)
+ - SK-5543 (SK-NET FDDI-LP)
+ - SK-5544 (SK-NET FDDI-LP DAS)
+ - SK-5821 (SK-NET FDDI-UP64)
+ - SK-5822 (SK-NET FDDI-UP64 DAS)
+ - SK-5841 (SK-NET FDDI-FP64)
+ - SK-5843 (SK-NET FDDI-LP64)
+ - SK-5844 (SK-NET FDDI-LP64 DAS)
+Compaq adapters (not tested):
+ - Netelligent 100 FDDI DAS Fibre SC
+ - Netelligent 100 FDDI SAS Fibre SC
+ - Netelligent 100 FDDI DAS UTP
+ - Netelligent 100 FDDI SAS UTP
+ - Netelligent 100 FDDI SAS Fibre MIC
+***
+
+
+(3) GENERAL INFORMATION
+=======================
+
+From v2.01 on, the driver is integrated in the linux kernel sources.
+Therefor, the installation is the same as for any other adapter
+supported by the kernel.
+Refer to the manual of your distribution about the installation
+of network adapters.
+Makes my life much easier :-)
+***
+
+
+(4) TROUBLESHOOTING
+===================
+
+If you run into problems during installation, check those items:
+
+Problem: The FDDI adapter can not be found by the driver.
+Reason: Look in /proc/pci for the following entry:
+ 'FDDI network controller: SysKonnect SK-FDDI-PCI ...'
+ If this entry exists, then the FDDI adapter has been
+ found by the system and should be able to be used.
+ If this entry does not exist or if the file '/proc/pci'
+ is not there, then you may have a hardware problem or PCI
+ support may not be enabled in your kernel.
+ The adapter can be checked using the diagnostic program
+ which is available from the SysKonnect web site:
+ www.syskonnect.de
+ Some COMPAQ machines have a problem with PCI under
+ Linux. This is described in the 'PCI howto' document
+ (included in some distributions or available from the
+ www, e.g. at 'www.linux.org') and no workaround is available.
+
+Problem: You want to use your computer as a router between
+ multiple IP subnetworks (using multiple adapters), but
+ you can not reach computers in other subnetworks.
+Reason: Either the router's kernel is not configured for IP
+ forwarding or there is a problem with the routing table
+ and gateway configuration in at least one of the
+ computers.
+
+If your problem is not listed here, please contact our
+technical support for help.
+You can send email to:
+ linux@syskonnect.de
+When contacting our technical support,
+please ensure that the following information is available:
+- System Manufacturer and Model
+- Boards in your system
+- Distribution
+- Kernel version
+
+***
+
+
+(5) FUNCTION OF THE ADAPTER LEDS
+================================
+
+ The functionality of the LED's on the FDDI network adapters was
+ changed in SMT version v2.82. With this new SMT version, the yellow
+ LED works as a ring operational indicator. An active yellow LED
+ indicates that the ring is down. The green LED on the adapter now
+ works as a link indicator where an active GREEN LED indicates that
+ the respective port has a physical connection.
+
+ With versions of SMT prior to v2.82 a ring up was indicated if the
+ yellow LED was off while the green LED(s) showed the connection
+ status of the adapter. During a ring down the green LED was off and
+ the yellow LED was on.
+
+ All implementations indicate that a driver is not loaded if
+ all LEDs are off.
+
+***
+
+
+(6) HISTORY
+===========
+
+v2.05 (20000217) (In-Kernel version)
+ New features:
+ - Changes for 2.3.45 kernel
+
+v2.04 (20000207) (Standalone version)
+ New features:
+ - Added rx/tx byte counter
+
+v2.03 (20000111) (Standalone version)
+ Problems fixed:
+ - Fixed printk statements from v2.02
+
+v2.02 (991215) (Standalone version)
+ Problems fixed:
+ - Removed unnecessary output
+ - Fixed path for "printver.sh" in makefile
+
+v2.01 (991122) (In-Kernel version)
+ New features:
+ - Integration in Linux kernel sources
+ - Support for memory mapped I/O.
+
+v2.00 (991112)
+ New features:
+ - Full source released under GPL
+
+v1.05 (991023)
+ Problems fixed:
+ - Compilation with kernel version 2.2.13 failed
+
+v1.04 (990427)
+ Changes:
+ - New SMT module included, changing LED functionality
+ Problems fixed:
+ - Synchronization on SMP machines was buggy
+
+v1.03 (990325)
+ Problems fixed:
+ - Interrupt routing on SMP machines could be incorrect
+
+v1.02 (990310)
+ New features:
+ - Support for kernel versions 2.2.x added
+ - Kernel patch instead of private duplicate of kernel functions
+
+v1.01 (980812)
+ Problems fixed:
+ Connection hangup with telnet
+ Slow telnet connection
+
+v1.00 beta 01 (980507)
+ New features:
+ None.
+ Problems fixed:
+ None.
+ Known limitations:
+ - tar archive instead of standard package format (rpm).
+ - FDDI statistic is empty.
+ - not tested with 2.1.xx kernels
+ - integration in kernel not tested
+ - not tested simultaneously with FDDI adapters from other vendors.
+ - only X86 processors supported.
+ - SBA (Synchronous Bandwidth Allocator) parameters can
+ not be configured.
+ - does not work on some COMPAQ machines. See the PCI howto
+ document for details about this problem.
+ - data corruption with kernel versions below 2.0.33.
+
+*** End of information file ***
diff --git a/Documentation/usb/usb-serial.txt b/Documentation/usb/usb-serial.txt
index e9e94510b..2a022f506 100644
--- a/Documentation/usb/usb-serial.txt
+++ b/Documentation/usb/usb-serial.txt
@@ -67,20 +67,6 @@ Current status:
http://usbvisor.sourceforge.net/
-Belkin single port serial converter
-Peracom single port serial converter
-
-Current status:
- The driver can handle enumerating the device, and sending and receiving
- data from the converter. However, since I do not have a spec for the
- Belkin, Peracom, and eTek devices, and the raw dumps from the Win98
- driver are confusing, and eTek refuses to provide documentation on their
- protocol, no control signals are currently handled, and the data will
- most likely come through on a baud rate that you are not expecting. So
- if you have these devices, do not expect the correct data to show up at
- either end.
-
-
Generic Serial driver
If your device is not one of the above listed devices, compatible with