summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-12-06 23:51:34 +0000
committerRalf Baechle <ralf@linux-mips.org>1997-12-06 23:51:34 +0000
commit230e5ab6a084ed50470f101934782dbf54b0d06b (patch)
tree5dd821c8d33f450470588e7a543f74bf74306e9e /Documentation
parentc9b1c8a64c6444d189856f1e26bdcb8b4cd0113a (diff)
Merge with Linux 2.1.67.
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/00-INDEX2
-rw-r--r--Documentation/Configure.help917
-rw-r--r--Documentation/VGA-softcursor.txt34
-rw-r--r--Documentation/cyrix.txt201
-rw-r--r--Documentation/devices.tex136
-rw-r--r--Documentation/devices.txt183
-rw-r--r--Documentation/filesystems/00-INDEX2
-rw-r--r--Documentation/filesystems/smbfs.txt67
-rw-r--r--Documentation/filesystems/vfat.txt304
-rw-r--r--Documentation/ftape.txt326
-rw-r--r--Documentation/ioctl-number.txt2
-rw-r--r--Documentation/joystick.txt200
-rw-r--r--Documentation/m68k/00-INDEX2
-rw-r--r--Documentation/m68k/amiboot.txt282
-rw-r--r--Documentation/m68k/kernel-options.txt31
-rw-r--r--Documentation/magic-number.txt65
-rw-r--r--Documentation/modules.txt9
-rw-r--r--Documentation/nbd.txt57
-rw-r--r--Documentation/networking/DLINK.txt205
-rw-r--r--Documentation/networking/PLIP.txt162
-rw-r--r--Documentation/networking/README.cops39
-rw-r--r--Documentation/networking/cops.txt63
-rw-r--r--Documentation/networking/de4x5.txt143
-rw-r--r--Documentation/networking/dgrs.txt52
-rw-r--r--Documentation/networking/eql.txt528
-rw-r--r--Documentation/networking/ethertap.txt88
-rw-r--r--Documentation/networking/ewrk3.txt45
-rw-r--r--Documentation/networking/ip-sysctl.txt14
-rw-r--r--Documentation/networking/ltpc.txt98
-rw-r--r--Documentation/networking/multicast.txt57
-rw-r--r--Documentation/networking/pt.txt58
-rw-r--r--Documentation/networking/scc.txt23
-rw-r--r--Documentation/networking/smc9.txt42
-rw-r--r--Documentation/networking/wanpipe.txt148
-rw-r--r--Documentation/networking/wavelan.txt33
-rw-r--r--Documentation/nfsroot.txt52
-rw-r--r--Documentation/parport.txt31
-rw-r--r--Documentation/powerpc/00-INDEX2
-rw-r--r--Documentation/powerpc/ppc_htab.txt81
-rw-r--r--Documentation/powerpc/sound.txt57
-rw-r--r--Documentation/svga.txt5
41 files changed, 3987 insertions, 859 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX
index c1c171f2b..a1d313660 100644
--- a/Documentation/00-INDEX
+++ b/Documentation/00-INDEX
@@ -36,6 +36,8 @@ ez.txt
- documentation for the SyQuest parallel port EZ drive support.
filesystems/
- directory with info on the various filesystems that Linux supports.
+ftape.txt
+ - notes about the floppy tape device driver
ide.txt
- important info for users of ATA devices (IDE/EIDE disks and CD-ROMS)
initrd.txt
diff --git a/Documentation/Configure.help b/Documentation/Configure.help
index 78525c4e0..70b2de593 100644
--- a/Documentation/Configure.help
+++ b/Documentation/Configure.help
@@ -148,6 +148,15 @@ CONFIG_BLK_DEV_LOOP
nothing to do with the loopback device used for network connections
from the machine to itself. Most users will answer N here.
+Network Block Device support
+CONFIG_BLK_DEV_NBD
+ Saying Y here will allow computer to serve as client for network
+ block device - it will be able to use block devices exported by
+ servers (mount filesystems on them etc.). It also allows you to run
+ a block-device in userland (making server and client physicaly the same
+ computer, communicating using loopback). Normal users say N
+ here. Read Documentation/nbd.txt.
+
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
CONFIG_BLK_DEV_IDE
This will use the full-featured IDE driver to control up to four IDE
@@ -449,6 +458,33 @@ CONFIG_DECSTATION
http://lena.fnet.fr/ (To browse the WWW, you need to have access to
a machine on the Internet that has a program like lynx or netscape).
+RAID-1 (mirroring) mode
+CONFIG_MD_MIRRORING
+ A RAID-1 set consists of several disk drives which are exact copies
+ of each other. In the event of a mirror failure, the RAID driver
+ will continue to use the operational mirrors in the set, providing
+ an error free MD device to the higher levels of the kernel. In
+ a set with N drives, the available space is the capacity of a single
+ drive, and the set protects against a failure of (N - 1) drives.
+ raidtools, a set of user-space tools which create and maintain
+ RAID1/4/5 sets, is available at:
+ ftp://ftp.kernel.org/pub/linux/daemons/raid
+ http://luthien.nuclecu.unam.mx/~miguel/raid
+
+RAID-4/RAID-5 mode
+CONFIG_MD_RAID5
+ A RAID-5 set of N drives with a capacity of C MB per drive provides
+ the capacity of C * (N - 1) drives, and protects against a failure
+ of a single drive. For a given sector (row) number, (N - 1) drives
+ contain data sectors, and one drive contains the parity protection.
+ For a RAID-4 set, the parity blocks are present on a single drive,
+ while a RAID-5 set distributes the parity accross the drives in one
+ of the available parity distribution methods.
+ raidtools, a set of user-space tools which create and maintain
+ RAID1/4/5 sets, is available at:
+ ftp://ftp.kernel.org/pub/linux/daemons/raid
+ http://luthien.nuclecu.unam.mx/~miguel/raid
+
Support for Deskstation RPC44
CONFIG_DESKSTATION_RPC44
This is a machine with a R4400 100 MHz CPU. To compile a Linux
@@ -524,7 +560,30 @@ CONFIG_NET
kernel, you should consider updating your networking tools too
because changes in the kernel and the tools often go hand in hand;
see http://www.inka.de/sites/lina/linux/NetTools/index_en.html for
- details.
+ details.
+
+Packet socket
+CONFIG_PACKET
+ Packet protocol is used by applications directly communicating
+ to network devices f.e. tcpdump. You want that they worked,
+ so that choose Y. If you run kerneld, option M is the best solution.
+
+Kernel/User netlink socket
+CONFIG_NETLINK
+ This protocol family is used for bi-directional communication
+ between kernel and user level daemons. This option is unlikely to
+ be useful for common workstation, but if you configure router or
+ firewall, do not hesitate: press Y.
+
+Routing messages
+CONFIG_RTNETLINK
+ One of netlink protocols used by kernel routing engine.
+ You will need it to use advanced routing features.
+
+Netlink device emulation
+CONFIG_NETLINK_DEV
+ It is backward compatibility option, choose Y for now.
+ This option will be removed soon.
Network aliasing
CONFIG_NET_ALIAS
@@ -761,9 +820,10 @@ CONFIG_PCI_DIRECT
PCI bridge optimization (experimental)
CONFIG_PCI_OPTIMIZE
- This can improve access times for some hardware devices under
- certain BIOSes if your computer uses a PCI bus system. This is
- recommended; say Y.
+ This can improve access times for some hardware devices if you have
+ a really broken BIOS and your computer uses a PCI bus system. Set to Y
+ if you think it might help, but try turning it off if you experience
+ any problems with the PCI bus.
MCA support
CONFIG_MCA
@@ -902,11 +962,11 @@ CONFIG_BINFMT_MISC
you have use for it.
If you don't know what to answer at this point, say Y.
-Processor type
+Processor family
CONFIG_M386
This is the processor type of your CPU. This information is used for
optimizing purposes. In order to compile a kernel that can run on
- all Intel CPU types (albeit not optimally fast), you can specify
+ all x86 CPU types (albeit not optimally fast), you can specify
"386" here. If you specify one of "486" or "Pentium" or "PPro",
then the kernel will run on all of these CPUs: 486 and Pentium
(=586) and Pentium Pro (=686). In rare cases, it can make sense to
@@ -989,6 +1049,72 @@ CONFIG_PNP_PARPORT
when requested. If this option is enabled the kernel will probe to see
what devices are connected at boot time.
+Plug and Play subsystem (EXPERIMENTAL)
+CONFIG_PNP_DRV
+ This enables support for the new Plug-and-Play (or PnP) Linux
+ subsystems. This support is required for PnP ISA support, and for PnP
+ Legacy support. User-mode utilities for this support may be found at
+ http://www.lpsg.demon.co.uk/pnp-linux.html.
+
+PnP resource management
+CONFIG_KERNEL_PNP_RESOURCE
+ This option will cause the new PnP generic resource management
+ routines to be used instead of the old routines request_xxx and
+ free_xxx. Emulation routines are put in place to support the old
+ calling style. This code support masks for IO decoding (required for
+ Plug and Play devices). There is no need to enable this option unless
+ you want to - these features will still be used where they are needed.
+ However, enabling it will reduce your kernel size slightly, and also
+ allow you to test this code more extensively.
+
+Support for boot-loaded PnP configuration (RECOMMENDED)
+CONFIG_PNP_BLDCONFIG
+ This will enable support for preloading data about the configuration
+ of any Plug-and-Play devices in the system into the kernel at boot
+ time, which means that any devices required at boot can be configured
+ at this time manually. Say Y unless you have a reason not to.
+
+PnP ISA support
+CONFIG_PNP_ISA
+ This option is required to allow the Linux PnP subsystem to handle
+ Plug and Play ISA devices. This includes full support for PnP ISA,
+ including the I/O range check feature.
+
+PnP ISA backwards-compatiblity support
+CONFIG_PNP_ISA_COMPAT
+ This option will enable partial backwards compatibility with drivers
+ written using older versions (up to the last 0.2.x) of the PnP driver
+ written by Tom Lees <tom@lpsg.demon.co.uk>.
+
+PnP Legacy device support
+CONFIG_PNP_LEGACY
+ Before PnP ISA was standardized, several "jumperless", or
+ "soft-configurable" boards were finding there way onto the market.
+ These cards used somewhat proprietary mechanisms for configuring
+ IRQs, DMAs, IO addresses, and memory ranges. These devices (mainly
+ network cards, but also some sound card) can be configured as any
+ other PnP device can by enabling this option, if appropriate drivers
+ for these devices are available.
+
+PnP sysctl support (RECOMMENDED)
+CONFIG_PNP_SYSCTL
+ This option enables support for the user-mode interface to the
+ kernel-mode PnP systems. It requires that you enable CONFIG_SYSCTL.
+ The only reason you might want to switch this off is if you aren't
+ going to use user-mode utilities to configure PnP, and you want to
+ save a couple of kilobytes of kernel space. Answer Y unless you know
+ what you are doing. User-mode utilities and a library for accessing
+ this interface may be found at
+ http://www.lpsg.demon.co.uk/pnp-linux.html.
+
+PnP auto-configures all devices on startup
+CONFIG_PNP_BOOTINIT
+ This option will allow the PnP subsystem to automatically configure
+ all the PnP devices it finds upon system startup (or at least
+ attempt to). This is useful if you have older driver which do not use
+ the Linux-PnP system to configure PnP devices, and which you need
+ configured by PnP in order to use.
+
Enable loadable module support
CONFIG_MODULES
Kernel modules are small pieces of compiled code which can be
@@ -1065,9 +1191,7 @@ CONFIG_INET
IP: multicasting
CONFIG_IP_MULTICAST
This is code for addressing several networked computers at once,
- enlarging your kernel by about 2 kB. If you are using gated, the
- daemon that updates your computer's routing tables, you will need to
- have this option compiled in. You also need multicasting if you
+ enlarging your kernel by about 2 kB. You need multicasting if you
intend to participate in the MBONE, a high bandwidth network on top
of the internet which carries audio and video broadcasts. More
information about the MBONE is on the WWW at
@@ -1138,6 +1262,39 @@ CONFIG_IP_ACCT
recorded, you need the tool ipfwadm (available via ftp (user:
anonymous) from ftp.xos.nl/pub/linux/ipfwadm/).
+IP: kernel level autoconfiguration
+CONFIG_IP_PNP
+ This enables automatic configuration of IP addresses of devices and
+ of the routing table during kernel boot, based on either information
+ supplied at the kernel command line or by BOOTP or RARP protocols.
+ You need to say Y only for diskless machines requiring network access
+ to boot (see CONFIG_ROOT_NFS for more information about root volume
+ mounted via NFS), because all other machines configure the network in
+ their startup scripts.
+
+BOOTP support
+CONFIG_IP_PNP_BOOTP
+ If you want your Linux box to mount its whole root filesystem from
+ some other computer over the net via NFS and you want the IP address
+ of your computer to be discovered automatically at boot time using
+ the BOOTP protocol (a special protocol designed for doing this job),
+ say Y here. In case the boot ROM of your network card was designed
+ for booting Linux and does BOOTP itself, providing all necessary
+ information on the kernel command line, you can say N here. If
+ unsure, say Y. Note that in case you want to use BOOTP, a BOOTP
+ server must be operating on your network. Read
+ Documentation/nfsroot.txt for details.
+
+RARP support
+CONFIG_IP_PNP_RARP
+ If you want your Linux box to mount its whole root filesystem from
+ some other computer over the net via NFS and you want the IP address
+ of your computer to be discovered automatically at boot time using
+ the RARP protocol (an older protocol which is being obsoleted by
+ BOOTP and DHCP), say Y here. Note that in case you want to use RARP,
+ a RARP server must be operating on your network. Read
+ Documentation/nfsroot.txt for details.
+
IP: tunneling
CONFIG_NET_IPIP
Tunneling means encapsulating data of one protocol type within
@@ -1154,7 +1311,22 @@ CONFIG_NET_IPIP
one encapsulator called tunnel.o and one decapsulator called
ipip.o. You can read details in drivers/net/README.tunnel. Most
people won't need this and can say N.
-
+
+IP: GRE tunnels over IP
+CONFIG_NET_IPGRE
+ Another kind of tunneling protocol - "Generic Routing Encapsulation".
+ It allows to tunnel any networking protocol over existing IPv4
+ infrastructure. At the moment only IPv4 and IPv6 are supported.
+ It is useful, if another endpoint is Cisco router: it likes
+ GRE much more than IPIP and, particularly, allows multicasts
+ redistribution over GRE tunnels.
+
+IP: broadcast GRE over IP
+CONFIG_NET_IPGRE_BROADCAST
+ One application of GRE/IP, allowing to construct broadcast LAN,
+ looking like ethernet network, distributed over the Internet.
+ It requires, that your domain supported multicast routing.
+
IP: firewall packet logging
CONFIG_IP_FIREWALL_VERBOSE
This gives you information about what your firewall did with
@@ -1246,6 +1418,21 @@ CONFIG_IP_MROUTE
drivers/net/README.multicast. If you haven't heard about it, you
don't need it.
+IP: PIM-SM version 1 support
+CONFIG_IP_PIMSM_V1
+ Kernel side support for Sparse Mode PIM version 1. This multicast
+ routing protocol is used widely due to Cisco supports it.
+ You need special software to use it (pimd-v1). Press N, if
+ you do not want to use PIM-SM v1. Note, that Dense Mode PIM
+ need not this option.
+
+IP: PIM-SM version 2 support
+CONFIG_IP_PIMSM_V2
+ Kernel side support for Sparse Mode PIM version 2. You need
+ experimental routing daemon supporting it (pimd or gated-5).
+ This protocol is not used widely, so that press Y, if you
+ do not want play with it.
+
PC/TCP compatibility mode
CONFIG_INET_PCTCP
If you have been having difficulties telneting to your Linux machine
@@ -1346,6 +1533,13 @@ CONFIG_SKB_LARGE
a second or satellite links this option will make no difference to
performance.
+BSD Unix domain sockets
+CONFIG_UNIX
+ Y if you want BSD Unix domain sockets. Unless you are working on an
+ embedded system or somthing, you probably want to say Y. If you try
+ building this as a module and you are running kerneld, you need to make
+ sure and add 'alias net-pf-1 unix' to your /etc/conf.module file.
+
The IPv6 protocol
CONFIG_IPV6
This is experimental support for the next version of the Internet
@@ -1364,6 +1558,20 @@ CONFIG_IPV6
be called ipv6.o. If you want to compile it as a module, say M here
and read Documentation/modules.txt. It's safe to say N for now.
+IPv6: enable EUI-64 token format
+CONFIG_IPV6_EUI64
+ 6bone is moving to new aggregatable address format and new link local
+ address assignment (EUI-64). Say Y, if your site already upgraded, or
+ started upgrade.
+
+IPv6: disable provider based addresses
+CONFIG_IPV6_NO_PB
+ Linux tries to operate correctly, when site is moved to EUI-64
+ only partially. Unfortunately, these two formats ("provider based"
+ and "aggregatable") are incompatible. Say Y, if your site finished
+ upgrade, and/or you encountered some problems caused by presense of
+ two link-local addresses on an interface.
+
The IPX protocol
CONFIG_IPX
This is support for the Novell networking protocol, IPX, commonly
@@ -1720,10 +1928,10 @@ CONFIG_BLK_DEV_SR
Enable vendor-specific extensions (for SCSI CDROM)
CONFIG_BLK_DEV_SR_VENDOR
This enables the usage of vendor specific SCSI commands. This is
- required for some stuff which is newer than the SCSI-II standard:
- MultiSession CD support and some ioctls for reading Mode 2 Form 2
- sectors. You'll probably want to say Y here, unless you have a
- _really old_ CD-ROM drive.
+ required to support multisession CD's on with old NEC/TOSHIBA
+ cdrom drives (and HP Writers). If you have such a drive and get
+ the first session only, try to turn this on. Most drives should
+ work fine without this.
SCSI generic support
CONFIG_CHR_DEV_SG
@@ -2355,6 +2563,15 @@ CONFIG_SCSI_AM53C974
and read Documentation/modules.txt. The module will be called
AM53C974.o.
+GDT SCSI Disk Array Controller support
+CONFIG_SCSI_GDTH
+ This is a driver for all SCSI Disk Array Controllers (EISA/ISA/PCI)
+ manufactured by ICP vortex. It is documented in the kernel source in
+ drivers/scsi/gdth.c and drivers/scsi/gdth.h. This driver is also
+ available as a module ( = code which can be inserted in and removed
+ from the running kernel whenever you want). If you want to compile
+ it as a module, say M here and read Documentation/modules.txt.
+
IOMEGA Parallel Port ZIP drive SCSI support
CONFIG_SCSI_PPA
This driver supports the parallel port version of IOMEGA's ZIP drive
@@ -2384,13 +2601,6 @@ CONFIG_SCSI_PPA_HAVE_PEDANTIC
your EPP chipset is from the SMC series, you are likely to have to
set this value greater than 0.
-EPP Timing
-CONFIG_SCSI_PPA_EPP_TIME
- This is the "reset time period", a delay time. The lower the value,
- the faster the access to the ZIP drive; too low a value may
- cause all sorts of mid-level SCSI problems however. If unsure, go
- with the default.
-
SGI wd93 Scsi Driver
CONFIG_SCSI_SGIWD93
This is the SCSI driver for WD33C93 / WD33C95 SCSI chips used in many
@@ -2704,6 +2914,18 @@ CONFIG_SOUNDMODEM_AFSK2400_8
with many transceiver designs and the fact that the TCM3105 (if
used) is operated widely outside its specifications.
+Soundcard modem support for 2666 baud AFSK modulation
+CONFIG_SOUNDMODEM_AFSK2666
+ This option enables the soundmodem driver 2666 baud AFSK modem.
+ This modem is experimental, and not compatible to anything
+ else I know of.
+
+Soundcard modem support for 4800 baud 8PSK modulation
+CONFIG_SOUNDMODEM_PSK4800
+ This option enables the soundmodem driver 4800 baud 8PSK modem.
+ This modem is experimental, and not compatible to anything
+ else I know of.
+
Soundcard modem support for 4800 baud HAPN-1 modulation
CONFIG_SOUNDMODEM_HAPN4800
This option enables the soundmodem driver 4800 baud HAPN-1
@@ -4280,6 +4502,154 @@ CONFIG_UMSDOS_FS
umsdos.o. Note that the filesystem of your root partition cannot be
a module, so this could be dangerous. If unsure, say N.
+nls: Native language codepages and Unicode support
+CONFIG_NLS
+ This is required by the FAT filesystems and by the ISO9660 filesystem
+ when it is compiled with Joliet support. Joliet is a Microsoft
+ extension for CDROMs that supports Unicode. This allows translation
+ between different character sets. When dealing with the FAT based
+ filesystems, there are two character sets that are important. The
+ first is the codepage. Codepages are character sets that are used by
+ DOS to allow filenames to have native language characters when
+ character sets were limited to 256 characters. The codepage is the
+ character set that is used to store native language characters on
+ disk. The two most common codepages are 437 in the United States and
+ 850 in much of Europe. The second important character set is the
+ input/output character set. This is the character set that is
+ displayed on the screen. In the United States, this will almost always
+ be the ISO 8859-1 character set. This is the default. Linux will only
+ do a translation of the FAT filenames, not the contents of the files.
+
+nls iso8859-1
+CONFIG_NLS_ISO8859_1
+ ISO8859-1 is the Latin 1 character set, and it covers most West
+ European languages such as Albanian, Catalan, Danish, Dutch, English,
+ Faeroese, Finnish, French, German, Galician, Irish, Icelandic, Italian,
+ Norwegian, Portuguese, Spanish, Swedish, and Valencian.
+
+nls iso8859-2
+CONFIG_NLS_ISO8859_2
+ ISO8859-2 is the Latin 2 character set, and it works for most
+ Latin-written Slavic and Central European languages: Czech, German,
+ Hungarian, Polish, Rumanian, Croatian, Slovak, Slovene.
+
+nls iso8859-3
+CONFIG_NLS_ISO8859_3
+ ISO8859-3 is the Latin 3 character set, and it s popular with authors
+ of Esperanto, Galician, Maltese, and Turkish.
+
+nls iso8859-4
+CONFIG_NLS_ISO8859_4
+ ISO8859-4 is the Latin 4 character set, and it introduces letters
+ for Estonian, Latvian, and Lithuanian. It is an incomplete predecessor of
+ Latin 6.
+
+nls iso8859-5
+CONFIG_NLS_ISO8859_5
+ ISO8859-5 is a Cyrillic character set, and you can type Bulgarian,
+ Byelorussian, Macedonian, Russian, Serbian, and Ukrainian.
+ Note that the charset KOI8-R is preferred in Russia.
+
+nls iso8859-6
+CONFIG_NLS_ISO8859_6
+ ISO8859-6 is the Arabic character set.
+
+nls iso8859-7
+CONFIG_NLS_ISO8859_7
+ ISO8859-7 is the Modern Greek character set.
+
+nls iso8859-8
+CONFIG_NLS_ISO8859_8
+ ISO8859-8 is the Hebrew character set.
+
+nls iso8859-9
+CONFIG_NLS_ISO8859_9
+ ISO8859-9 is the Latin 5 character set, and it replaces the rarely
+ needed Icelandic letters in Latin 1 with the Turkish ones. Useful in
+ Turkey.
+
+nls iso8859-10
+CONFIG_NLS_ISO8859_10
+ ISO8859-10 is the Latin 6 character set, and it adds the last Inuit
+ (Greenlandic) and Sami (Lappish) letters that were missing in Latin 4 to
+ cover the entire Nordic area.
+
+nls koi8-r
+CONFIG_NLS_KOI8_R
+ This is the preferred Russian character set.
+
+nls codepage 437
+CONFIG_NLS_CODEPAGE_437
+ This is the DOS codepage that is used in the United States and parts of
+ Canada.
+
+nls codepage 737
+CONFIG_NLS_CODEPAGE_737
+ This is the codepage used by DOS for Greek.
+
+nls codepage 775
+CONFIG_NLS_CODEPAGE_775
+ This is the codepage used by DOS for the Baltic Rim Languages.
+
+nls codepage 850
+CONFIG_NLS_CODEPAGE_850
+ This is the DOS codepage that is used in much of Europe--United Kingdom,
+ Germany, Spain, Italy, and [add more countries here]. It has some
+ characters useful to many European languages that are not part of
+ codepage 437.
+
+nls codepage 852
+CONFIG_NLS_CODEPAGE_852
+ This is the Latin 2 codepage used by DOS for much of Central and
+ Eastern Europe. It has all the required characters for these languages:
+ Albanian, Croatian, Czech, English, Finnish, Hungarian, Irish, German,
+ Polish, Romanian, Serbian (Latin transcription), Slovak, Slovenian, and
+ Sorbian.
+
+nls codepage 855
+CONFIG_NLS_CODEPAGE_855
+ This is the DOS codepage that is used for Cyrillic.
+
+nls codepage 857
+CONFIG_NLS_CODEPAGE_857
+ This is the DOS codepage that is used for Turkish.
+
+nls codepage 860
+CONFIG_NLS_CODEPAGE_860
+ This is the DOS codepage that is used for Portuguese.
+
+nls codepage 861
+CONFIG_NLS_CODEPAGE_861
+ This is the DOS codepage that is used for Icelandic.
+
+nls codepage 862
+CONFIG_NLS_CODEPAGE_862
+ This is the DOS codepage that is used for Hebrew.
+
+nls codepage 863
+CONFIG_NLS_CODEPAGE_863
+ This is the DOS codepage that is used for Canadian French.
+
+nls codepage 864
+CONFIG_NLS_CODEPAGE_864
+ This is the DOS codepage that is used for Arabic.
+
+nls codepage 865
+CONFIG_NLS_CODEPAGE_865
+ This is the DOS codepage that is used in the Nordic European countries.
+
+nls codepage 866
+CONFIG_NLS_CODEPAGE_866
+ This is the DOS codepage that is used for Cyrillic/Russian.
+
+nls codepage 869
+CONFIG_NLS_CODEPAGE_869
+ This is the DOS codepage that is used for Greek.
+
+nls codepage 874
+CONFIG_NLS_CODEPAGE_874
+ This is the DOS codepage that is used for Thai.
+
/proc filesystem support
CONFIG_PROC_FS
This is a virtual filesystem providing information about the status
@@ -4350,29 +4720,6 @@ CONFIG_NFSD
module, say M here and read Documentation/modules.txt. If unsure,
say N.
-BOOTP support
-CONFIG_RNFS_BOOTP
- If you want your Linux box to mount its whole root filesystem from
- some other computer over the net via NFS and you want the IP address
- of your computer to be discovered automatically at boot time using
- the BOOTP protocol (a special protocol designed for doing this job),
- say Y here. In case the boot ROM of your network card was designed
- for booting Linux and does BOOTP itself, providing all necessary
- information on the kernel command line, you can say N here. If
- unsure, say Y. Note that in case you want to use BOOTP, a BOOTP
- server must be operating on your network. Read
- Documentation/nfsroot.txt for details.
-
-RARP support
-CONFIG_RNFS_RARP
- If you want your Linux box to mount its whole root filesystem from
- some other computer over the net via NFS and you want the IP address
- of your computer to be discovered automatically at boot time using
- the RARP protocol (an older protocol which is being obsoleted by
- BOOTP and DHCP), say Y here. Note that in case you want to use RARP,
- a RARP server must be operating on your network. Read
- Documentation/nfsroot.txt for details.
-
ISO9660 cdrom filesystem support
CONFIG_ISO9660_FS
This is the standard filesystem used on CDROMs. It was previously
@@ -4894,22 +5241,278 @@ CONFIG_QIC02_DYNCONF
support package.
If you want to use the qic02conf program, say Y.
-Ftape (QIC-80/Travan) support
+Floppy tape drive (QIC-80/40/3010/3020/TR-1/TR-2/TR-3) support
CONFIG_FTAPE
- If you have a tape drive that is connected to your floppy
- controller, say Y here. Some tape drives (like the Iomega Ditto
- 3200) come with a high speed controller of its own. These drives
- (and their companion controller) are also supported by this driver,
- so say Y if you have one. If you have a special controller (such as
- the CMS FC-10, FC-20, Iomega Mach-II, or Ditto Dash), you must say Y
- here and configure it by editing the file
- drivers/char/ftape/Makefile. If you want to use such a tape drive on
- a PCI-bus based system, please read the file
- drivers/char/ftape/README.PCI. This driver is also available as a
- runtime loadable module ( = code which can be inserted in and
- removed from the running kernel whenever you want). If you want to
- compile it as a module, say M here and read
- Documentation/modules.txt. The module will be called ftape.o.
+ If you have a tape drive that is connected to your floppy
+ controller, say `Y' here. Some tape drives (like the Seagate "Tape
+ Store 3200" or the Iomega "Ditto 3200" or the Exabyte "Eagle TR-3")
+ come with a "high speed" controller of their own. These drives (and
+ their companion controllers) are also supported.
+ If you have a special controller (such as the CMS FC-10, FC-20,
+ Mountain Mach-II, or any controller that is based on the Intel 82078
+ FDC like the high speed controllers by Seagate and Exabyte and
+ Iomega's "Ditto Dash") you must configure it by selecting the
+ appropriate entries from the "Floppy tape controllers" sub-menu and
+ possibly modify the default values for the IRQ and DMA channel and
+ the IO base in ftape's configuration menu. If you want to use your
+ floppy tape drive on a PCI-bus based system, please read the file
+ `./drivers/char/ftape/README.PCI'.
+ The ftape kernel driver is also available as a runtime loadable
+ module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). If you want to compile it as a
+ module, say `M' here and read `./Documentation/modules.txt'.
+ Note that the `Ftape-HOWTO' is out of date (sorry), but there is a
+ web page with more recent documentation at
+ `http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/'. This page
+ always contains the latest release of the ftape driver and useful
+ information (backup software, ftape related patches and
+ documentation, FAQ). The Ftape-HOWTO still contains useful
+ information, though, but documents the older 2.08 version of ftape,
+ whereas this version of ftape is 3.04.
+ Note that the file system interface has changed quite a lot
+ compared to previous versions of ftape. Please read
+ `./Documentation/ftape.txt'
+
+The file system interface for ftape
+CONFIG_ZFTAPE
+ Normally, you want to say `Y' or `M'. DON'T say `N' here or you
+ WON'T BE ABLE TO USE YOUR FLOPPY TAPE DRIVE.
+ The ftape module itself no longer contains the routines necessary
+ to interface with the kernel VFS layer (i.e. to actually write data
+ to and read data from the tape drive). Instead the file system
+ interface (i.e. the hardware independent part of the driver) has
+ been moved to a separate module.
+ If you say `M' zftape will be compiled as as a runtime loadable
+ module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). In this case you should read
+ `./Documentation/modules.txt'.
+ There will also be another module called `zft-compressor.o' which
+ contains code to support user transparent on-the-fly compression
+ based on Ross William's lzrw3 algorithm. `zft-compressor.o' will be
+ compiled as a runtime loadable module only. If you have enabled
+ auto-loading of kernel modules via `kerneld' (i.e. have said `Y' to
+ CONFIG_KERNELD) then `zft-compressor.o' will be loaded automatically
+ by zftape when needed.
+ Despite of its name zftape does NOT use compression by
+ default. The file `./Documentation/ftape.txt' contains a short
+ description of the most important changes in the file system
+ interface compared to previous versions of ftape. The ftape home
+ page `http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/'
+ contains further information. IMPORTANT NOTE: zftape can read
+ archives created by previous versions of ftape and provide file mark
+ support (i.e. fast skipping between tape archives) but previous
+ version of ftape will lack file mark support when reading archives
+ produced by zftape.
+
+Builtin on-the-fly compression for zftape, based on lzrw3
+CONFIG_ZFT_COMPRESSOR
+ This module implements builtin on-the-fly compression for ftape's
+ file system interface zftape. `zft-compressor.o' is compiled as a
+ runtime loadable module only and will be loaded by zftape on demand
+ if support for auto-loading of modules via `kerneld' has been
+ enabled (CONFIG_KERNELD).
+
+Default block size for zftape
+CONFIG_ZFT_DFLT_BLK_SZ
+ If unsure leave this at its default value, i.e. 10240. Note that
+ you specify only the default block size here. The block size can be
+ changed at run time using the MTSETBLK tape operation with the
+ MTIOCTOP ioctl (i.e. with "mt -f /dev/qft0 setblk #BLKSZ" from the
+ shell command line).
+ The probably most striking difference between zftape and previous
+ versions of ftape is the fact that all data must be written or read
+ in multiples of a fixed block size. The block size defaults to
+ 10240 which is what GNU tar uses. The values for the block size
+ should be either 1 or multiples of 1024 up to a maximum value of
+ 63488 (i.e. 62k). If you specify `1' then zftape's builtin
+ compression will be disabled.
+ Reasonable values are `10240' (GNU tar's default block size),
+ `5120' (afio's default block size), `32768' (default block size some
+ backup programs assume for SCSI tape drives) or `1' (no restriction
+ on block size, but disables builtin compression).
+
+Number of DMA buffers
+CONFIG_FT_NR_BUFFERS
+ Please leave this at `3"' unless you REALLY know what you are
+ doing. It is not necessary to change this value. Values below 3 make
+ the proper use of ftape impossible, values greater than 3 are waste
+ of memory. You can change the amount of DMA memory used by ftape at
+ runtime with "mt -f /dev/qft0 setdrvbuffer #NUMBUFFERS". Each buffer
+ wastes 32kb of memory. Please note that this memory cannot be
+ swapped out.
+
+Procfs entry for ftape
+CONFIG_FT_PROC_FS
+ Optional. Saying `Y' will result in creation of a file
+ `/proc/ftape' under the proc file system. This 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
+ cartridge, the kernel driver, your tape drive, the floppy disk
+ controller and the error history for the most recent use of the
+ kernel driver. Saying `Y' will enlarge the size of the ftape driver
+ by approximately 2k.
+ WARNING: When compiling ftape as a module (i.e. saying `M' to
+ `CONFIG_FTAPE') 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
+ This option controls the amount of debugging output the ftape driver
+ is ABLE to produce; it does not increase or diminish the debugging
+ level itself. If unsure, leave this at its default setting,
+ i.e. choose "Normal".
+ Ftape can print lots of debugging messages to the system console
+ resp. kernel log files. Reducing the amount of possible debugging
+ output reduces the size of the kernel module by some kb, so it might
+ be a good idea to use "None" for emergency boot floppies.
+ If you want to save memory then the following strategy is
+ recommended: leave this option at its default setting "Normal" until
+ you know that the driver works as expected, afterwards reconfigure
+ the kernel, this time specifying "Reduced" or "None" and recompile
+ and install the kernel as usual. Note that choosing "Excessive"
+ debugging output does not increase the amount of debugging output
+ printed to the console but only makes it possible to produce
+ "Excessive" debugging output.
+ Please read `./Documentation/ftape.txt' for a short description
+ how to control the amount of debugging output.
+
+The floppy drive controller for ftape
+CONFIG_FT_STD_FDC
+ Only change this setting if you have a special controller. If you
+ didn't plug any add-on card into your computer system but just
+ plugged the floppy tape cable into the already existing floppy drive
+ controller then you don't want to change the default setting,
+ i.e. choose "Standard".
+ Choose "MACH-2" if you have a Mountain Mach-2 controller.
+ Choose "FC-10/FC-20" if you have a Colorado FC-10 or FC-20
+ controller.
+ Choose "Alt/82078" if you have another controller that is located at
+ an IO base address different from the standard floppy drive
+ controller's base address of `0x3f0', or uses an IRQ (interrupt)
+ channel different from `6', or a DMA channel different from
+ `2'. This is necessary for any controller card that is based on
+ Intel's 82078 FDC such as Seagate's, Exabyte's and Iomega's "high
+ speed" controllers.
+ If you choose something other than "Standard" then please make
+ sure that the settings for the IO base address and the IRQ and DMA
+ channel in the configuration menus below are correct. Use the manual
+ of your tape drive to determine the correct settings!
+ If you are already successfully using your tape drive with another
+ operating system then you definitely should use the same settings
+ for the IO base, the IRQ and DMA channel that have proven to work
+ with that other OS.
+ Note that this menu lets you specify only the default setting for
+ the hardware setup. The hardware configuration can be changed at
+ boot time (when ftape is compiled into the kernel, i.e. if you
+ have said `Y' to `CONFIG_FTAPE') or module load time (i.e. if you
+ have said `M' to `CONFIG_FTAPE').
+ Please read also the file `./Documentation/ftape.txt' which
+ contains a short description of the parameters that can be set at
+ boot or load time. If you want to use your floppy tape drive on a
+ PCI-bus based system, please read the file
+ `./drivers/char/ftape/README.PCI'.
+
+IO base of the floppy disk controller used with Ftape
+CONFIG_FT_FDC_BASE
+ You don't need to specify a value if the following default
+ settings for the base IO address are correct:
+ <<< MACH-2 : 0x1E0 >>>
+ <<< FC-10/FC-20: 0x180 >>>
+ <<< Secondary : 0x370 >>>
+ Secondary refers to a secondary FDC controller like the "high speed"
+ controllers delivered by Seagate or Exabyte or Iomega's Ditto Dash.
+ Please make sure that the setting for the IO base address
+ specified here is correct. USE THE MANUAL OF YOUR TAPE DRIVE OR
+ CONTROLLER CARD TO DETERMINE THE CORRECT SETTING. If you are already
+ successfully using the tape drive with another operating system then
+ you definitely should use the same settings for the IO base that has
+ proven to work with that other OS.
+ Note that this menu lets you specify only the default setting for
+ the IO base. The hardware configuration can be changed at boot time
+ (when ftape is compiled into the kernel, i.e. if you specify `Y' to
+ `CONFIG_FTAPE') or module load time (i.e. if you have say `M' to
+ `CONFIG_FTAPE').
+ Please read also the file `./Documentation/ftape.txt' which
+ contains a short description of the parameters that can be set at
+ boot or load time.
+
+IRQ channel for the floppy disk controller used with Ftape
+CONFIG_FT_FDC_IRQ
+ You don't need to specify a value if the following default
+ settings for the interrupt channel are correct:
+ <<< MACH-2 : 6 >>>
+ <<< FC-10/FC-20: 9 >>>
+ <<< Secondary : 6 >>>
+ Secondary refers to secondary a FDC controller like the "high speed"
+ controllers delivered by Seagate or Exabyte or Iomega's Ditto Dash.
+ Please make sure that the setting for the IO base address
+ specified here is correct. USE THE MANUAL OF YOUR TAPE DRIVE OR
+ CONTROLLER CARD TO DETERMINE THE CORRECT SETTING. If you are already
+ successfully using the tape drive with another operating system then
+ you definitely should use the same settings for the IO base that has
+ proven to work with that other OS.
+ Note that this menu lets you specify only the default setting for
+ the IRQ channel. The hardware configuration can be changed at boot
+ time (when ftape is compiled into the kernel, i.e. if you specify
+ `Y' to `CONFIG_FTAPE') or module load time (i.e. if you have say `M'
+ to `CONFIG_FTAPE').
+ Please read also the file `./Documentation/ftape.txt' which
+ contains a short description of the parameters that can be set at
+ boot or load time.
+
+DMA channel for the floppy disk controller used with Ftape
+CONFIG_FT_FDC_DMA
+ You don't need to specify a value if the following default
+ settings for the DMA channel are correct:
+ <<< MACH-2 : 2 >>>
+ <<< FC-10/FC-20: 3 >>>
+ <<< Secondary : 2 >>>
+ Secondary refers to a secondary FDC controller like the "high speed"
+ controllers delivered by Seagate or Exabyte or Iomega's Ditto Dash.
+ Please make sure that the setting for the IO base address
+ specified here is correct. USE THE MANUAL OF YOUR TAPE DRIVE OR
+ CONTROLLER CARD TO DETERMINE THE CORRECT SETTING. If you are already
+ successfully using the tape drive with another operating system then
+ you definitely should use the same settings for the IO base that has
+ proven to work with that other OS.
+ Note that this menu lets you specify only the default setting for
+ the DMA channel. The hardware configuration can be changed at boot
+ time (when ftape is compiled into the kernel, i.e. if you specify
+ `Y' to `CONFIG_FTAPE') or module load time (i.e. if you have say `M'
+ to `CONFIG_FTAPE').
+ Please read also the file `./Documentation/ftape.txt' which
+ contains a short description of the parameters that can be set at
+ boot or load time.
+
+FDC FIFO Threshold before requesting DMA service
+CONFIG_FT_FDC_THR
+ Set the FIFO threshold of the FDC. If this is higher the DMA
+ controller may serve the FCD after a higher latency time. If this is
+ lower, less DMA transfers occur leading to less bus contention.
+ You may try to tune this if ftape annoys you with "reduced data
+ rate because of excessive overrun errors" messages. However, this
+ doesn't seem to have too much an effect.
+ If unsure, don't touch the initial value, i.e. leave it at "8".
+
+FDC maximum data rate
+CONFIG_FT_FDC_MAX_RATE
+ With some mother board/FDC combinations ftape will not be able to
+ run your FDC/tape drive combination at the highest available
+ speed. If this is the case you'll encounter "reduced data rate
+ because of excessive overrun errors" messages and lots of retries
+ before ftape finally decides to reduce the data rate.
+ In this case it might be desirable to tell ftape beforehand that
+ it need not try to run the tape drive at the highest available
+ speed. If unsure, leave this disabled, i.e. leave it at 2000
+ bits/sec.
+
+Main CPU frequency, only for DEC alpha machine
+CONFIG_FT_ALPHA_CLOCK
+ On some DEC Alpha machines the CPU clock frequency cannot be
+ determined automatically, so you need to specify it here ONLY if
+ running a DEC Alpha, otherwise this setting has no effect.
Zilog serial support
CONFIG_SUN_ZS
@@ -5121,18 +5724,18 @@ CONFIG_NVRAM
PC joystick support
CONFIG_JOYSTICK
- If you have a joystick, you can say Y here. If you then create a
- character special file under /dev with major number 15 and minor
- number 0 or 1 (for the two joystick ports) using mknod ("man
- mknod"), you can read the status of the buttons and the x and y
- coordinates from that file. More information, an example program and
- a calibration program are contained in the joystick package which is
- available via ftp (user: anonymous) in
- sunsite.unc.edu/pub/Linux/kernel/patches/console/. 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 joystick.o. If you want to compile it as a module, say M
- here and read Documentation/modules.txt.
+ If you have a PC compatible analog or digital joystick, you can
+ say Y here. If you then create a character special file under /dev
+ with major number 15 and minor number 0 or 1 (for the two joystick
+ ports) using mknod ("man mknod"), you can read the status of the
+ buttons and the x and y coordinates from that file. More
+ information, an example program and a calibration program are
+ contained in the joystick package which is available at:
+ ftp://sunsite.unc.edu/pub/Linux/kernel/patches/console
+ 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 joystick.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt.
ARC console time
CONFIG_RTC_ARC
@@ -5376,9 +5979,9 @@ CONFIG_MAGIC_SYSRQ
flush the disks, reboot the system immediately or dump some status
information). This is accomplished by pressing various keys while
holding SysRq (Alt+PrintScreen). As you are expected to be a kernel
- hacker to use this, the simple rule about learning what the keys
+ hacker to use this, the simple rule about learning what do the keys
mean is "Use the source, Luke!" -- read drivers/char/sysrq.c.
- Don't say Y unless you really know what this hack does.
+ Don't say Y unless you really know what does this hack do.
ISDN subsystem
CONFIG_ISDN
@@ -5588,6 +6191,124 @@ CONFIG_SUN_OPENPROMIO
removed from the running kernel whenever you want), say M and read
Documentation/modules.txt. If unsure, say Y.
+Support for Cyrix processors
+CONFIG_CYRIX
+ This enables recognition of Cyrix processors. Without it
+ /proc/cpuinfo will list your processor as an unknown model
+ of Cyrix. With it it will list the correct details. It should
+ be safe to say Y here regardless of what processor you are
+ actually using. If this option is not enabled none of the
+ Cyrix feature options are available.
+
+Enable suspend on halt power saving feature
+CONFIG_CYRIX_SUSP_HLT
+ Suspend on halt causes the processor to enter a low power state
+ when the "hlt" instruction is executed. This is disabled at
+ power up and many BIOSs leave it that way. You probably want it
+ enabled since it dramatically reduces the operating temperature
+ of the processor. In a few rare cases there may be problems
+ with some bus master DMA cards if this is enabled.
+
+No I/O recovery delays
+CONFIG_CYRIX_FAST_IO
+ Historically programmers used "jmp $+2" instructions to create
+ delays between I/O instructions. The branch prediction of 5x86
+ and higher processors renders this ineffective and so a selectable
+ delay is implemented for I/O instructions in the processor. Linux
+ uses dummy I/O instructions where necessary rather than jumps
+ and so the extra processor imposed delay should not be necessary.
+ Enabling this option removes this delay.
+
+5x86 performance features
+CONFIG_CYRIX_5X86
+ The Cyrix 5x86 has several performance feature which are enabled
+ using on-chip registers. This code attempts to ensure that the
+ useful features are set to suit Linux. Read Documentation/CPU/Cyrix
+ before enabling this.
+ WARNING: If this is enabled you may find that the only way to
+ reboot is to power cycle the machine. Even a hard reboot seems
+ to fail on some systems.
+
+6x86 performance features
+CONFIG_CYRIX_6X86
+ The Cyrix 6x86 has several performance feature which are enabled
+ using on-chip registers. Most are normally enabled by the BIOS
+ however this code ensures that all the useful ones are set to
+ suit Linux. Read Documentation/CPU/Cyrix before enabling this.
+
+Avoid unnecessary locked cycles
+CONFIG_CYRIX_6X86_NOLOCK
+ Enabling this option causes the 6x86 not to use locked bus cycles
+ except for page table access and interrupt acknowledge cycles.
+ This allows the data used by descriptor tables, xchg instructions
+ and instructions preceeded by the LOCK prefix to be cached leading
+ to improved performance. Enabling this option has no effect if
+ an SMP kernel is being built - SMP requires locked cycles to
+ guarantee processor synchronization.
+
+Allocate L1 cache lines on write misses
+CONFIG_CYRIX_6X86_WTALLOC
+ If this is enabled L1 cache write misses will cause a cache line
+ to be allocated. This may result in increased performance. On the
+ other hand it may cause excessive trashing of the L1 cache when
+ copying or zeroing pages. In general you _probably_ win...
+
+Branch Target Buffer features
+CONFIG_CYRIX_6X86_BTB
+ The Cyrix 6x86 has branch prediction logic which is normally
+ only set to handle short branches (as in small loops and ifs).
+ This code attempts on configure the branch prediction logic
+ appropriately. Read Documentation/CPU/Cyrix before enabling this.
+
+Variable sized paging mechanism (VSPM)
+CONFIG_CYRIX_6X86_VSPM
+ Variable sized paging mechanism (VSPM) is a feature of the Cyrix
+ 6x86 family of processors that allows large regions of memory
+ to be mapped in one go, significantly reducing the amount of work
+ the MMU has to do compared with traditional paging. However VSPM
+ is known to be buggy in many 6x86 chip revisions. Please read
+ Documentation/CPU/Cyrix before enabling this.
+ WARNING: If this is enabled you may find that the only way to
+ reboot is to power cycle the machine. Even a hard reboot seems
+ to fail on some systems.
+
+Allocate L1 cache lines on write misses
+CONFIG_AMD_K5_WTALLOC
+ If this is enabled L1 cache write misses will cause a cache line
+ to be allocated. This may result in increased performance. On the
+ other hand it may cause excessive trashing of the L1 cache when
+ copying or zeroing pages. In general you _probably_ win...
+
+Allocate L1 cache lines on write misses
+CONFIG_AMD_K6_WTALLOC
+ If this is enabled L1 cache write misses will cause a cache line
+ to be allocated. This may result in increased performance. On the
+ other hand it may cause excessive trashing of the L1 cache when
+ copying or zeroing pages. In general you _probably_ win...
+
+Use write cacheability detection
+CONFIG_AMD_K6_WTALLOC_WCDE
+ Write cacheability detection requires the system logic to assert
+ the cache enable bus signal during a write cycle. Some chipsets
+ do this and some do not. Some, such as Triton, do but not at
+ the appropriate point during the write cycle. Cacheability
+ detection is not normally useful unless you have memory mapped
+ devices which exist outside the 640k-1M range but within your
+ actual memory. (There is another option that disables write
+ allocate for the 15M-16M range commonly used by older VLB
+ video cards). You probably do not want to enable this.
+
+No write allocate between 15MB-16MB
+CONFIG_AMD_K6_WTALLOC_WAE15M
+ There were a small number of cards, mainly VESA Local Bus
+ video cards, that were memory mapped to the 15M-16M address
+ range. If you have such a card you do not want write allocate
+ to delay or reorder writes to this space so you must enable
+ this option. Other memory mapped cards are either outside the
+ systems memory space or are in the 640k-1M range which is
+ not subject to write allocate so this option is not normally
+ required.
+
# m68k-specific kernel options
# Documented by Chris Lawrence <quango@themall.net> et al.
@@ -5823,6 +6544,11 @@ CONFIG_BLZ1230_SCSI
1260 accelerator, and the optional SCSI module, say Y. Otherwise,
say N.
+Fastlane SCSI support
+CONFIG_FASTLANE_SCSI
+ If you have the Phase5 Fastlane Z3 SCSI controller, or plan to use one
+ in the near future, say Y to this question. Otherwise, say N.
+
Atari native SCSI support
CONFIG_ATARI_SCSI
If you have an Atari with built-in NCR5380 SCSI controller (TT,
@@ -5942,6 +6668,33 @@ CONFIG_ATARI_SCC
whenever you want). If you want to compile it as a module, say M
here and read Documentation/modules.txt.
+Radio support
+CONFIG_MISC_RADIO
+ If you have a radio card (you will probably know if you do!), then
+ you will want to say "y" here and make a character device file
+ (usually /dev/radio) with major number 10 and minor 152 using mknod
+ ("man mknod"). And then, don't forget to pick up some useful tools
+ to use said device (you _might_ find something at ftp.lmh.ox.ac.uk:
+ /users/weejock/linux/radio/, but I haven't written anything too
+ useful yet...)
+
+AIMSlab RadioTrack card
+CONFIG_RADIO_RTRACK
+ Choose "y" here if you have one of these, and then fill in the port
+ address below.
+
+RadioTrack i/o port
+CONFIG_RADIO_RTRACK_PORT
+ Enter either 0x30f or 0x20f here. The card default is 0x30f, if you
+ haven't changed the jumper setting on the card.
+
+Atari SCC serial DMA support
+CONFIG_ATARI_SCC_DMA
+ This enables DMA support for receiving data on channel A of the SCC. If
+ you have a TT you may say Y here and read drivers/char/atari_SCC.README.
+ All other users should say N here, because only the TT has SCC-DMA, even
+ if your machine keeps claiming so at boot time.
+
Atari MIDI serial support
CONFIG_ATARI_MIDI
If you want to use your Atari's MIDI port in Linux, say Y.
@@ -6072,6 +6825,17 @@ CONFIG_MACE
motherboard will usually use a MACE (Medium Access Control for
Ethernet) interface. Say Y to include support for the MACE chip.
+Video For Linux
+CONFIG_VIDEO_DEV
+ Support for audio/video capture and overlay devices. The exact capabilities
+ of each device vary. User tools for this are available from
+ ftp://ftp.uk.linux.org/pub/linux/video4linux
+
+BT848 Video For Linux
+CONFIG_VIDEO_BT848
+ Support for BT848 based frame grabber/overlay boards. This includes the
+ Miro, Hauppauge and STB boards.
+
# need an empty line after last entry, for sed script in Configure.
#
@@ -6207,3 +6971,10 @@ CONFIG_MACE
# LocalWords: dataless kerneltype SYSNAME Netbeui Comtrol Rocketport palmtop
# LocalWords: nvram SYSRQ SysRq PrintScreen sysrq NVRAMs NvRAM Shortwave RTTY
# LocalWords: HFMODEM shortwave Sitor Amtor Pactor GTOR hfmodem hayes TX TMOUT
+# LocalWords: QIC TR CONFIG FTAPE Iomega CMS FC FDC Exabyte Iomega's DFLT
+# LocalWords: tapedrive THR FCD IRQ DMA SZ PCI ftape README txt HOWTO
+# LocalWords: http www rwth aachen LBFM claus FAQ mt ZFTAPE VFS
+# LocalWords: zftape zft William's lzrw kerneld BLK zftape's tar's
+# LocalWords: afio's MTSETBLK MTIOCTOP dev qft setblk BLKSZ NR
+# LocalWords: setdrvbuffer kb NUMBUFFERS Procfs PROC FS proc resp STD
+# LocalWords: Alt LocalWords
diff --git a/Documentation/VGA-softcursor.txt b/Documentation/VGA-softcursor.txt
new file mode 100644
index 000000000..17d39fefe
--- /dev/null
+++ b/Documentation/VGA-softcursor.txt
@@ -0,0 +1,34 @@
+Software cursor for VGA by Pavel Machek <pavel@atrey.karlin.mff.cuni.cz>
+======================= & Martin Mares <mj@atrey.karlin.mff.cuni.cz>
+
+ Linux now has some ability to manipulate cursor appearance. Normally, you
+can set the size of hardware cursor (and also work-around some ugly bugs in
+those miserable Trident cards -- see #define TRIDENT_GLITCH in drivers/char/
+vga.c). In case you enable "Software generated cursor" in the system
+configuration, you can play few new tricks: you can make your cursor look
+like a non-blinking red block, make it inverse background of the character
+it's over or to highlight that character and still choose whether the
+original hardware cursor should remain visible or not. And maybe other
+things I have never thought of.
+
+ The cursor appearance is controlled by a "<ESC>[?1;2;3c" escape sequence
+where 1, 2 and 3 are parameters described below. If you omit any of them,
+they will default to zeroes.
+
+ Parameter #1 specifies cursor size (0=default, 1=invisible, 2=underline, ...,
+8=full block) + 16 if you want the software cursor to be applied + 32 if you
+want to always change the background color + 64 if you dislike background same
+as foreground. (Highlights are ignored for the last two flags.)
+
+ The second parameter selects character attribute bits you want to change
+(by simple XOR'ing them with the value of this parameter). On standard VGA,
+the high 4 bits specify background and the low 4 the foreground. In both
+groups, low 3 bits set color (as in normal color codes used by the console)
+and the most significant one turns on highlight (or sometimes blinking -- it
+depends on the configuration of your VGA).
+
+ And the third parameter consists of character attribute bits you want
+to set. Bit setting takes place before bit toggling, so you can simply
+clear a bit by including it in both the set mask and the toggle mask.
+
+
diff --git a/Documentation/cyrix.txt b/Documentation/cyrix.txt
new file mode 100644
index 000000000..203bc8b8f
--- /dev/null
+++ b/Documentation/cyrix.txt
@@ -0,0 +1,201 @@
+ Cyrix Processor Support
+ -----------------------
+
+Processor Recognition
+---------------------
+
+Cyrix processors prior to the 6x86MX power up in a default mode
+designed to avoid compatibility problems with software that
+makes assumptions about processor capabilities based solely on
+the apparent family of processor. Unless special handling is
+provided Cyrix chips will be identified as some unknown model
+of 486.
+
+ The Cyrix processor recognition kernel build option compiles
+in code that enables the CPUID instruction on Cyrix processors
+and that uses the Cyrix specific DEVID feature to identify the
+particular type of Cyrix chip present.
+
+ The 6x86MX and later processors have CPUID enabled by default
+however special handling is still required to read the specific
+processor type using DEVID since the CPUID information gives
+family 6, model 0 - i.e. an A step PPro.
+
+ The combination of CPUID and DEVID allows all current Cyrix
+processors to be recognised and listed correctly in /proc/cpuinfo.
+This includes Cx486, 5x86, 6x86, Gx86 (aka MediaGx) and 6x86MX.
+
+ Processor recognition is required for all other Cyrix specific
+options.
+
+
+Suspend on Halt Power Saving
+----------------------------
+
+The suspend on halt power saving feature allows the processor to
+enter a low power mode when the "hlt" instruction is executed. This
+results in dramatically reduced operating temperatures if you do
+not spend long periods of time running processor intensive tasks.
+Cyrix processors allow this feature to be enabled an disabled
+through their configuration registers. The default state on reset
+is disabled and many (most?) BIOSs leave it disabled hence a
+kernel configuration option is provided that adds code to explicitly
+enabled suspend on halt when Linux boots.
+
+ However there appear to be a few rare cases in which the
+combination of suspend on halt and some bus master DMA cards can
+cause the system to lock up. If this appears to happen you may
+need to leave suspend on halt in its default state. (Note that
+an option to _disable_ suspend on halt is not provided. If your
+BIOS enables it you have to live with it)
+
+
+5x86 Performance Features
+-------------------------
+
+The 5x86 contains a performance control register that allows
+several performance enhancing features to be turned on. Unfortunately
+many of these features do not appear to work correctly. The 5x86
+performance features kernel build option will attempt to set
+the performance control register appropriately but it is
+impossible to guarantee that even these conservative settings
+will work on all chips.
+
+ WARNING: If this is enabled you may find that the only way to
+reboot is to power cycle the machine. Even a hard reboot seems
+to fail on some systems.
+
+
+6x86 Performance Features
+-------------------------
+
+Like the 5x86 the 6x86 has several Cyrix specific performance
+features. Normally a 6x86 aware BIOS will set these to reasonable,
+if not fully optimal, settings. The 6x86 performance features
+kernel build option mostly just fine tunes them.
+
+
+6x86 Branch Prediction
+----------------------
+
+The 6x86 uses speculative execution coupled with several levels
+of branch prediction to maximise processing speed. While the
+default power up state is reasonable the branch prediction logic
+is configurable and there may be some benefit in fine tuning it.
+
+ Unfortunately Cyrix offer no documentation on how to configure
+branch prediction and IBM have only partial documentation available.
+Further detail and speculation is available from the 6x86opt package
+by Mikael Johansson <Mikael.Johansson@helsinki.fi>.
+
+ The initial power up state of the 6x86 configures the branch
+prediction logic to handle short branches. The 6x86 branch target
+buffer features kernel build option enables code that enables
+handling of long branches as well. It is not clear if this will
+benefit in your particular case or not.
+
+
+6x86 Variable Sized Paging Mechanism
+------------------------------------
+
+The variable sized paging mechanism (VSPM) is a feature of the Cyrix
+6x86 family of processors that allows large regions of memory
+to be mapped using a single MMU entry rather than many individual
+page sized entries. This significantly reduces the overhead in
+accessing such regions. It is also ideally suited to use for the
+linear mapping of physical memory to kernel memory used by Linux.
+
+ The Cyrix documenation offers only a brief paragraph of explanation.
+Unfortunately the observed behaviour of VSPM suggests that even
+this little information is not entirely correct. Worse still, no one
+at Cyrix is able to answer questions concerning VSPM. Given that
+every revision of 6x86 has *different* VSPM bugs this is not entirely
+surprising! Work arounds are in place for the known bugs in step 1,
+revisions 4, 5 and 6 chips. Revision 7 is also believed to work.
+
+ WARNING: There appears to be no way to disable a VSPM entry once
+it has been created short of a hard reset (which may mean a power
+cycle). Failure to clear the VSPM entries means that programs that
+use virtual memory layouts different from Linux will crash unexpectedly
+after Linux has been running. This includes Windows NT/95, programs
+that use DOS extenders etc.
+
+ By experiment:
+
+ * VSPM pages must be power of two sizes. A single 24MB page fails.
+ This is not entirely surprising but the documentation could give
+ the impression that VSPM supports arbitrary sizes.
+
+ * Documentation suggests there are 8 VSPM slots (3 bit index) but
+ tests show the upper four slots mirror the lower four.
+
+ * VSPM entries appear to override traditional page table entries
+ so we must not overlap the start of the vmalloc region.
+
+ The following only apply to 1 rev 6 and lower chips. 1 rev 7 and
+ above do not appear to have these problems.
+
+ * With a 16MB page followed by an 8MB page I always get a write
+ fault on the last 4k of the 8MB page. With 8MB plus 4MB I can't
+ even boot.
+ If we have such a memory size we map the first power of two
+ with a VSPM entry and use traditional paging for the rest.
+
+ * Do not try and create a mapping with dirty and accessed flags
+ clear - a step 1 rev 5 chip will crash.
+
+ * The valid bit in a VSPM entry is non-functional. There is no way
+ to invalidate a VSPM entry once it has been written.
+
+ * Attempting to replace a VSPM entry with one that maps a zero
+ sized region from 0 to 0 crashes the CPU.
+
+
+What more could be done
+-----------------------
+
+ Disabling write allocate while we do page copies/clears will
+avoid unnecessary cache trashing. However it will also reduce
+the apparent memory bandwidth for the operation so it runs
+slower (with write allocate the write to memory becomes delayed
+and happens asynchronously). Rumour has it that disabling
+write allocate for such operations is generally good on an
+Intel chip. Disabling and re-enabling write allocate on a
+Cyrix would take and extra 60-65 clock cycles each.
+
+ The 6x86 allows Address regions to be set up and en/disabling
+certain features for these regions. In order to optimize, we could
+analyse the setup done (or not done) by the BIOS and optimize it.
+However, it is worth noting that the BIOS probably has more
+hardware specific details coded in it than we could ever determine
+by any form of probing so if it sets something up in a particular
+way the motherboard designers may have had very good reasons for
+doing it. Trying to play fast and loose may not be such a good
+idea for the general case.
+
+ * Setting up regions fo the main memory: RCE, WWO, WL(?), WG
+
+ * Setting up VGA text (0x000a0000) and graphics memory (PCI:
+ e.g. 0xe0000000) to RCD, WG
+
+ * Setting up BIOS regions to RCD or RCE, WT
+
+ * Not touching SMM space (ARR3)
+
+ * Disabling WG for Memory Mapped IO
+
+(RCE/D = Region cache enable/disable, WWO = Weak Write Ordering,
+WL = Weak Locking, WG = Write Gathering, WT = Write Through.)
+
+
+Where to get information
+------------------------
+
+ There is a databook in PDF format (6X-DBOOK.PDF), which can be down-
+loaded from Cyrix' WWW server, which contains a description of the
+Configuration Registers CCR0 - CCR5, the Device Identification Registers
+DIR0 + DIR1 and the Address Region ARRx and Region Control
+RCRx registers and an incomplete description of the VSPM mechanism.
+More about CPU detection, VSPM and more undocumented features can be
+found on the Pentium Compiler Group homepage (http://www.goof.com/pcg)
+and by following the links found in the docs.
diff --git a/Documentation/devices.tex b/Documentation/devices.tex
index 37bdfae0b..4604ce744 100644
--- a/Documentation/devices.tex
+++ b/Documentation/devices.tex
@@ -4,6 +4,8 @@
% pages to print... :-) If you're actually putting this in print, you
% may wish to change these.
%
+% $Id: devices.tex,v 1.28 1997/11/12 23:59:41 davem Exp $
+%
\oddsidemargin=0in
\textwidth=6.5in
\topmargin=0in
@@ -43,39 +45,29 @@ foo \kill}%
{\end{tabbing}}
%
% If you reformat this document, *please* make sure this information
-% gets included!
+% gets included! This list changes frequently, so it is crucial to
+% know the date of the revision.
%
\title{{\bf Linux Allocated Devices}}
\author{Maintained by H. Peter Anvin $<$hpa@zytor.com$>$}
-\date{Last revised: September 11, 1997}
+\date{Last revised: November 9, 1997}
\maketitle
%
\noindent
-This list is the successor to Rick Miller's Linux Device List, which
-he stopped maintaining when he got busy with other things in 1993. It
-is a registry of allocated major device numbers, as well as the
-recommended {\file /dev} directory nodes for these devices.
+This list is the Linux Device List, the official registry of allocated
+device numbers and {\file /dev} directory nodes for the Linux
+operating system.
The latest version of this list is included with the Linux kernel
-sources in \LaTeX\ and ASCII form. It is also available separate from
-{\url ftp://ftp.kernel.org/pub/linux/docs/device-list/}. In case of
-discrepancy, the \LaTeX\ version is authoritative.
+sources in \LaTeX\ and ASCII form. It is also available separately
+from {\url ftp://ftp.kernel.org/pub/linux/docs/device-list/}. In case
+of discrepancy between the text and \LaTeX\ versions, the \LaTeX\
+version is authoritative.
This document is included by reference into the Linux Filesystem
Standard (FSSTND). The FSSTND is available from
{\url ftp://tsx-11.mit.edu/pub/linux/docs/linux-standards/fsstnd/}.
-To have a major number allocated, or a minor number in situations
-where that applies (e.g.\ busmice), please contact me with the
-appropriate device information. I {\em very\/} much appreciate if you
-send me a device description in the same format as the ones already in
-this file. Also, if you have additional information regarding any of
-the devices listed below, or if I have made a mistake, I would greatly
-appreciate a note.
-
-NOTE: When sending me mail, {\em please\/} include the word ``device''
-in the subject so your mail won't accidentally get buried!
-
Allocations marked (68k/Amiga) apply to Linux/68k on the Amiga
platform only. Allocations marked (68k/Atari) apply to Linux/68k on
the Atari platform only.
@@ -92,6 +84,28 @@ I do not have any information about these devices beyond what appears
on this list. Any such information requests will be deleted without
reply.
+\section{How to submit a device entry}
+
+To have a major number allocated, or a minor number in situations
+where that applies (e.g. busmice), please contact me with the
+appropriate device information. Also, if you have additional
+information regarding any of the devices listed below, or if I have
+made a mistake, I would greatly appreciate a note.
+
+I do, however, make two requests about the nature of your report.
+This is necessary for me to be able to keep this list up to date and
+correct in a timely manner. First of all, {\em please\/} include the
+word ``device'' in the subject so your mail won't accidentally get
+buried! I receive hundreds of email messages a day, so mail sent with
+other subjects may very well get lost in the avalanche.
+
+Second, please include a description of the device {\em in the same
+format as this list\/}. The reason for this is that it is the only
+way I have found to ensure I have all the requisite information to
+publish your device and avoid conflicts.
+
+Your cooperation is appreciated.
+
\section{Major numbers}
\begin{devicelist}
@@ -221,7 +235,12 @@ reply.
\major{88}{}{char }{COMX synchronous serial card}
\major{89}{}{char }{I$^2$C bus interface}
\major{90}{}{char }{Memory Technology Device (RAM, ROM, Flash)}
-\major{91}{--119}{}{Unallocated}
+\major{91}{}{char }{CAN-Bus devices}
+\major{92}{}{char }{Reserved for ith Kommunikationstechnik MIC ISDN card}
+\major{93}{}{char }{IBM Smart Capture Card frame grabber}
+\major{94}{}{char }{miroVIDEO DC10/30 capture/playback device}
+\major{95}{}{char }{IP Filter}
+\major{96}{--119}{}{Unallocated}
\major{120}{--127}{}{Local/experimental use}
\major{128}{--239}{}{Unallocated}
\major{240}{--254}{}{Local/experimental use}
@@ -778,14 +797,30 @@ major number 3).
\begin{devicelist}
\major{27}{}{char }{QIC-117 tape}
- \minor{0}{/dev/rft0}{Unit 0, rewind-on-close}
- \minor{1}{/dev/rft1}{Unit 1, rewind-on-close}
- \minor{2}{/dev/rft2}{Unit 2, rewind-on-close}
- \minor{3}{/dev/rft3}{Unit 3, rewind-on-close}
- \minor{4}{/dev/nrft0}{Unit 0, no rewind-on-close}
- \minor{5}{/dev/nrft1}{Unit 1, no rewind-on-close}
- \minor{6}{/dev/nrft2}{Unit 2, no rewind-on-close}
- \minor{7}{/dev/nrft3}{Unit 3, no rewind-on-close}
+ \minor{0}{/dev/qft0}{Unit 0, rewind-on-close}
+ \minor{1}{/dev/qft1}{Unit 1, rewind-on-close}
+ \minor{2}{/dev/qft2}{Unit 2, rewind-on-close}
+ \minor{3}{/dev/qft3}{Unit 3, rewind-on-close}
+ \minor{4}{/dev/nqft0}{Unit 0, no rewind-on-close}
+ \minor{5}{/dev/nqft1}{Unit 1, no rewind-on-close}
+ \minor{6}{/dev/nqft2}{Unit 2, no rewind-on-close}
+ \minor{7}{/dev/nqft3}{Unit 3, no rewind-on-close}
+ \minor{16}{/dev/zqft0}{Unit 0, rewind-on-close, compression}
+ \minor{17}{/dev/zqft1}{Unit 1, rewind-on-close, compression}
+ \minor{18}{/dev/zqft2}{Unit 2, rewind-on-close, compression}
+ \minor{19}{/dev/zqft3}{Unit 3, rewind-on-close, compression}
+ \minor{20}{/dev/nzqft0}{Unit 0, no-rewind-on-close, compression}
+ \minor{21}{/dev/nzqft1}{Unit 1, no-rewind-on-close, compression}
+ \minor{22}{/dev/nzqft2}{Unit 2, no-rewind-on-close, compression}
+ \minor{23}{/dev/nzqft3}{Unit 3, no-rewind-on-close, compression}
+ \minor{32}{/dev/rawft0}{Unit 0, rewind-on-close, no file marks}
+ \minor{33}{/dev/rawft1}{Unit 1, rewind-on-close, no file marks}
+ \minor{34}{/dev/rawft2}{Unit 2, rewind-on-close, no file marks}
+ \minor{35}{/dev/rawft3}{Unit 3, rewind-on-close, no file marks}
+ \minor{36}{/dev/zqft0}{Unit 0, no-rewind-on-close, no file marks}
+ \minor{37}{/dev/zqft1}{Unit 1, no-rewind-on-close, no file marks}
+ \minor{38}{/dev/zqft2}{Unit 2, no-rewind-on-close, no file marks}
+ \minor{39}{/dev/zqft3}{Unit 3, no-rewind-on-close, no file marks}
\\
\major{ }{}{block}{Third Matsushita (Panasonic/SoundBlaster) CD-ROM}
\minor{0}{/dev/sbpcd8}{Panasonic CD-ROM controller 2 unit 0}
@@ -1506,7 +1541,43 @@ on {\url http://home.pages.de/~videotext/\/}.
\end{devicelist}
\begin{devicelist}
-\major{91}{--119}{}{Unallocated}
+\major{91}{}{char }{CAN-Bus controller}
+ \minor{0}{/dev/can0}{First CAN-Bus controller}
+ \minor{1}{/dev/can1}{Second CAN-Bus controller}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{92}{}{char }{Reserved for ith Kommunikationstechnik MIC ISDN card}
+\end{devicelist}
+
+\begin{devicelist}
+\major{93}{}{char }{IBM Smart Capture Card frame grabber}
+ \minor{0}{/dev/iscc0}{First Smart Capture Card}
+ \minor{1}{/dev/iscc1}{Second Smart Capture Card}
+ \minordots
+ \minor{128}{/dev/isccctl0}{First Smart Capture Card control}
+ \minor{129}{/dev/isccctl1}{Second Smart Capture Card control}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{94}{}{char }{miroVIDEO DC10/30 capture/playback device}
+ \minor{0}{/dev/dcxx0}{First capture card}
+ \minor{1}{/dev/dcxx1}{Second capture card}
+ \minordots
+\end{devicelist}
+
+\begin{devicelist}
+\major{95}{}{char }{IP filter}
+ \minor{0}{/dev/ipl}{Filter control device/log file}
+ \minor{1}{/dev/ipnat}{NAT control device/log file}
+ \minor{2}{/dev/ipstate}{State information log file}
+ \minor{3}{/dev/ipauth}{Authentication control device/log file}
+\end{devicelist}
+
+\begin{devicelist}
+\major{96}{--119}{}{Unallocated}
\end{devicelist}
\begin{devicelist}
@@ -1558,6 +1629,7 @@ It is recommended that these links exist on all systems:
\begin{nodelist}
\link{/dev/core}{/proc/kcore}{symbolic}{Backward compatibility}
\link{/dev/ramdisk}{ram0}{symbolic}{Backward compatibility}
+\link{/dev/rft0}{qft0}{symbolic}{Backward compatibility}
\link{/dev/ftape}{rft0}{symbolic}{Backward compatibility}
\link{/dev/scd?}{sr?}{hard}{Alternate name for CD-ROMs}
\link{/dev/fd?D*}{fd?u*}{hard}{Backward compatibility}
@@ -1593,11 +1665,11 @@ For SCSI devices, {\file /dev/tape} and {\file /dev/cdrom} should
point to the ``cooked'' devices ({\file /dev/st*} and {\file
/dev/sr*}, respectively), whereas {\file /dev/cdwriter} and {\file
/dev/scanner} should point to the appropriate generic SCSI devices
-({\file /dev/sg*}.)
+({\file /dev/sg*}).
{\file /dev/mouse} may point to a primary serial TTY device, a
hardware mouse device, or a socket for a mouse driver program
-(e.g. {\file /dev/gpmdata}.)
+(e.g. {\file /dev/gpmdata}).
\subsection{Sockets and pipes}
diff --git a/Documentation/devices.txt b/Documentation/devices.txt
index 4c390293b..86799025b 100644
--- a/Documentation/devices.txt
+++ b/Documentation/devices.txt
@@ -1,38 +1,27 @@
LINUX ALLOCATED DEVICES
Maintained by H. Peter Anvin <hpa@zytor.com>
- Last revised: September 11, 1997
+ Last revised: November 9, 1997
-This list is the successor to Rick Miller's Linux Device List, which
-he stopped maintaining when he got busy with other things in 1993. It
-is a registry of allocated major device numbers, as well as the
-recommended /dev directory nodes for these devices.
+This list is the Linux Device List, the official registry of allocated
+device numbers and /dev directory nodes for the Linux operating
+system.
The latest version of this list is included with the Linux kernel
sources in LaTeX and ASCII form. It is also available separately from
ftp://ftp.kernel.org/pub/linux/docs/device-list/. In case of
-discrepancy, the LaTeX version is authoritative.
+discrepancy between the text and LaTeX versions, the LaTeX version is
+authoritative.
This document is included by reference into the Linux Filesystem
Standard (FSSTND). The FSSTND is available from
ftp://tsx-11.mit.edu/pub/linux/docs/linux-standards/fsstnd/.
-To have a major number allocated, or a minor number in situations
-where that applies (e.g. busmice), please contact me with the
-appropriate device information. I *very* much appreciate if you send
-me a device description in the same format as the ones already in this
-file. Also, if you have additional information regarding any of the
-devices listed below, or if I have made a mistake, I would greatly
-appreciate a note.
-
-NOTE: When sending me mail, *please* include the word "device" in the
-subject so your mail won't accidentally get buried!
-
Allocations marked (68k/Amiga) apply to Linux/68k on the Amiga
-platform only. Allocations marked (68k/Atari) apply to Linux/68k on
+platform only. Allocations marked (68k/Atari) apply to Linux/68k on
the Atari platform only.
-This document is in the public domain. The author requests, however,
+This document is in the public domain. The author requests, however,
that semantically altered versions are not distributed without
permission of the author, assuming the author can be contacted without
an unreasonable effort.
@@ -44,11 +33,34 @@ I do not have any information about these devices beyond what appears
on this list. Any such information requests will be deleted without
reply.
- 0 Unnamed devices (e.g. non-device mounts)
+ **** PLEASE READ THIS BEFORE SUBMITTING A DEVICE ENTRY ****
+
+To have a major number allocated, or a minor number in situations
+where that applies (e.g. busmice), please contact me with the
+appropriate device information. Also, if you have additional
+information regarding any of the devices listed below, or if I have
+made a mistake, I would greatly appreciate a note.
+
+I do, however, make two requests about the nature of your report.
+This is necessary for me to be able to keep this list up to date and
+correct in a timely manner. First of all, *please* include the word
+"device" in the subject so your mail won't accidentally get buried! I
+receive hundreds of email messages a day, so mail sent with other
+subjects may very well get lost in the avalanche.
+
+Second, please include a description of the device *in the same format
+as this list*. The reason for this is that it is the only way I have
+found to ensure I have all the requisite information to publish your
+device and avoid conflicts.
+
+Your cooperation is appreciated.
+
+
+ 0 Unnamed devices (e.g. non-device mounts)
0 = reserved as null device number
1 char Memory devices
- 1 = /dev/mem Physical memory access
+ 1 = /dev/mem Physical memory access
2 = /dev/kmem Kernel virtual memory access
3 = /dev/null Null device
4 = /dev/port I/O port access
@@ -97,7 +109,7 @@ reply.
8 = /dev/fd?h1200 5.25" 1200K in a 1200K drive(1)
40 = /dev/fd?h1440 5.25" 1440K in a 1200K drive(1)
56 = /dev/fd?h1476 5.25" 1476K in a 1200K drive
- 72 = /dev/fd?h1494 5.25" 1494K in a 1200K drive
+ 72 = /dev/fd?h1494 5.25" 1494K in a 1200K drive
92 = /dev/fd?h1600 5.25" 1600K in a 1200K drive(1)
12 = /dev/fd?u360 3.5" 360K Double Density
@@ -128,7 +140,7 @@ reply.
NOTE: The letter in the device name (d, q, h or u)
signifies the type of drive: 5.25" Double Density (d),
5.25" Quad Density (q), 5.25" High Density (h) or 3.5"
- (any model, u). The use of the capital letters D, H
+ (any model, u). The use of the capital letters D, H
and E for the 3.5" models have been deprecated, since
the drive type is insignificant for these devices.
@@ -139,7 +151,7 @@ reply.
256 = /dev/ttyef 256th PTY slave
block First MFM, RLL and IDE hard disk/CD-ROM interface
- 0 = /dev/hda Master: whole disk (or CD-ROM)
+ 0 = /dev/hda Master: whole disk (or CD-ROM)
64 = /dev/hdb Slave: whole disk (or CD-ROM)
For partitions, add to the whole disk device number:
@@ -155,7 +167,7 @@ reply.
appropriate to their respective architectures.
4 char TTY devices
- 0 = /dev/tty0 Current virtual console
+ 0 = /dev/tty0 Current virtual console
1 = /dev/tty1 First virtual console
...
@@ -178,7 +190,7 @@ reply.
devices.
5 char Alternate TTY devices
- 0 = /dev/tty Current TTY device
+ 0 = /dev/tty Current TTY device
1 Reserved for console device
64 = /dev/cua0 Callout device corresponding to ttyS0
...
@@ -188,7 +200,7 @@ reply.
/dev/console in a future version of Linux.
6 char Parallel printer devices
- 0 = /dev/lp0 First parallel printer (0x3bc)
+ 0 = /dev/lp0 First parallel printer (0x3bc)
1 = /dev/lp1 Second parallel printer (0x378)
2 = /dev/lp2 Third parallel printer (0x278)
@@ -197,7 +209,7 @@ reply.
/dev/lp1.
7 char Virtual console capture devices
- 0 = /dev/vcs Current vc text contents
+ 0 = /dev/vcs Current vc text contents
1 = /dev/vcs1 tty1 text contents
...
63 = /dev/vcs63 tty63 text contents
@@ -214,14 +226,14 @@ reply.
...
The loopback devices are used to mount filesystems not
- associated with block devices. The binding to the
+ associated with block devices. The binding to the
loopback devices is handled by mount(8) or losetup(8).
8 block SCSI disk devices
- 0 = /dev/sda First SCSI disk whole disk
+ 0 = /dev/sda First SCSI disk whole disk
16 = /dev/sdb Second SCSI disk whole disk
32 = /dev/sdc Third SCSI disk whole disk
- ...
+ ...
240 = /dev/sdp Sixteenth SCSI disk whole disk
Partitions are handled in the same way as for IDE
@@ -229,16 +241,16 @@ reply.
partitions is 15.
9 char SCSI tape devices
- 0 = /dev/st0 First SCSI tape, mode 0
+ 0 = /dev/st0 First SCSI tape, mode 0
1 = /dev/st1 Second SCSI tape, mode 0
...
- 32 = /dev/st0l First SCSI tape, mode 1
+ 32 = /dev/st0l First SCSI tape, mode 1
33 = /dev/st1l Second SCSI tape, mode 1
...
- 64 = /dev/st0m First SCSI tape, mode 2
+ 64 = /dev/st0m First SCSI tape, mode 2
65 = /dev/st1m Second SCSI tape, mode 2
...
- 96 = /dev/st0a First SCSI tape, mode 3
+ 96 = /dev/st0a First SCSI tape, mode 3
97 = /dev/st1a Second SCSI tape, mode 3
...
128 = /dev/nst0 First SCSI tape, mode 0, no rewind
@@ -310,7 +322,7 @@ reply.
The raw keyboard device is used on Linux/SPARC only.
block SCSI CD-ROM devices
- 0 = /dev/sr0 First SCSI CD-ROM
+ 0 = /dev/sr0 First SCSI CD-ROM
1 = /dev/sr1 Second SCSI CD-ROM
...
@@ -438,7 +450,7 @@ reply.
1 = /dev/ttyD1 Second Digiboard port
...
block Second IDE hard disk/CD-ROM interface
- 0 = /dev/hdc Master: whole disk (or CD-ROM)
+ 0 = /dev/hdc Master: whole disk (or CD-ROM)
64 = /dev/hdd Slave: whole disk (or CD-ROM)
Partitions are handled the same way as for the first
@@ -495,14 +507,30 @@ reply.
3 = /dev/sbpcd7 Panasonic CD-ROM controller 1 unit 3
27 char QIC-117 tape
- 0 = /dev/rft0 Unit 0, rewind-on-close
- 1 = /dev/rft1 Unit 1, rewind-on-close
- 2 = /dev/rft2 Unit 2, rewind-on-close
- 3 = /dev/rft3 Unit 3, rewind-on-close
- 4 = /dev/nrft0 Unit 0, no rewind-on-close
- 5 = /dev/nrft1 Unit 1, no rewind-on-close
- 6 = /dev/nrft2 Unit 2, no rewind-on-close
- 7 = /dev/nrft3 Unit 3, no rewind-on-close
+ 0 = /dev/qft0 Unit 0, rewind-on-close
+ 1 = /dev/qft1 Unit 1, rewind-on-close
+ 2 = /dev/qft2 Unit 2, rewind-on-close
+ 3 = /dev/qft3 Unit 3, rewind-on-close
+ 4 = /dev/nqft0 Unit 0, no rewind-on-close
+ 5 = /dev/nqft1 Unit 1, no rewind-on-close
+ 6 = /dev/nqft2 Unit 2, no rewind-on-close
+ 7 = /dev/nqft3 Unit 3, no rewind-on-close
+ 16 = /dev/zqft0 Unit 0, rewind-on-close, compression
+ 17 = /dev/zqft1 Unit 1, rewind-on-close, compression
+ 18 = /dev/zqft2 Unit 2, rewind-on-close, compression
+ 19 = /dev/zqft3 Unit 3, rewind-on-close, compression
+ 20 = /dev/nzqft0 Unit 0, no-rewind, compression
+ 21 = /dev/nzqft1 Unit 1, no-rewind, compression
+ 22 = /dev/nzqft2 Unit 2, no-rewind, compression
+ 23 = /dev/nzqft3 Unit 3, no-rewind, compression
+ 32 = /dev/rawft0 Unit 0, rewind-on-close, no file marks
+ 33 = /dev/rawft1 Unit 1, rewind-on-close, no file marks
+ 34 = /dev/rawft2 Unit 2, rewind-on-close, no file marks
+ 35 = /dev/rawft3 Unit 3, rewind-on-close, no file marks
+ 36 = /dev/zqft0 Unit 0, no-rewind, no file marks
+ 37 = /dev/zqft1 Unit 1, no-rewind, no file marks
+ 38 = /dev/zqft2 Unit 2, no-rewind, no file marks
+ 39 = /dev/zqft3 Unit 3, no-rewind, no file marks
block Third Matsushita (Panasonic/SoundBlaster) CD-ROM
0 = /dev/sbpcd8 Panasonic CD-ROM controller 2 unit 0
1 = /dev/sbpcd9 Panasonic CD-ROM controller 2 unit 1
@@ -538,7 +566,7 @@ reply.
0 = /dev/fb0 First frame buffer
1 = /dev/fb0autodetect
24 = /dev/fb0user0
- ...
+ ...
31 = /dev/fb0user7
32 = /dev/fb1 Second frame buffer
33 = /dev/fb1autodetect
@@ -547,7 +575,7 @@ reply.
63 = /dev/fb1user7
The universal frame buffer device is currently only
- supported on Linux/68k and Linux/SPARC. The plain
+ supported on Linux/68k and Linux/SPARC. The plain
device accesses the frame buffer at current resolution
(Linux/68k calls this device "current",
e.g. /dev/fb0current); the "autodetect" one at bootup
@@ -614,7 +642,7 @@ reply.
1 = /dev/cux1 Callout device corresponding to ttyX1
...
block Third IDE hard disk/CD-ROM interface
- 0 = /dev/hde Master: whole disk (or CD-ROM)
+ 0 = /dev/hde Master: whole disk (or CD-ROM)
64 = /dev/hdf Slave: whole disk (or CD-ROM)
Partitions are handled the same way as for the first
@@ -632,7 +660,7 @@ reply.
on.
block Fourth IDE hard disk/CD-ROM interface
- 0 = /dev/hdg Master: whole disk (or CD-ROM)
+ 0 = /dev/hdg Master: whole disk (or CD-ROM)
64 = /dev/hdh Slave: whole disk (or CD-ROM)
Partitions are handled the same way as for the first
@@ -643,10 +671,10 @@ reply.
1 = /dev/midi1 Second MIDI port, kernel timed
2 = /dev/midi2 Third MIDI port, kernel timed
3 = /dev/midi3 Fourth MIDI port, kernel timed
- 64 = /dev/rmidi0 First MIDI port, untimed
- 65 = /dev/rmidi1 Second MIDI port, untimed
- 66 = /dev/rmidi2 Third MIDI port, untimed
- 67 = /dev/rmidi3 Fourth MIDI port, untimed
+ 64 = /dev/rmidi0 First MIDI port, untimed
+ 65 = /dev/rmidi1 Second MIDI port, untimed
+ 66 = /dev/rmidi2 Third MIDI port, untimed
+ 67 = /dev/rmidi3 Fourth MIDI port, untimed
128 = /dev/smpte0 First MIDI port, SMPTE timed
129 = /dev/smpte1 Second MIDI port, SMPTE timed
130 = /dev/smpte2 Third MIDI port, SMPTE timed
@@ -809,8 +837,8 @@ reply.
53 char BDM interface for remote debugging MC683xx microcontrollers
0 = /dev/pd_bdm0 PD BDM interface on lp0
- 1 = /dev/pd_bdm1 PD BDM interface on lp1
- 2 = /dev/pd_bdm2 PD BDM interface on lp2
+ 1 = /dev/pd_bdm1 PD BDM interface on lp1
+ 2 = /dev/pd_bdm2 PD BDM interface on lp2
4 = /dev/icd_bdm0 ICD BDM interface on lp0
5 = /dev/icd_bdm1 ICD BDM interface on lp1
6 = /dev/icd_bdm2 ICD BDM interface on lp2
@@ -1014,18 +1042,18 @@ reply.
...
The driver and documentation may be obtained from
- http://www.proximity.com.au/~brian/winradio/
+ http://www.proximity.com.au/~brian/winradio/
83 char Teletext/videotext interfaces
- 0 = /dev/vtx Teletext decoder
- 16 = /dev/vttuner TV tuner on teletext interface
+ 0 = /dev/vtx Teletext decoder
+ 16 = /dev/vttuner TV tuner on teletext interface
- Devices for the driver contained in the VideoteXt package.
- More information on http://home.pages.de/~videotext/
+ Devices for the driver contained in the VideoteXt package.
+ More information on http://home.pages.de/~videotext/
84 char Ikon 1011[57] Versatec Greensheet Interface
- 0 = /dev/ihcp0 First Greensheet port
- 1 = /dev/ihcp1 Second Greensheet port
+ 0 = /dev/ihcp0 First Greensheet port
+ 1 = /dev/ihcp1 Second Greensheet port
85 char Linux/SGI shared memory input queue
0 = /dev/shmiq Master shared input queue
@@ -1060,7 +1088,33 @@ reply.
30 = /dev/mtd15 16th MTD (rw)
31 = /dev/mtdr15 16th MTD (ro)
- 91-119 UNALLOCATED
+ 91 char CAN-Bus devices
+ 0 = /dev/can0 First CAN-Bus controller
+ 1 = /dev/can1 Second CAN-Bus controller
+ ...
+
+ 92 char Reserved for ith Kommunikationstechnik MIC ISDN card
+
+ 93 char IBM Smart Capture Card frame grabber
+ 0 = /dev/iscc0 First Smart Capture Card
+ 1 = /dev/iscc1 Second Smart Capture Card
+ ...
+ 128 = /dev/isccctl0 First Smart Capture Card control
+ 129 = /dev/isccctl1 Second Smart Capture Card control
+ ...
+
+ 94 char miroVIDEO DC10/30 capture/playback device
+ 0 = /dev/dcxx0 First capture card
+ 1 = /dev/dcxx1 Second capture card
+ ...
+
+ 95 char IP filter
+ 0 = /dev/ipl Filter control device/log file
+ 1 = /dev/ipnat NAT control device/log file
+ 2 = /dev/ipstate State information log file
+ 3 = /dev/ipauth Authentication control device/log file
+
+ 96-119 UNALLOCATED
120-127 LOCAL/EXPERIMENTAL USE
@@ -1099,7 +1153,8 @@ It is recommended that these links exist on all systems:
/dev/core /proc/kcore symbolic Backward compatibility
/dev/ramdisk ram0 symbolic Backward compatibility
-/dev/ftape rft0 symbolic Backward compatibility
+/dev/rft0 qft0 symbolic Backward compatibility
+/dev/ftape qft0 symbolic Backward compatibility
/dev/scd? sr? hard Alternate SCSI CD-ROM name
diff --git a/Documentation/filesystems/00-INDEX b/Documentation/filesystems/00-INDEX
index 36a1dfa12..72903619e 100644
--- a/Documentation/filesystems/00-INDEX
+++ b/Documentation/filesystems/00-INDEX
@@ -4,6 +4,8 @@ affs.txt
- info and mount options for the Amiga Fast File System.
hpfs.txt
- info and mount options for the OS/2 HPFS.
+isofs.txt
+ - info and mount options for the ISO9660 (CDROM) filesystem.
ncpfs.txt
- info on Novell Netware(tm) filesystem using NCP protocol.
romfs.txt
diff --git a/Documentation/filesystems/smbfs.txt b/Documentation/filesystems/smbfs.txt
index fb2d55bdb..04eb2e586 100644
--- a/Documentation/filesystems/smbfs.txt
+++ b/Documentation/filesystems/smbfs.txt
@@ -1,13 +1,54 @@
-smbfs is a filesystem which understands the SMB protocol. This is the
-protocol Windows for Workgroups, Windows NT or Lan Manager use to talk
-to each other. smbfs was inspired by samba, the program written by
-Andrew Tridgell that turns any unix host into a file server for DOS or
-Windows clients. See ftp://nimbus.anu.edu.au/pub/tridge/samba/ for
-this interesting program suite and lots of more information on SMB and
-NetBIOS over TCP/IP. There you also find explanation for concepts like
-netbios name or share.
-
-To use smbfs, you need a special mount program, which can be found in
-the smbfs package, found on
-
- ftp://ftp.gwdg.de/pub/linux/misc/smbfs/
+Smbfs is a filesystem that implements the SMB protocol, which is the
+protocol used by Windows for Workgroups, Windows 95 and Windows NT.
+Smbfs was inspired by samba, the program written by Andrew Tridgell
+that turns any unix host into a file server for DOS or Windows clients.
+See ftp://nimbus.anu.edu.au/pub/tridge/samba/ for this interesting
+program suite and much more information on SMB, NetBIOS over TCP/IP,
+and explanations for concepts like netbios name or share.
+
+To use smbfs, you need to install the Samba package (Samba-1.9.17p1 or
+later), and you need the special mount program from the smbfs package
+(smbfs-2.1.0 or later), found on
+
+ ftp://ftp.gwdg.de/pub/linux/misc/smbfs/dontuse
+
+After downloading the smbfs package, apply the patch to the smbclient
+program and recompile. Smbfs can then be mounted from the smbclient
+command line, as for example:
+
+ smb: \>mount /mnt/tmp -f 755
+
+For convenience, you may wish to package the command in a script like this:
+
+#!/bin/sh
+echo "mount /mnt/tmp -f 755" | smbclient //server/c$ -U administrator%
+
+Mount-Time Options
+Windows 95 has several bugs that affect SMB operations, and smbfs includes
+work-arounds for all of the bugs found (so far, at least.) These can be
+enabled at compile-time with the CONFIG_SMB_WIN95 kernel option.
+
+Unfortunately, some of the Win 95 work-arounds interact with Win NT bugs,
+so if you're using several different types of servers on your network you
+probably want to enable the work-arounds at mount time. To do this, answer
+`N' to the CONFIG_SMB_WIN95 option, and add the needed options listed below
+to the file mode argument of the mount command for the Win 95 servers.
+
+Option Value Effect
+Identify Win 95 Server 1 Enables bug fixes
+Use Core Attributes 2 Speeds up directory scans, only mtime
+
+To apply the options, sum the values and prepend it to the file mode. For
+example, to use both options with file mode 755, you would prepend 3 to 755:
+
+ cnt>mount /mnt/tmp -f 3755
+
+Smbfs will print a message at mount time confirming the selected options.
+Note that _only_ Windows 95 servers require special treatment; using the
+"core attributes" option with Win NT will give trash timestamp values.
+
+To summarize, if your network includes both Win 95 and NT servers:
+(1) Do _not_ enable the CONFIG_SMB_WIN95 kernel option
+
+(2) Add the desired work-around options to the mount command for your
+ Win 95 server(s).
diff --git a/Documentation/filesystems/vfat.txt b/Documentation/filesystems/vfat.txt
index 6f03cc799..050a4306a 100644
--- a/Documentation/filesystems/vfat.txt
+++ b/Documentation/filesystems/vfat.txt
@@ -8,7 +8,20 @@ if you want to format from within Linux.
VFAT MOUNT OPTIONS
----------------------------------------------------------------------
-uni_xlate -- Translate unhandled Unicode characters to special
+codepage=### -- Sets the codepage for converting to shortname characters
+ on FAT and VFAT filesystems. By default, codepage 437
+ is used. This is the default for the U.S. and some
+ European countries.
+iocharset=name -- Character set to use for converting between 8 bit characters
+ and 16 bit Unicode characters. Long filenames are stored on
+ disk in Unicode format, but Unix for the most part doesn't
+ know how to deal with Unicode. There is also an option of
+ doing UTF8 translations with the utf8 option.
+utf8=<bool> -- UTF8 is the filesystem safe version of Unicode that
+ is used by the console. It can be be enabled for the
+ filesystem with this option. If 'uni_xlate' gets set,
+ UTF8 gets disabled.
+uni_xlate=<bool> -- Translate unhandled Unicode characters to special
escaped sequences. This would let you backup and
restore filenames that are created with any Unicode
characters. Until Linux supports Unicode for real,
@@ -18,11 +31,11 @@ uni_xlate -- Translate unhandled Unicode characters to special
illegal on the vfat filesystem. The escape sequence
that gets used, where u is the unicode character, is:
':', (u & 0x3f), ((u>>6) & 0x3f), (u>>12),
-posix -- Allow names of same letters, different case such as
+posix=<bool> -- Allow names of same letters, different case such as
'LongFileName' and 'longfilename' to coexist. This has some
problems currently because 8.3 conflicts are not handled
correctly for Posix filesystem compliance.
-nonumtail -- When creating 8.3 aliases, normally the alias will
+nonumtail=<bool> -- When creating 8.3 aliases, normally the alias will
end in '~1' or tilde followed by some number. If this
option is set, then if the filename is
"longfilename.txt" and "longfile.txt" does not
@@ -31,19 +44,19 @@ nonumtail -- When creating 8.3 aliases, normally the alias will
quiet -- Stops printing certain warning messages.
+<bool>: 0,1,yes,no,true,false
TODO
----------------------------------------------------------------------
+* When only shortnames exist, translate them from the codepage character
+ set to the iocharset. Currently, translations only occur when longnames
+ exist. To translate, first convert from codepage to Unicode and then
+ to the output character set.
+
* Need to get rid of the raw scanning stuff. Instead, always use
a get next directory entry approach. The only thing left that uses
raw scanning is the directory renaming code.
-* Need to add dcache_lookup code msdos filesystem. This means the
- directories need to be versioned like the vfat filesystem.
-
-* Add support for different codepages. Right now, we only support
- the a single English codepage.
-
* Fix the Posix filesystem support to work in 8.3 space. This involves
renaming aliases if a conflict occurs between a new filename and
an old alias. This is quite a mess.
@@ -55,11 +68,12 @@ POSSIBLE PROBLEMS
* When a volume name is the same as a directory name in the root
directory of the filesystem, the directory name sometimes shows
up empty an empty file.
+* autoconv option does not work correctly.
BUG REPORTS
----------------------------------------------------------------------
If you have trouble with the VFAT filesystem, mail bug reports to
-chaffee@bugs-bunny.cs.berkeley.edu. Please specify the filename
+chaffee@bmrc.cs.berkeley.edu. Please specify the filename
and the operation that gave you trouble.
TEST SUITE
@@ -67,7 +81,7 @@ TEST SUITE
If you plan to make any modifications to the vfat filesystem, please
get the test suite that comes with the vfat distribution at
- http://www-plateau.cs.berkeley.edu/people/chaffee/vfat.html
+ http://bmrc.berkeley.edu/people/chaffee/vfat.html
This tests quite a few parts of the vfat filesystem and additional
tests for new features or untested features would be appreciated.
@@ -194,271 +208,3 @@ the following:
Finally, note that the extended name is stored in Unicode. Each Unicode
character takes two bytes.
-
-
-NOTES ON UNICODE TRANSLATION IN VFAT FILESYSTEM
-----------------------------------------------------------------------
-(Information provided by Steve Searle <steve@mgu.bath.ac.uk>)
-
-Char used as Char(s) used Char(s) used in Entries which have
-filename in shortname longname slot been corrected
-0x80 (128) 0x80 0xC7
-0x81 (129) 0x9A 0xFC
-0x82 (130) 0x90 0xE9 E
-0x83 (131) 0xB6 0xE2 E
-0x84 (132) 0x8E 0xE4 E
-0x85 (133) 0xB7 0xE0 E
-0x86 (134) 0x8F 0xE5 E
-0x87 (135) 0x80 0xE7 E
-0x88 (136) 0xD2 0xEA E
-0x89 (137) 0xD3 0xEB E
-0x8A (138) 0xD4 0xE8 E
-0x8B (139) 0xD8 0xEF E
-0x8C (140) 0xD7 0xEE E
-0x8D (141) 0xDE 0xEC E
-0x8E (142) 0x8E 0xC4 E
-0x8F (143) 0x8F 0xC5 E
-0x90 (144) 0x90 0xC9 E
-0x91 (145) 0x92 0xE6 E
-0x92 (146) 0x92 0xC6 E
-0x93 (147) 0xE2 0xF4 E
-0x94 (148) 0x99 0xF6
-0x95 (149) 0xE3 0xF2
-0x96 (150) 0xEA 0xFB
-0x97 (151) 0xEB 0xF9
-0x98 (152) "_~1" 0xFF
-0x99 (153) 0x99 0xD6
-0x9A (154) 0x9A 0xDC
-0x9B (155) 0x9D 0xF8
-0x9C (156) 0x9C 0xA3
-0x9D (157) 0x9D 0xD8
-0x9E (158) 0x9E 0xD7
-0x9F (159) 0x9F 0x92
-0xA0 (160) 0xB5 0xE1
-0xA1 (161) 0xD6 0xE0
-0xA2 (162) 0xE0 0xF3
-0xA3 (163) 0xE9 0xFA
-0xA4 (164) 0xA5 0xF1
-0xA5 (165) 0xA5 0xD1
-0xA6 (166) 0xA6 0xAA
-0xA7 (167) 0xA7 0xBA
-0xA8 (168) 0xA8 0xBF
-0xA9 (169) 0xA9 0xAE
-0xAA (170) 0xAA 0xAC
-0xAB (171) 0xAB 0xBD
-0xAC (172) 0xAC 0xBC
-0xAD (173) 0xAD 0xA1
-0xAE (174) 0xAE 0xAB
-0xAF (175) 0xAF 0xBB
-0xB0 (176) 0xB0 0x91 0x25
-0xB1 (177) 0xB1 0x92 0x25
-0xB2 (178) 0xB2 0x93 0x25
-0xB3 (179) 0xB3 0x02 0x25
-0xB4 (180) 0xB4 0x24 0x25
-0xB5 (181) 0xB5 0xC1
-0xB6 (182) 0xB6 0xC2
-0xB7 (183) 0xB7 0xC0
-0xB8 (184) 0xB8 0xA9
-0xB9 (185) 0xB9 0x63 0x25
-0xBA (186) 0xBA 0x51 0x25
-0xBB (187) 0xBB 0x57 0x25
-0xBC (188) 0xBC 0x5D 0x25
-0xBD (189) 0xBD 0xA2
-0xBE (190) 0xBE 0xA5
-0xBF (191) 0xBF 0x10 0x25
-0xC0 (192) 0xC0 0x14 0x25
-0xC1 (193) 0xC1 0x34 0x25
-0xC2 (194) 0xC2 0x2C 0x25
-0xC3 (195) 0xC3 0x1C 0x25
-0xC4 (196) 0xC4 0x00 0x25
-0xC5 (197) 0xC5 0x3C 0x25
-0xC6 (198) 0xC7 0xE3 E
-0xC7 (199) 0xC7 0xC3
-0xC8 (200) 0xC8 0x5A 0x25 E
-0xC9 (201) 0xC9 0x54 0x25 E
-0xCA (202) 0xCA 0x69 0x25 E
-0xCB (203) 0xCB 0x66 0x25 E
-0xCC (204) 0xCC 0x60 0x25 E
-0xCD (205) 0xCD 0x50 0x25 E
-0xCE (206) 0xCE 0x6C 0x25 E
-0xCF (207) 0xCF 0xA4 E
-0xD0 (208) 0xD1 0xF0
-0xD1 (209) 0xD1 0xD0
-0xD2 (210) 0xD2 0xCA
-0xD3 (211) 0xD3 0xCB
-0xD4 (212) 0xD4 0xC8
-0xD5 (213) 0x49 0x31 0x01
-0xD6 (214) 0xD6 0xCD
-0xD7 (215) 0xD7 0xCE
-0xD8 (216) 0xD8 0xCF
-0xD9 (217) 0xD9 0x18 0x25
-0xDA (218) 0xDA 0x0C 0x25
-0xDB (219) 0xDB 0x88 0x25
-0xDC (220) 0xDC 0x84 0x25
-0xDD (221) 0xDD 0xA6
-0xDE (222) 0xDE 0xCC
-0xDF (223) 0xDF 0x80 0x25
-0xE0 (224) 0xE0 0xD3
-0xE1 (225) 0xE1 0xDF
-0xE2 (226) 0xE2 0xD4
-0xE3 (227) 0xE3 0xD2
-0xE4 (228) 0x05 0xF5
-0xE5 (229) 0x05 0xD5
-0xE6 (230) 0xE6 0xB5
-0xE7 (231) 0xE8 0xFE
-0xE8 (232) 0xE8 0xDE
-0xE9 (233) 0xE9 0xDA
-0xEA (234) 0xEA 0xDB
-0xEB (235) 0xEB 0xD9
-0xEC (236) 0xED 0xFD
-0xED (237) 0xED 0xDD
-0xEE (238) 0xEE 0xAF
-0xEF (239) 0xEF 0xB4
-0xF0 (240) 0xF0 0xAD
-0xF1 (241) 0xF1 0xB1
-0xF2 (242) 0xF2 0x17 0x20
-0xF3 (243) 0xF3 0xBE
-0xF4 (244) 0xF4 0xB6
-0xF5 (245) 0xF5 0xA7
-0xF6 (246) 0xF6 0xF7
-0xF7 (247) 0xF7 0xB8
-0xF8 (248) 0xF8 0xB0
-0xF9 (249) 0xF9 0xA8
-0xFA (250) 0xFA 0xB7
-0xFB (251) 0xFB 0xB9
-0xFC (252) 0xFC 0xB3
-0xFD (253) 0xFD 0xB2
-0xFE (254) 0xFE 0xA0 0x25
-0xFF (255) 0xFF 0xA0
-
-
-Page 0
-0x80 (128) 0x00
-0x81 (129) 0x00
-0x82 (130) 0x00
-0x83 (131) 0x00
-0x84 (132) 0x00
-0x85 (133) 0x00
-0x86 (134) 0x00
-0x87 (135) 0x00
-0x88 (136) 0x00
-0x89 (137) 0x00
-0x8A (138) 0x00
-0x8B (139) 0x00
-0x8C (140) 0x00
-0x8D (141) 0x00
-0x8E (142) 0x00
-0x8F (143) 0x00
-0x90 (144) 0x00
-0x91 (145) 0x00
-0x92 (146) 0x00
-0x93 (147) 0x00
-0x94 (148) 0x00
-0x95 (149) 0x00
-0x96 (150) 0x00
-0x97 (151) 0x00
-0x98 (152) 0x00
-0x99 (153) 0x00
-0x9A (154) 0x00
-0x9B (155) 0x00
-0x9C (156) 0x00
-0x9D (157) 0x00
-0x9E (158) 0x00
-0x9F (159) 0x92
-0xA0 (160) 0xFF
-0xA1 (161) 0xAD
-0xA2 (162) 0xBD
-0xA3 (163) 0x9C
-0xA4 (164) 0xCF
-0xA5 (165) 0xBE
-0xA6 (166) 0xDD
-0xA7 (167) 0xF5
-0xA8 (168) 0xF9
-0xA9 (169) 0xB8
-0xAA (170) 0x00
-0xAB (171) 0xAE
-0xAC (172) 0xAA
-0xAD (173) 0xF0
-0xAE (174) 0x00
-0xAF (175) 0xEE
-0xB0 (176) 0xF8
-0xB1 (177) 0xF1
-0xB2 (178) 0xFD
-0xB3 (179) 0xFC
-0xB4 (180) 0xEF
-0xB5 (181) 0xE6
-0xB6 (182) 0xF4
-0xB7 (183) 0xFA
-0xB8 (184) 0xF7
-0xB9 (185) 0xFB
-0xBA (186) 0x00
-0xBB (187) 0xAF
-0xBC (188) 0xAC
-0xBD (189) 0xAB
-0xBE (190) 0xF3
-0xBF (191) 0x00
-0xC0 (192) 0xB7
-0xC1 (193) 0xB5
-0xC2 (194) 0xB6
-0xC3 (195) 0xC7
-0xC4 (196) 0x8E
-0xC5 (197) 0x8F
-0xC6 (198) 0x92
-0xC7 (199) 0x80
-0xC8 (200) 0xD4
-0xC9 (201) 0x90
-0xCA (202) 0xD2
-0xCB (203) 0xD3
-0xCC (204) 0xDE
-0xCD (205) 0xD6
-0xCE (206) 0xD7
-0xCF (207) 0xD8
-0xD0 (208) 0x00
-0xD1 (209) 0xA5
-0xD2 (210) 0xE3
-0xD3 (211) 0xE0
-0xD4 (212) 0xE2
-0xD5 (213) 0xE5
-0xD6 (214) 0x99
-0xD7 (215) 0x9E
-0xD8 (216) 0x9D
-0xD9 (217) 0xEB
-0xDA (218) 0xE9
-0xDB (219) 0xEA
-0xDC (220) 0x9A
-0xDD (221) 0xED
-0xDE (222) 0xE8
-0xDF (223) 0xE1
-0xE0 (224) 0x85, 0xA1
-0xE1 (225) 0xA0
-0xE2 (226) 0x83
-0xE3 (227) 0xC6
-0xE4 (228) 0x84
-0xE5 (229) 0x86
-0xE6 (230) 0x91
-0xE7 (231) 0x87
-0xE8 (232) 0x8A
-0xE9 (233) 0x82
-0xEA (234) 0x88
-0xEB (235) 0x89
-0xEC (236) 0x8D
-0xED (237) 0x00
-0xEE (238) 0x8C
-0xEF (239) 0x8B
-0xF0 (240) 0xD0
-0xF1 (241) 0xA4
-0xF2 (242) 0x95
-0xF3 (243) 0xA2
-0xF4 (244) 0x93
-0xF5 (245) 0xE4
-0xF6 (246) 0x94
-0xF7 (247) 0xF6
-0xF8 (248) 0x9B
-0xF9 (249) 0x97
-0xFA (250) 0xA3
-0xFB (251) 0x96
-0xFC (252) 0x81
-0xFD (253) 0xEC
-0xFE (254) 0xE7
-0xFF (255) 0x98
-
diff --git a/Documentation/ftape.txt b/Documentation/ftape.txt
new file mode 100644
index 000000000..28c3912ed
--- /dev/null
+++ b/Documentation/ftape.txt
@@ -0,0 +1,326 @@
+Intro
+=====
+
+This file describes some issues involved when using the "ftape"
+floppy tape device driver that comes with the Linux kernel. This
+document deals with ftape-3.04 and later. Please read the section
+"Changes" for the most striking differences between version 3.04 and
+2.08; the latter was the version of ftape delivered with the kernel
+until kernel version 2.030 and 2.1.57. ftape-3.x developed as the
+re-unification of ftape-2.x and zftape. zftape was developed in
+parallel with the stock ftape-2.x driver sharing the same hardware
+support but providing an enhanced file system interface. zftape also
+provided user transparent block-wise on-the-fly compression (regard it
+as a feature or bug of zftape).
+
+ftape has a home page at
+
+http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape
+
+which contains further information about ftape. Please cross check
+this WWW address against the address given (if any) in the MAINTAINERS
+file located in the top level directory of the Linux kernel source
+tree.
+
+Contents
+========
+
+A minus 1: Ftape documentation
+
+A. Changes
+ 1. Goal
+ 2. I/O Block Size
+ 3. Write Access when not at EOD (End Of Data) or BOT (Begin Of Tape)
+ 4. MTBSF - backspace over file mark and position at its EOT side
+ 5. Formatting
+ 6. Interchanging cartridges with other operating systems
+
+B. Debugging Output
+ 1. Introduction
+ 2. Tuning the debugging output
+
+C. Boot and load time configuration
+ 1. Setting boot time parameters
+ 2. Module load time parameters
+ 3. Ftape boot- and load time options
+ 4. Example kernel parameter setting
+ 5. Example module parameter setting
+
+D. Support and contacts
+
+*******************************************************************************
+
+A minus 1. Ftape documentation
+==============================
+
+Unluckily, the ftape-HOWTO is out of date. This really needs to be
+changed. Up to data documentation as well as recent development
+versions of ftape and useful links to related topics can be found at
+the ftape home page at
+
+http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape
+
+*******************************************************************************
+
+A. Changes
+==========
+
+1. Goal
+ ~~~~
+ The goal of all that incompatibilities was to give ftape an interface
+ that resembles the interface provided by SCSI tape drives as close
+ as possible. Thus any Unix backup program that is known to work
+ with SCSI tape drives should also work with ftape-3.04 and above.
+
+ The concept of a fixed block size for read/write transfers is
+ rather unrelated to this SCSI tape compatibility at the file system
+ interface level. It developed out of a feature of zftape, a
+ block wise user transparent on-the-fly compression. That compression
+ support will not be dropped in future releases for compatibility
+ reasons with previous releases of zftape.
+
+2. I/O Block Size
+ ~~~~~~~~~~~~~~
+ The probably most striking difference between ftape-2.x and
+ ftape-3.x with the zftape file system interface is the concept of a
+ fixed block size: data must be written to or read from the tape in
+ multiples of a fixed block size. The block size defaults to 10k
+ which is the default block size of GNU tar. While this is quite
+ usual for SCSI tapes (block size of 32k?) and the QIC-150 driver
+ `./drivers/char/tpqic02.c' ftape-2.x allowed data to be written in
+ arbitrary portions to the tape.
+
+ The block size can be tuned either during kernel configuration or
+ at runtime with the MTIOCTOP ioctl using the MTSETBLK operation
+ (i.e. do "mt -f /dev/qft0" setblk #BLKSZ). A block size of 0
+ switches to variable block size mode i.e. "mt setblk 0" switches
+ off the block size restriction. However, this disables zftape's
+ built in on-the-fly compression which doesn't work with variable
+ block size mode.
+
+ The BLKSZ parameter must be given as a byte count and must be a
+ multiple of 32k or 0, i.e. use "mt setblk 32768" to switch to a
+ block size of 32k.
+
+ The typical symptom of a block size mismatch is an "invalid
+ argument" error message.
+
+3. Write Access when not at EOD (End Of Data) or BOT (Begin Of Tape)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ zftape (the file system interface of ftape-3.x) denies write access
+ to the tape cartridge when it isn't positioned either at BOT or
+ EOD. This inconvenience has been introduced as it was reported that
+ the former behavior of ftape-2.x which allowed write access at
+ arbitrary locations already has caused data loss with some backup
+ programs.
+
+4. MTBSF - backspace over file mark and position at its EOT side
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ftape-2.x didn't handle the MTBSF tape operation correctly. A MTBSF
+ call (i.e. "mt -f /dev/nqft0 bsf #COUNT") should space over #COUNT
+ file marks and then position at the EOT tape side of the the file
+ mark. This has to be taken literally, i.e. "mt -f /dev/nqft0 bsf 1"
+ should simply position at the start of the current volume.
+
+5. Formatting
+ ~~~~~~~~~~
+ ftape-3.x DOES support formatting of floppy tape cartridges. You
+ need the `ftformat' program that is shipped with the modules version
+ of ftape-3.x. Please get the latest version of ftape from
+
+ ftp://sunsite.unc.edu/pub/Linux/kernel/tapes
+
+ or from the ftape home page at
+
+ http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape
+
+ `ftformat' is contained in the `./contrib/' subdirectory of that
+ separate ftape package.
+
+6. Interchanging cartridges with other operating systems
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ The internal emulation of Unix tape device file marks has changed
+ completely. ftape-3.x now uses the volume table segment as specified
+ by the QIC-40/80/3010/3020/113 standards to emulate file marks. As
+ a consequence there is limited support to interchange cartridges
+ with other operating systems.
+
+ To be more precise: ftape will detect volumes written by other OS's
+ programs and other OS's programs will detect volumes written by
+ ftape-3.x.
+
+ However, it isn't possible to extract the data dumped to the tape
+ by some MSDOG program with ftape-3.x. This exceeds the scope of a
+ kernel device driver. If you need such functionality, then go ahead
+ and write a user space utility that is able to do
+ that. ftape-3.x/zftape already provides all kernel level support
+ necessary to do that.
+
+*******************************************************************************
+
+B. Debugging Output
+ ================
+
+1. Introduction
+ ~~~~~~~~~~~~
+ The ftape driver can be very noisy in that is can print lots of
+ debugging messages to the kernel log files and the system console.
+ While this is useful for debugging it might be annoying during
+ normal use and enlarges the size of the driver by several kilobytes.
+
+ To reduce the size of the driver you can trim the maximal amount of
+ debugging information available during kernel configuration. Please
+ refer to the kernel configuration script and its on-line help
+ functionality.
+
+ The amount of debugging output maps to the "tracing" boot time
+ option and the "ft_tracing" modules option as follows:
+
+ 0 bugs
+ 1 + errors (with call-stack dump)
+ 2 + warnings
+ 3 + information
+ 4 + more information
+ 5 + program flow
+ 6 + fdc/dma info
+ 7 + data flow
+ 8 + everything else
+
+2. Tuning the debugging output
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ To reduce the amount of debugging output printed to the system
+ console you can
+
+ i) trim the debugging output at run-time with
+
+ mt -f /dev/nqft0 setdensity #DBGLVL
+
+ where "#DBGLVL" is a number between 0 and 9
+
+ ii) trim the debugging output at module load time with
+
+ insmod ftape.o ft_tracing=#DBGLVL
+
+ Of course, this applies only if you have configured ftape to be
+ compiled as a module.
+
+ iii) trim the debugging output during system boot time. Add the
+ following to the kernel command line:
+
+ ftape=#DBGLVL,tracing
+
+ Please refer also to the next section if you don't know how to
+ set boot time parameters.
+
+*******************************************************************************
+
+C. Boot and load time configuration
+ ================================
+
+1. Setting boot time parameters
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Assuming that you use lilo, the LI)nux LO)ader, boot time kernel
+ parameters can be set by adding a line
+
+ append some_kernel_boot_time_parameter
+
+ to `/etc/lilo.conf' or at real boot time by typing in the options
+ at the prompt provided by LILO. I can't give you advice on how to
+ specify those parameters with other loaders as I don't use them.
+
+ For ftape, each "some_kernel_boot_time_parameter" looks like
+ "ftape=value,option". As an example, the debugging output can be
+ increased with
+
+ ftape=4,tracing
+
+ NOTE: the value precedes the option name.
+
+2. Module load time parameters
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Module parameters can be specified either directly when invoking
+ the program 'insmod' at the shell prompt:
+
+ insmod ftape.o ft_tracing=4
+
+ or by editing the file `/etc/conf.modules' in which case they take
+ affect each time when the module is loaded with `modprobe' (please
+ refer to the modules documentation, i.e. `modules.txt' and the
+ respective manual pages). Thus, you should add a line
+
+ options ftape ft_tracing=4
+
+ to `/etc/conf.modules` if you intend to increase the debugging
+ output of the driver.
+
+
+3. Ftape boot- and load time options
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ i. Controlling the amount of debugging output
+ DBGLVL has to be replaced by a number between 0 and 8.
+
+ module | kernel command line
+ -----------------------|----------------------
+ ft_tracing=DBGLVL | ftape=DBGLVL,tracing
+
+ ii. Hardware setup
+ BASE is the base address of your floppy disk controller,
+ IRQ and DMA give its interrupt and dma channel, respectively.
+ BOOL is an integer, "0" means: "NO!", any other value means:
+ "YES!". You don't need to specify anything if connecting your tape
+ drive to the standard floppy disk controller. All of these
+ values have reasonable defaults. The defaults can be modified
+ during kernel configuration, i.e. while running "make config",
+ "make menuconfig" or "make xconfig" in the top level directory
+ of the Linux kernel source tree. Please refer also to the on
+ line documentation provided during that kernel configuration
+ process.
+
+ module | kernel command line
+ -----------------------|----------------------
+ ft_fdc_base=BASE | ftape=BASE,ioport
+ ft_fdc_irq=IRQ | ftape=IRQ,irq
+ ft_fdc_dma=DMA | ftape=DMA,dma
+ ft_probe_fc10=BOOL | ftape=BOOL,fc10
+ ft_mach2=BOOL | ftape=BOOL,mach2
+ ft_fdc_threshold=THR | ftape=THR,threshold
+ ft_fdc_rate_limit=RATE | ftape=RATE,datarate
+
+4. Example kernel parameter setting
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ To configure ftape to probe for a Colorado FC-10/FC-20 controller
+ and to increase the amount of debugging output a little bit, add
+ the following line to `/etc/lilo.conf':
+
+ append ftape=1,fc10 ftape=4,tracing
+
+5. Example module parameter setting
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ To do the same, but with ftape compiled as a loadable kernel
+ module, add the following line to `/etc/conf.modules':
+
+ options ftape ft_probe_fc10=1 ft_tracing=4
+
+*******************************************************************************
+
+D. Support and contacts
+ ====================
+
+ Ftape is distributed under the GNU General Public License. There is
+ absolutely no warranty for this software. However, you can reach
+ the current maintainer of the ftape package under the email address
+ given in the MAINTAINERS file which is located in the top level
+ directory of the Linux kernel source tree. There you'll find also
+ the relevant mailing list to use as a discussion forum and the web
+ page to query for the most recent documentation, related work and
+ development versions of ftape.
+
+
+ LocalWords: ftape Linux zftape http www rwth aachen LBFM claus EOD config
+ LocalWords: datarate LocalWords BOT MTBSF EOT HOWTO QIC tpqic menuconfig
+ LocalWords: MTIOCTOP MTSETBLK mt dev qft setblk BLKSZ bsf zftape's xconfig
+ LocalWords: nqft ftformat ftp sunsite unc edu contrib ft MSDOG fdc
+ LocalWords: dma setdensity DBGLVL insmod lilo LI nux ader conf txt
+ LocalWords: modprobe IRQ BOOL ioport irq fc mach THR
diff --git a/Documentation/ioctl-number.txt b/Documentation/ioctl-number.txt
index b658a2ca9..9228887ab 100644
--- a/Documentation/ioctl-number.txt
+++ b/Documentation/ioctl-number.txt
@@ -91,6 +91,7 @@ Code Seq# Include File Comments
<mailto:natalia@nikhefk.nikhef.nl>
'c' all linux/comstats.h
'f' all linux/ext2_fs.h
+'j' 00-3F linux/joystick.h
'k' all asm-sparc/kbio.h, asm-sparc64/kbio.h
'l' 00-3F linux/tcfs_fs.h in development:
<http://mikonos.dia.unisa.it/tcfs>
@@ -125,3 +126,4 @@ Code Seq# Include File Comments
<mailto:tlewis@mindspring.com>
0xA3 90-9F DoubleTalk driver in development:
<mailto:jrv@vanzandt.mv.com>
+0xAB 00-06 Network block device
diff --git a/Documentation/joystick.txt b/Documentation/joystick.txt
new file mode 100644
index 000000000..ec525b182
--- /dev/null
+++ b/Documentation/joystick.txt
@@ -0,0 +1,200 @@
+ PC Joystick driver v1.0.6 beta
+ (c) 1997 Vojtech Pavlik <vojtech@atrey.karlin.mff.cuni.cz>
+----------------------------------------------------------------------------
+
+1. Intro
+~~~~~~~~
+ The PC Joystick driver for Linux provides support for analog (variable
+resistor based) and digital (switch based) joysticks connected via the PC
+game port. It can support up to 2 joysticks.
+
+ Because the joystick driver is still in its beta stage I'm very interested
+in any problems you encounter while using it. Bug reports and success
+stories are also welcome.
+
+2. Usage
+~~~~~~~~
+ If you enable the joystick driver in the kernel configuration, all
+connected joystick should be found automatically. If that doesn't work, you
+can pass the joystick driver the following kernel command line arguments:
+
+js=0xXX,0xYY
+
+ Where XX and YY are bit masks for the two joysticks, with the bits
+representing:
+
+Bit | Explanation
+-----------------
+ 0 | Axis 0
+ 1 | Axis 1
+ 2 | Axis 2
+ 3 | Axis 3
+ 4 | Button 0
+ 5 | Button 1
+ 6 | Button 2
+ 7 | Button 3
+
+ These bitmasks are ANDed with what's found by the driver and the result is
+used.
+
+ Another method of using the driver is loading it as a module. For that,
+select `M' for this driver in the kernel configuration and insert the
+module:
+
+insmod js.o js=0xXX,0xYY
+
+ To enable the user space programs to read the joystick device, you have to
+create the device files using mknod (man mknod for more info):
+
+mknod /dev/js0 c 15 0
+mknod /dev/js1 c 15 1
+
+3. Calibration
+~~~~~~~~~~~~~~
+ As of version 1.0 the calibration routines used in the joystick driver are
+worth using. The idea of calibration is that you have to calibrate the
+joystick only once, and then set the calibration at boot-time, thus removing
+the need of re-calibrating it in each program that uses it.
+
+ For calibration, use the jscal program, contained in the joystick package
+which is available at:
+
+ftp://atrey.karlin.mff.cuni.cz/pub/local/vojtech/joystick/joystick-1.0.6.tar.gz
+
+And soon also at:
+
+ftp://sunsite.unc.edu/pub/Linux/kernel/patches/console/joystick-1.0.6.tar.gz
+
+4. Programming Interface
+~~~~~~~~~~~~~~~~~~~~~~~~
+ The 1.0 driver uses a new, event based approach to the joystick driver.
+Instead of the user program polling for the joystick values, the joystick
+driver now reports only any changes of its state. See joystick.h and
+jstest.c included in the joystick package for more information. The joystick
+device can be used in either blocking or nonblocking mode and supports
+select() calls.
+
+ For backward compatibility the old interface is still included, but will
+be dropped in the future.
+
+5. Credits
+~~~~~~~~~~
+ Thanks to the following authors that contributed to the joystick driver
+development:
+
+ 0.1-0.5 Arthur C. Smith <asmith@cbnewsd.att.com>
+ 0.5 Eyal Lebedinsky <eyal@eyal.emu.id.au>
+ 0.6 Jeff Tranter <tranter@software.mitel.com>
+ 0.7 Carlos Puchol <cpg@cs.utexas.edu>
+ 0.7.1-0.8 Matt Rhoten <mrhoten@oz.net>
+ 0.7.3 Dan Fandrich <dan@fch.wimsey.bc.ca>
+ 0.7.3 Sverker Wilberg <sverkerw@manila.docs.uu.se>
+ 0.8 Hal Maney <maney@norden.com>
+ 0.8 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+ 0.9 Alan Cox <alan@cymru.net>
+ 0.9.0-1.0.6 Vojtech Pavlik <vojtech@atrey.karlin.mff.cuni.cz>
+
+6. Change Log
+~~~~~~~~~~~~~
+ The current (1.0.x) version was originally based on the 0.7.3 version of
+the joystick driver, which caused some inconsistencies in version numbering.
+The following log documents all changes done to the driver by various
+contributors:
+
+Version 0.1 Original version
+ Works but lacks multi-joystick support
+Version 0.2 Added multi-joystick support (minor 0 and 1)
+ Added delay between measuring joystick axis
+ Added scaling ioctl
+Version 0.3 Modified scaling to use ints to prevent kernel
+ panics 8-)
+Version 0.4 Linux 0.99.6 and fixed race condition in js_read.
+ After looking at a schematic of a joystick card
+ it became apparent that any write to the joystick
+ port started ALL the joystick one shots. If the
+ one that we are reading is short enough and the
+ first one to be read, the second one will return
+ bad data if it's one shot has not expired when
+ the joystick port is written for the second time.
+ Thus solves the mystery delay problem in 0.2!
+Version 0.5 Upgraded the driver to the 0.99.9 kernel, added
+ joystick support to the make config options,
+ updated the driver to return the buttons as
+ positive logic, and read both axis at once
+ and added some new ioctls.
+Version 0.6 Made necessary changes to work with 0.99.15
+ kernel (and hopefully 1.0). Also did some
+ cleanup: indented code, fixed some typos, wrote
+ man page, etc ...
+Version 0.7 Support for modules
+Version 0.7.1 Fix bug in reading button state of js1
+ Add include so module compiles under recent kernels
+Version 0.7.3 Include directives changed for joystick.h
+ Separated out joystick detection/counting, cleanup
+ Fix for detection of 3-axis joysticks
+ Better detection announcement
+ Added I/O port registration, cleaned up code
+Version 0.8 New read loop
+ Cleaned up #includes to allow #include of joystick.h with
+ gcc -Wall and from g++
+ Made js_init fail if it finds zero joysticks
+ General source/comment cleanup
+ Use of MOD_(INC|DEC)_USE_COUNT
+ Changes to compile correctly under 1.3 in kernel or as module
+Version 0.9 Ported to 2.1.x
+ Reformatted to resemble Linux coding standard
+ Removed semaphore bug (we can dump the lot I think)
+ Fixed xntp timer adjust during joystick timer0 bug
+ Changed variable names to lower case. Kept binary compatibility.
+ Better ioctl names. Kept binary compatibility.
+ Removed 'save_busy'. Just set busy to 1.
+Version 0.9.0 Based on 0.7.3
+ New read function that allows two axes have same value
+ New joystick calibration code
+ Real support for 3-axis joysticks
+ CPU speed independent timeouts
+ Reads may happen even for unwhole record size => cat /dev/js0 works
+ Correct error for lseek
+ /dev/js? can be read simultaneously by several processes
+Version 0.9.1 IOCTLs now obey general Linux IOCTL rules ('j' letter assigned)
+ Use of verify_area result codes
+ Fuzz correction added
+ Semaphore and many cli()'s removed
+ Fix for TurboFire joysticks - read buttons always
+ Fix for broken joysticks - return with -ENODEV only if joystick
+ completely disconnected
+ Fix in read function to allow zero results
+ Broken line correction added for broken joysticks (eg. JB-500)
+ Timeouts back separated for easier setting
+ Some fixes and cleanups in read function
+Version 0.9.2 Fixed a typo causing nothing to be working
+Version 1.0.0 Event approach started
+Version 1.0.1 Complete rewrite
+ Compiles but doesn't work
+Version 1.0.2 Works, many bugs fixed, more yet to come
+Version 1.0.3 Tail cutting logic changes & fixes
+ Fix in js_do_bh - no more zero values for axes
+ Lost event changest & fixes
+Version 1.0.4 Kernel command line & module configuration support
+ Better cli()/sti() handling
+ Linux 2.1.25 select => poll changes
+Version 1.0.5 Fixes in calibration routines
+ Better jscal
+Version 1.0.6 Backward compatibility with old js driver added
+ Init value after recalibration bug fixed
+ Using KERN_* printk() codes
+ Finally leaving ALPHA and going beta
+ Cosmetic changes
+
+7. To do
+~~~~~~~~
+ Sooner or later I'll get to these:
+
+ Backport & create patches for 2.0
+ Try using Pentium timers for better precision
+ Create patches for most common programs using joystick
+ Support for cards with hw calibration (Gravis Ultrasound, QuickShot)
+ Support for multiport cards (QuickShot 4-joy board)
+ Support for multiaxis, multibutton joysticks (Gravis Firebird)
+ Support for MS digital joystick
+
diff --git a/Documentation/m68k/00-INDEX b/Documentation/m68k/00-INDEX
index ae5b93488..3e81346c3 100644
--- a/Documentation/m68k/00-INDEX
+++ b/Documentation/m68k/00-INDEX
@@ -1,7 +1,5 @@
00-INDEX
- this file
-amiboot.txt
- - info and options for the Linux/m68k Amiga bootstrap (Amiboot)
framebuffer.txt
- info about the Linux/m68k frame buffer device
kernel-options.txt
diff --git a/Documentation/m68k/amiboot.txt b/Documentation/m68k/amiboot.txt
deleted file mode 100644
index c6b369e28..000000000
--- a/Documentation/m68k/amiboot.txt
+++ /dev/null
@@ -1,282 +0,0 @@
-
- Linux/m68k Amiga Bootstrap version 5.6
- --------------------------------------
-
-Maintained by Geert Uytterhoeven (Geert.Uytterhoeven@cs.kuleuven.ac.be)
-Last revised: June 12, 1997
-
-
-0. Introduction
----------------
-
-Amiboot is used to boot Linux/m68k on Amiga from the CLI/Shell.
-
-Before you try to boot Linux/m68k for the first time, please read the FAQ
-
- http://www.clark.net/pub/lawrencc/linux/faq/faq.html
-
-and the Installation Guide
-
- http://www.informatik.uni-oldenburg.de/~amigo/inst.html
-
-first. Although the Installation Guide is getting a bit outdated, it's still a
-good starting point.
-
-Amiboot 5.6 is meant for Linux/m68k 2.0.x, 2.1.x or higher (kernel bootinfo
-interface versions 1.x and 2.x). Please use an older version for older kernels.
-
-
-1. Running Amiboot
-------------------
-
-The Amiboot invocation syntax looks like
-
- amiboot [options] [kernel command line]
-
-Basic options:
-
- --help Display the usage information
-
- --kernel file Use kernel image `file' (default is `vmlinux')
-
- --ramdisk file Use ramdisk image `file'
-
-Advanced options:
-
- --debug Enable debug mode
-
- --baud speed Set the serial port speed (default is 9600 bps)
-
- --memfile file Use memory file `file'
-
- --keep-video Don't reset the video mode
-
- --model id Set the Amiga model to `id'
-
- --processor cfm Set the processor type to `cfm'
-
-The kernel command line contains the options you want to pass to the kernel and
-to init, the process that's started first by Linux. Please read
-linux/Documentation/m68k/kernel-options.txt for more information.
-
-Normally you only use the --kernel option to specify the file that contains the
-Linux/m68k kernel image, and --ramdisk if you want to boot from a ramdisk file,
-i.e. a file containing a complete file system, instead of from a hard disk
-partition.
-
-Note that both the kernel image and the ramdisk image can be compressed with
-gzip. Amiboot knows how to deal with gzipped kernel images, and the kernel
-recognizes gzipped ramdisk images.
-
-Example:
-
- amiboot -k vmlinux-2.1.13 root=/dev/hda3 video=font:PEARL8x8
-
-Amiboot will boot the kernel image `vmlinux-2.1.13' and will pass
-`root=/dev/hda3 video=font:PEARL8x8' to the kernel.
-
-
-The other options are more advanced. Don't use them unless you really have to
-and you know what you're doing.
-
-The --baud option allows you to specify the serial port speed for initial boot
-information and initial kernel messages. Note: this option does not work with
-kernels with bootinfo interface versions prior to 2.0.
-
-The --memfile option is used to specify the blocks of memory that will be used
-by Linux.
-
-The --keep-video option is necessary if you want to retain the current graphics
-mode (on a graphics board) under Linux. Currently this is only useful if you
-have a CyberVision 64 graphics board.
-
-Finally, --model and --processor allow you to specify your Amiga model and
-processor type if they are detected incorrectly, and --debug dumps some
-information which simplifies debugging.
-
-
-2. The memory file
-------------------
-
-If you have some non-AutoConfig memory you want to use under Linux, or if you
-want to disable some parts of your memory (e.g. Zorro II RAM on '040 based
-systems), you have to use a memory file and the --memfile option. This file
-contains information about the memory chunks you want to use under Linux. The
-format for the file is:
-
- chipramsize
- [0xfastchunkaddr fastchunksize]
- [0xfastchunkaddr fastchunksize]
- ...
-
-For example, if you don't want Linux to use your 2nd meg of chipram, you would
-create a file that contains only:
-
- 1048576
-
-If you had 1M of chip ram, 2M of 16 bit FAST ram at address 0x200000 and 16M of
-32 bit FAST ram at address 0x80000000, and you didn't want Linux to use the
-slow 16 bit FAST ram, you'd create a file that looks like:
-
- 1048576
- 0x80000000 16777216
-
-The memory file can also be used to specify in which block of memory the kernel
-will be put. Normally Amiboot will put the kernel in the first block of Fast
-RAM it will find. If you use a memory file, it will put the kernel in the first
-block of fast RAM you specify.
-
-
-3. Amiga models
----------------
-
-If Amiboot incorrectly detects the model of your Amiga, you can force it to
-detect any model you want using the --model option. `id' must be one of the
-numbers as defined in linux/include/asm-m68k/amigahw.h (AMI_*). Currently the
-following models are known:
-
- Model ID
- ----- --
- Amiga 500 1
- Amiga 500+ 2
- Amiga 600 3
- Amiga 1000 4
- Amiga 1200 5
- Amiga 2000 6
- Amiga 2500 7
- Amiga 3000 8
- Amiga 3000T 9
- Amiga 3000+ 10
- Amiga 4000 11
- Amiga 4000T 12
- CDTV 13
- CD32 14
- Draco 15
-
-Note that Amiboot can't distinguish among Amiga models that are very similar to
-each other (e.g. A500/A1000/A2000/A2500 and A3000/A3000T). Of course this is
-harmless and there's no real need to use --model in that case.
-
-Please send me the output of amiboot used with the --debug option if your Amiga
-model is detected incorrectly.
-
-
-4. Processor types
-------------------
-
-If your processor is detected incorrectly, you can override this using the
-`--processor cfm' option. `cfm' must be a three-digit number with
-
- - `c' the CPU (Central Processing Unit) type,
- - 'f' the FPU (Floating Point Unit) type,
- - 'm' the MMU (Memory Management Unit) type,
-
-from the table below:
-
- value | CPU | FPU | MMU
- -------+-------+-------+-------
- 0 | - | - | -
- 1 | 68020 | 68881 | 68851
- 2 | 68030 | 68882 | 68030
- 3 | 68040 | 68040 | 68040
- 4 | 68060 | 68060 | 68060
-
-e.g. `444' if you have a 68060 and `303' if you have a 68LC040.
-
-Note that normally you don't have to use this option. It's only needed for some
-combinations of an old Kickstart ROM and a new processor (e.g. a 68060).
-
-
-5. Abbreviations
-----------------
-
-All options also have a shorthand:
-
- --help -h
- --kernel -k
- --ramdisk -r
- --debug -d
- --baud -b
- --memfile -m
- --keep-video -v
- --model -t
- --processor -p
-
-
-6. Miscellaneous
-----------------
-
-Some expansion boards keep on generating interrupts once they were initialized
-under AmigaOS. This can cause an interrupt deadlock while booting Linux. The
-following boards are recognized and disabled:
-
- o Helfrich Rainbow 3 Graphics Board
- o Helfrich Piccolo Graphics Board
- o Helfrich SD64 Graphics Board
- o Village Tronic Ariadne Ethernet Board
- o Hydra Systems Amiganet Ethernet Board
-
-The following boards are known to cause problems but we don't have a disable
-routine for them yet:
-
- o Commodore A2060 Arcnet Card
- o Ameristar A560 Arcnet Card
-
-If you write a routine to disable an expansion board, please let me know.
-
-
-7. Troubleshooting
-------------------
-
- - Amiboot says
-
- This bootstrap is too old/new for this kernel
-
- This means that you're using a version of Amiboot that's not compatible
- with the kernel you want to boot.
-
- Solution: use the correct Amiboot, or use another kernel.
-
- - Amiboot says
-
- Warning: too many AutoConfig devices. Ignoring device at 0x????????
-
- or
-
- Warning: too many memory blocks. Ignoring block of ???K at 0x????????
-
- This means that you have more AutoConfig devices or memory chunks than
- Amiboot supports. Note that you can still boot Linux/m68k, but that the
- additional devices or memory blocks can't be used.
-
- Solution: increase the ZORRO_NUM_AUTO (for AutoConfig devices) or
- NUM_MEMINFO (for memory chunks) values in the kernel sources
- (linux/include/asm-m68k/zorro.h and linux/include/asm-m68k/setup.h) and
- recompile both Amiboot and the kernel.
-
- - If all you get is a grey screen, or if Linux/m68k suddenly locks up during
- booting, try the following things:
-
- o Boot with the Startup-Sequence disabled, run SetPatch and try again.
-
- o If that doesn't work, remove any expansion devices and retry.
-
- o Check the detected Amiga model and processor type.
-
- o Look at the characters that are dumped to the serial port during
- booting.
-
-
-8. Amiga-Lilo
--------------
-
-Once you have a stable Linux/m68k installation, you may want to try Amiga-Lilo.
-Amiga-Lilo allows you to boot Linux/m68k without the overhead of booting
-AmigaOS first, and it provides you with a boot menu.
-
-
-9. Credits
-----------
-
-This readme was written by Geert Uytterhoeven. A lot of information was taken
-from the ANNOUNCE-* files by Hamish Macdonald.
diff --git a/Documentation/m68k/kernel-options.txt b/Documentation/m68k/kernel-options.txt
index ed0c203d0..fded75017 100644
--- a/Documentation/m68k/kernel-options.txt
+++ b/Documentation/m68k/kernel-options.txt
@@ -3,8 +3,8 @@
Command Line Options for Linux/m68k
===================================
-Date: Sep 14, 1996
-Linux/m68k version: 2.0.20
+Date: Oct 6, 1997
+Linux/m68k version: 2.0.21
Author: Roman.Hodek@informatik.uni-erlangen.de (Roman Hodek)
Update: jds@kom.auc.dk (Jes Sorensen)
@@ -312,9 +312,11 @@ don't need to expand the sound.
4.1) video=
--------------
-Syntax: video=<sub-options...>
+Syntax: video=<fbname>:<sub-options...>
-The <sub-options> is a comma-separated list of the sub-options listed
+The <fbname> parameter specifies the name of the frame buffer,
+eg. most atari users will want to specify `atafb' here. The
+<sub-options> is a comma-separated list of the sub-options listed
below.
NB: Please notice that this option was renamed from `atavideo' to
@@ -322,6 +324,9 @@ NB: Please notice that this option was renamed from `atavideo' to
might need to update your boot-scripts if upgrading to 2.0.x from
an 1.2.13ply kernel.
+NBB: The behavior of video= was changed in 2.1.57 so the recommended
+option is to specify the name of the frame buffer.
+
4.1.1) Video Mode
-----------------
@@ -420,7 +425,7 @@ These sub-options are generally only useful together with "internal:".
Syntax:
external:<xres>;<yres>;<depth>;<org>;<scrmem>[;<scrlen>[;<vgabase>\
- [;<colw>[;<coltype>]]]]
+ [;<colw>[;<coltype>[;<xres_virtual>]]]]]
[I had to break this line...]
@@ -496,6 +501,14 @@ about the color register model of your gfx board. Currently, the types
"vga" (which is also the default) and "mv300" (SANG MV300) are
implemented.
+ Parameter <xres_virtual> is required for ProMST or ET4000 cards where
+the physical linelength differs from the visible length. With ProMST,
+xres_virtual must be set to 2048. For ET4000, xres_virtual depends on the
+initialisation of the video-card.
+If you're missing a corresponding yres_virtual: the external part is legacy,
+therefore we don't support hardware-dependend functions like hardware-scroll,
+panning or blanking.
+
4.1.8) eclock:
--------------
@@ -645,7 +658,13 @@ ignored (other aren't affected).
5.1) video=
-----------
-Syntax: video=<sub-options...>
+Syntax: video=<fbname>:<sub-options...>
+
+The <fbname> parameter specifies the name of the frame buffer, valid
+options are `amifb', `cyberfb', `retz3' and `clgen', provided that the
+respective frame buffer devices have been compiled into the kernel (or
+compiled as loadable modules). The behavior of the <fbname> option was
+changed in 2.1.57 so it is now recommended to specify this option.
The <sub-options> is a comma-separated list of the sub-options listed
below. This option is organized similar to the Atari version of the
diff --git a/Documentation/magic-number.txt b/Documentation/magic-number.txt
index c8ea597f4..ca5c3e20c 100644
--- a/Documentation/magic-number.txt
+++ b/Documentation/magic-number.txt
@@ -28,37 +28,50 @@ discipline, these cases get detected quickly and safely.
Theodore Ts'o
31-Mar-94
-The magic table is current to Linux 1.3.98.
+The magic table is current to Linux 2.1.55.
Michael Chastain
- <mec@duracef.shout.net>
- 6 May 1996
+ <mailto:mec@shout.net>
+ 22 Sep 1997
Magic Name Number Structure File
===========================================================================
-RISCOM8_MAGIC 0x0907 struct riscom_port drivers/char/riscom8.h
-APM_BIOS_MAGIC 0x4101 struct apm_struct include/linux/apm_bios.h
-CYCLADES_MAGIC 0x4359 struct cyclades_port include/linux/cyclades.h
-FASYNC_MAGIC 0x4601 struct fasync_struct include/linux/fs.h
-PTY_MAGIC 0x5001 struct pty_struct drivers/char/pty.c
-PPP_MAGIC 0x5002 struct ppp_struct include/linux/if_ppp.h
-SERIAL_MAGIC 0x5301 struct async_struct include/linux/serial.h
-SLIP_MAGIC 0x5302 struct slip drivers/net/slip.h
-STRIP_MAGIC 0x5303 struct strip drivers/net/strip.c
-TTY_MAGIC 0x5401 struct tty_struct include/linux/tty.h
-TTY_DRIVER_MAGIC 0x5402 struct tty_driver include/linux/tty_driver.h
-TTY_LDISC_MAGIC 0x5403 struct tty_ldisc include/linux/tty_ldisc.h
-SCC_MAGIC 0x8530 struct scc_channel include/linux/scc.h
-ISDN_ASYNC_MAGIC 0x49344C01 modem_info include/linux/isdn.h
-ISDN_NET_MAGIC 0x49344C02 isdn_net_ndev include/linux/isdn.h
-STLI_BOARDMAGIC 0x4bc6c825 stlibrd_t include/linux/istallion.h
-ROUTER_MAGIC 0x524d4157 wanlink_t include/linux/router.h
-STLI_PORTMAGIC 0xe671c7a1 stliport_t include/linux/istallion.h
-STL_PANELMAGIC 0x7ef621a1 stlpanel_t include/linux/stallion.h
-STL_BOARDMAGIC 0xa2267f52 stlbrd_t include/linux/stallion.h
-STL_PORTMAGIC 0x5a7182c9 stlport_t include/linux/stallion.h
-PCXX_MAGIC 0x5c6df104 struct channel drivers/char/pcxx.h
-BAYCOM_MAGIC 0x3105bac0 struct baycom_state drivers/char/baycom.c
+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
+CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h
+FASYNC_MAGIC 0x4601 fasync_struct include/linux/fs.h
+PPP_MAGIC 0x5002 ppp include/linux/if_ppp.h
+SERIAL_MAGIC 0x5301 async_struct include/linux/serial.h
+SSTATE_MAGIC 0x5302 serial_state include/linux/serial.h
+SLIP_MAGIC 0x5302 slip drivers/net/slip.h
+STRIP_MAGIC 0x5303 strip drivers/net/strip.c
+X25_ASY_MAGIC 0x5303 x25_asy drivers/net/x25_asy.h
+AX25_MAGIC 0x5316 ax_disp drivers/net/mkiss.h
+ESP_MAGIC 0x53ee esp_struct drivers/char/esp.h
+TTY_MAGIC 0x5401 tty_struct include/linux/tty.h
+TTY_DRIVER_MAGIC 0x5402 tty_driver include/linux/tty_driver.h
+TTY_LDISC_MAGIC 0x5403 tty_ldisc include/linux/tty_ldisc.h
+SCC_MAGIC 0x8530 scc_channel include/linux/scc.h
+RPORT_MAGIC 0x525001 r_port drivers/char/rocket_int.h
+SLAB_C_MAGIC 0x4f17a36d kmem_cache_s mm/slab.c
+SLAB_RED_MAGIC2 0x170fc2a5 (any) mm/slab.c
+ECP_MAGIC 0x21504345 cdkecpsig include/linux/cdk.h
+ISDN_ASYNC_MAGIC 0x49344C01 modem_info include/linux/isdn.h
+ISDN_NET_MAGIC 0x49344C02 isdn_net_local_s include/linux/isdn.h
+STLI_BOARDMAGIC 0x4bc6c825 stlibrd include/linux/istallion.h
+ROUTER_MAGIC 0x524d4157 wan_device include/linux/wanrouter.h
+SLAB_RED_MAGIC1 0x5a2cf071 (any) mm/slab.c
+STL_PORTMAGIC 0x5a7182c9 stlport include/linux/stallion.h
+HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state include/linux/hdlcdrv.h
+EPCA_MAGIC 0x5c6df104 channel include/linux/epca.h
+PCXX_MAGIC 0x5c6df104 channel drivers/char/pcxx.h
+STL_PANELMAGIC 0x7ef621a1 stlpanel include/linux/stallion.h
+STL_BOARDMAGIC 0xa2267f52 stlbrd include/linux/stallion.h
+SLAB_MAGIC_ALLOC 0xa5c32f2b kmem_slab_s mm/slab.c
+SLAB_MAGIC_DESTROYED 0xb2f23c5a kmem_slab_s mm/slab.c
+STLI_PORTMAGIC 0xe671c7a1 stliport include/linux/istallion.h
+CCB_MAGIC 0xf2691ad2 ccb drivers/scsi/ncr53c8xx.c
diff --git a/Documentation/modules.txt b/Documentation/modules.txt
index 1a38f26e7..ace34450c 100644
--- a/Documentation/modules.txt
+++ b/Documentation/modules.txt
@@ -3,15 +3,12 @@ in the Linux kernel. This is not a technical description on
the internals of module, but mostly a sample of how to compile
and use modules.
-Note: You should ensure that the modules-X.Y.Z.tar.gz you are using
+Note: You should ensure that the modutils-X.Y.Z.tar.gz you are using
is the most up to date one for this kernel. The "X.Y.Z" will reflect
the kernel version at the time of the release of the modules package.
Some older modules packages aren't aware of some of the newer modular
-features that the kernel now supports. (If you are unsure, you can
-usually find out what the current release of the modules-X.Y.Z.tar.gz
-package is by looking up the URL listed for "Bjorn Ekwall" in the
-file ./linux/CREDITS)
-
+features that the kernel now supports. The current required version
+is listed in the file linux/Documentation/Changes.
In the beginning...
-------------------
diff --git a/Documentation/nbd.txt b/Documentation/nbd.txt
new file mode 100644
index 000000000..e6617f068
--- /dev/null
+++ b/Documentation/nbd.txt
@@ -0,0 +1,57 @@
+ Network Block Device (TCP version)
+
+ Note: Network Block Device is now experimental, which approximately
+ means, that it works on my computer, and it worked on one of school
+ computers.
+
+ What is it: With this think compiled in kernel, linux can use remote
+ server as one of its block devices. So every time client computer
+ wants to read /dev/nd0, it will send request over TCP to server, which
+ will reply with data readed. This can be used for stations with
+ low-disk space (or even disklesses - if you boot from floppy) to
+ borrow disk space from other computer. Unlike NFS, it is possible to
+ put any filesystem on it etc. It is impossible to use NBD as root
+ filesystem, since it requires user-level program to start. It also
+ allows you to run block-device in user land (making server and client
+ physicaly same computer, communicating using loopback).
+
+ Current state: It currently works. Network block device looks like
+ being pretty stable. I originaly thought that it is impossible to swap
+ over TCP. It turned out not to be true - swapping over TCP now works
+ and seems to be deadlock-free, but it requires heavy patches into
+ Linux's network layer.
+
+ Devices: Network block device uses major 43, minors 0..n (where n is
+ configurable in nbd.h). Create these files by mknod when needed. After
+ that, your ls -l /dev/ should look like:
+
+brw-rw-rw- 1 root root 43, 0 Apr 11 00:28 nd0
+brw-rw-rw- 1 root root 43, 1 Apr 11 00:28 nd1
+...
+
+ Protocol: Userland program passes file handle with connected TCP
+ socket to actuall kernel driver. This way, kernel does not have to
+ care about connecting etc. Protocol is rather simple: If driver is
+ asked to read from block device, it sends packet of following form
+ "request" (all data are in network byte order):
+
+ __u32 magic; must be equal to 0x12560953
+ __u32 from; position in bytes to read from / write at
+ __u32 len; number of bytes to be read / written
+ __u64 handle; handle of operation
+ __u32 type; 0 = read
+ 1 = write
+ ... in case of write operation, this is
+ immediately followed len bytes of data
+
+ When operation is completed, server responds with packet of following
+ structure "reply":
+
+ __u32 magic; must be equal to
+ __u64 handle; handle copyied from request
+ __u32 error; 0 = operation completed successfully,
+ else error code
+ ... in case of read operation with no error,
+ this is immediately followed len bytes of data
+
+ For more information, look at http://atrey.karlin.mff.cuni.cz/~pavel.
diff --git a/Documentation/networking/DLINK.txt b/Documentation/networking/DLINK.txt
new file mode 100644
index 000000000..dba5dbcc5
--- /dev/null
+++ b/Documentation/networking/DLINK.txt
@@ -0,0 +1,205 @@
+Released 1994-06-13
+
+
+ CONTENTS:
+
+ 1. Introduction.
+ 2. License.
+ 3. Files in this release.
+ 4. Installation.
+ 5. Problems and tuning.
+ 6. Using the drivers with earlier releases.
+ 7. Acknowledgments.
+
+
+ 1. INTRODUCTION.
+
+ This is a set of Ethernet drivers for the D-Link DE-600/DE-620
+ pocket adapters, for the parallel port on a Linux based machine.
+ Some adapter "clones" will also work. Xircom is _not_ a clone...
+ These drivers _can_ be used as loadable modules,
+ and were developed for use on Linux v1.1.13 and above.
+ For use on Linux v1.0.X, or earlier releases, see below.
+
+ I have used these drivers for NFS, ftp, telnet and X-clients on
+ remote machines. Transmissions with ftp seems to work as
+ good as can be expected (i.e. > 80k bytes/sec) from a
+ parallel port...:-) Receive speeds will be about 60-80% of this.
+ Depending on your machine, somewhat higher speeds can be achieved.
+
+ All comments/fixes to Bjorn Ekwall (bj0rn@blox.se).
+
+
+ 2. 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, 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.
+
+
+ 3. FILES IN THIS RELEASE.
+
+ README.DLINK This file.
+ de600.c The Source (,may it be with You :-) for the DE-600
+ de620.c ditto for the DE-620
+ de620.h Macros for de620.c
+
+ If you are upgrading from the d-link tar release, there will
+ also be a "dlink-patches" file that will patch Linux v1.1.18:
+ linux/drivers/net/Makefile
+ linux/drivers/net/CONFIG
+ linux/drivers/net/MODULES
+ linux/drivers/net/Space.c
+ linux/config.in
+ Apply the patch by:
+ "cd /usr/src; patch -p0 < linux/drivers/net/dlink-patches"
+ The old source, "linux/drivers/net/d_link.c", can be removed.
+
+
+ 4. INSTALLATION.
+
+ o Get the latest net binaries, according to current net.wisdom.
+
+ o Read the NET-2 and Ethernet HOWTO's and modify your setup.
+
+ o If your parallel port has a strange address or irq,
+ modify "linux/drivers/net/CONFIG" accordingly, or adjust
+ the parameters in the "tuning" section in the sources.
+
+ If you are going to use the drivers a loadable modules, do _not_
+ enable them while doing "make config", but instead make sure that
+ the drivers are included in "linux/drivers/net/MODULES".
+
+ If you are _not_ going to use the driver(s) as loadable modules,
+ but instead have them included in the kernel, remember to enable
+ the drivers while doing "make config".
+
+ o To include networking and DE600/DE620 support in your kernel:
+ # cd /linux
+ (as modules:)
+ # make config (answer yes on CONFIG_NET and CONFIG_INET)
+ (else included in the kernel:)
+ # make config (answer yes on CONFIG _NET, _INET and _DE600 or _DE620)
+ # make clean
+ # make depend
+ # make zImage (or whatever magic you usually do)
+
+ o I use lilo to boot multiple kernels, so that I at least
+ can have one working kernel :-). If you do too, append
+ these lines to /etc/lilo/config:
+
+ image = /linux/zImage
+ label = newlinux
+ root = /dev/hda2 (or whatever YOU have...)
+
+ # /etc/lilo/install
+
+ o Do "sync" and reboot the new kernel with a D-Link
+ DE-600/DE-620 pocket adapter connected.
+
+ o The adapter can be configured with ifconfig eth?
+ where the actual number is decided by the kernel
+ when the drivers are initialized.
+
+
+ 5. "PROBLEMS" AND TUNING,
+
+ o If you see error messages from the driver, and if the traffic
+ stops on the adapter, try to do "ifconfig" and "route" once
+ more, just as in "rc.inet1". This should take care of most
+ problems, including effects from power loss, or adapters that
+ aren't connected to the printer port in some way or another.
+ You can somewhat change the behaviour by enabling/disabling
+ the macro SHUTDOWN_WHEN_LOST in the "tuning" section.
+ For the DE-600 there is another macro, CHECK_LOST_DE600,
+ that you might want to read about in the "tuning" section.
+
+ o Some machines have trouble handling the parallel port and
+ the adapter at high speed. If you experience problems:
+
+ DE-600:
+ - The adapter is not recognized at boot, i.e. an Ethernet
+ address of 00:80:c8:... is not shown, try to add another
+ "; SLOW_DOWN_IO"
+ at DE600_SLOW_DOWN in the "tuning" section. As a last resort,
+ uncomment: "#define REALLY_SLOW_IO" (see <asm/io.h> for hints).
+
+ - You experience "timeout" messages: first try to add another
+ "; SLOW_DOWN_IO"
+ at DE600_SLOW_DOWN in the "tuning" section, _then_ try to
+ increase the value (original value: 5) at
+ "if (tickssofar < 5)" near line 422.
+
+ DE-620:
+ - Your parallel port might be "sluggish". To cater for
+ this, there are the macros LOWSPEED and READ_DELAY/WRITE_DELAY
+ in the "tuning" section. Your first step should be to enable
+ LOWSPEED, and after that you can "tune" the XXX_DELAY values.
+
+ o If the adapter _is_ recognized at boot but you get messages
+ about "Network Unreachable", then the problem is probably
+ _not_ with the driver. Check your net configuration instead
+ (ifconfig and route) in "rc.inet1".
+
+ o There is some rudimentary support for debugging, look at
+ the source. Use "-DDE600_DEBUG=3" or "-DDE620_DEBUG=3"
+ when compiling, or include it in "linux/drivers/net/CONFIG".
+ IF YOU HAVE PROBLEMS YOU CAN'T SOLVE: PLEASE COMPILE THE DRIVER
+ WITH DEBUGGING ENABLED, AND SEND ME THE RESULTING OUTPUT!
+
+
+ 6. USING THE DRIVERS WITH EARLIER RELEASES.
+
+ The later v1.1.X releases of the Linux kernel include some
+ changes in the networking layer (a.k.a. NET3). This affects
+ these drivers in a few places. The hints that follow are
+ _not_ tested by me, since I don't have the diskspace to keep
+ all releases on-line.
+ Known needed changes to date:
+ - release patchfile: some patches will fail, but they should
+ be easy to apply "by hand", since they are trivial.
+ (Space.c: d_link_init() is now called de600_probe())
+ - de600.c: change "mark_bh(NET_BH)" to "mark_bh(INET_BH)".
+ - de620.c: (maybe) change the code around "netif_rx(skb);" to be
+ similar to the code around "dev_rint(...)" in de600.c
+
+
+ 7. ACKNOWLEDGMENTS.
+
+ These drivers wouldn't have been done without the base
+ (and support) from Ross Biro <bir7@leland.stanford.edu>,
+ and D-Link Systems Inc. The driver relies upon GPL-ed
+ source from D-Link Systems Inc. and from Russel Nelson at
+ Crynwr Software <nelson@crynwr.com>.
+
+ Additional input also from:
+ Donald Becker <becker@super.org>, Alan Cox <A.Cox@swansea.ac.uk>
+ and Fred N. van Kempen <waltje@uWalt.NL.Mugnet.ORG>
+
+ DE-600 alpha release primary victim^H^H^H^H^H^Htester:
+ - Erik Proper <erikp@cs.kun.nl>.
+ Good input also from several users, most notably
+ - Mark Burton <markb@ordern.demon.co.uk>.
+
+ DE-620 alpha release victims^H^H^H^H^H^H^Htesters:
+ - J. Joshua Kopper <kopper@rtsg.mot.com>
+ - Olav Kvittem <Olav.Kvittem@uninett.no>
+ - Germano Caronni <caronni@nessie.cs.id.ethz.ch>
+ - Jeremy Fitzhardinge <jeremy@suite.sw.oz.au>
+
+
+ Happy hacking!
+
+ Bjorn Ekwall == bj0rn@blox.se
diff --git a/Documentation/networking/PLIP.txt b/Documentation/networking/PLIP.txt
new file mode 100644
index 000000000..b58cea27f
--- /dev/null
+++ b/Documentation/networking/PLIP.txt
@@ -0,0 +1,162 @@
+PLIP: The Parallel Line Internet Protocol Device
+
+Donald Becker (becker@super.org)
+I.D.A. Supercomputing Research Center, Bowie MD 20715
+
+At some point T. Thorn will probably contribute text,
+Tommy Thorn (tthorn@daimi.aau.dk)
+
+PLIP Introduction
+-----------------
+
+This document describes the parallel port packet pusher for Net/LGX.
+This device interface allows a point-to-point connection between two
+parallel ports to appear as a IP network interface.
+
+What is PLIP?
+=============
+
+PLIP is Parallel Line IP, that is, the transportation of IP packages
+over a parallel port. In the case of a PC, the obvious choice is the
+printer port. PLIP is a non-standard, but [can use] uses the standard
+LapLink null-printer cable [can also work in turbo mode, with a PLIP
+cable]. [The protocol used to pack IP packages, is a simple one
+initiated by Crynwr.]
+
+Advantages of PLIP
+==================
+
+It's cheap, it's available everywhere, and it's easy.
+
+The PLIP cable is all that's needed to connect two Linux boxes, and it
+can be build for very few bucks.
+
+Connecting two Linux boxes takes only a seconds decision and a few
+minutes work, no need to search for a [supported] netcard. This might
+even be especially important in the case of notebooks, where netcard
+are not easily available.
+
+Not requiring a netcard also means that apart from connecting the
+cables, everything else is software configuration [which in principle
+could be made very easy.]
+
+Disadvantages of PLIP
+=====================
+
+Doesn't work over a modem, like SLIP and PPP. Limited range, 15 m.
+Can only be used to connect three (?) Linux boxes. Doesn't connect to
+an exiting ethernet. Isn't standard (not even de facto standard, like
+SLIP).
+
+Performance
+==========
+
+PLIP easily outperforms ethernet cards....(ups, I was dreaming, but
+it *is* getting late. EOB)
+
+PLIP hardware interconnection
+-----------------------------
+
+PLIP uses several different data transfer methods. The first (and the
+only one implemented in the early version of the code) uses a standard
+printer "null" cable to transfers data four bits at a time using
+data bit outputs connected to status bit inputs.
+
+The second data transfer method relies on both machines having
+bi-directional parallel ports, rather than output-only ``printer''
+ports. This allows byte-wide transfers and avoids reconstructing
+nibbles into bytes, leading to much faster transfers.
+
+Parallel Transfer Mode 0 Cable
+==============================
+
+The cable for the first transfer mode is a standard
+printer "null" cable which transfers data four bits at a time using
+data bit outputs of the first port (machine T) connected to the
+status bit inputs of the second port (machine R). There are five
+status inputs, and they are used as four data inputs and a clock (data
+strobe) input, arranged so that the data input bits appear as contiguous
+bits with standard status register implementation.
+
+A cable that implements this protocol is available commercially as a
+"Null Printer" or "Turbo Laplink" cable. It can be constructed with
+two DB-25 male connectors symmetrically connected as follows:
+
+ STROBE output 1*
+ D0->ERROR 2 - 15 15 - 2
+ D1->SLCT 3 - 13 13 - 3
+ D2->PAPOUT 4 - 12 12 - 4
+ D3->ACK 5 - 10 10 - 5
+ D4->BUSY 6 - 11 11 - 6
+ D5,D6,D7 are 7*, 8*, 9*
+ AUTOFD output 14*
+ INIT output 16*
+ SLCTIN 17 - 17
+ extra grounds are 18*,19*,20*,21*,22*,23*,24*
+ GROUND 25 - 25
+* Do not connect these pins on either end
+
+If the cable you are using has a metallic shield it should be
+connected to the metallic DB-25 shell at one end only.
+
+Parallel Transfer Mode 1
+========================
+
+The second data transfer method relies on both machines having
+bi-directional parallel ports, rather than output-only ``printer''
+ports. This allows byte-wide transfers, and avoids reconstructing
+nibbles into bytes. This cable should not be used on unidirectional
+``printer'' (as opposed to ``parallel'') ports or when the machine
+isn't configured for PLIP, as it will result in output driver
+conflicts and the (unlikely) possibility of damage.
+
+The cable for this transfer mode should be constructed as follows:
+
+ STROBE->BUSY 1 - 11
+ D0->D0 2 - 2
+ D1->D1 3 - 3
+ D2->D2 4 - 4
+ D3->D3 5 - 5
+ D4->D4 6 - 6
+ D5->D5 7 - 7
+ D6->D6 8 - 8
+ D7->D7 9 - 9
+ INIT -> ACK 16 - 10
+ AUTOFD->PAPOUT 14 - 12
+ SLCT->SLCTIN 13 - 17
+ GND->ERROR 18 - 15
+ extra grounds are 19*,20*,21*,22*,23*,24*
+ GROUND 25 - 25
+* Do not connect these pins on either end
+
+Once again, if the cable you are using has a metallic shield it should
+be connected to the metallic DB-25 shell at one end only.
+
+PLIP Mode 0 transfer protocol
+=============================
+
+The PLIP driver is compatible with the "Crynwr" parallel port transfer
+standard in Mode 0. That standard specifies the following protocol:
+
+ send header nibble '8'
+ count-low octet
+ count-high octet
+ ... data octets
+ checksum octet
+
+Each octet is sent as
+ <wait for rx. '1'> <send 0x10+(octet&0x0F)>
+ <wait for rx. '0'> <send 0x00+((octet>>4)&0x0F)>
+
+To start a transfer the transmitting machine outputs a nibble 0x08.
+The raises the ACK line, triggering an interrupt in the receiving
+machine. The receiving machine disables
+
+Restated:
+
+(OUT is bit 0-4, OUT.j is bit j from OUT. IN likewise)
+Send_Byte:
+ OUT := low nibble, OUT.4 := 1
+ WAIT FOR IN.4 = 1
+ OUT := high nibble, OUT.4 := 0
+ WAIT FOR IN.4 = 0
diff --git a/Documentation/networking/README.cops b/Documentation/networking/README.cops
deleted file mode 100644
index 7956fd213..000000000
--- a/Documentation/networking/README.cops
+++ /dev/null
@@ -1,39 +0,0 @@
-README for the COPS LocalTalk Linux driver (cops.c).
- By Jay Schulist <Jay.Schulist@spacs.k12.wi.us>
-
-This driver compiles well against 2.1.29 - 2.1.41.
-
-Building the driver from the cops-0.0*.tar.gz file.
-1. Untar the cops-0.0*.tar.gz it will make a directory called cops.
-2. Copy the cops-kernel.diff to /usr/src/ and then type patch -p0 < cops-kernel.diff
-3. In the cops driver directory type make install. It will copy the driver to
- the linux/drivers/net directory.
-4. When you configure your kernel select Y or M for COPS LocalTalk PC support.
- Also make sure you have choosen Appletalk support.
-5. Compile like usual and you should bet set.
-
-This driver has 2 modes and they are: Dayna mode and Tangent mode.
-Each mode corresponds with the type of card. It has been found
-that there are 2 main types of cards and all other cards are
-the same and just have different names or only have minor differences
-such as more IO ports. As this driver is tested it will
-become more clear on exactly what cards are supported. The driver
-defaults to using Dayna mode. To change the drivers mode if you build
-a driver with dual support use board_type=1 or board_type=2 for
-dayna and tangent in the insmod.
-
-Operation/loading of the driver.
-Use modprobe like this: /sbin/modprobe cops.o (IO #) (IRQ #)
-If you do not specify any options the driver will try and use the IO = 0x240,
-IRQ = 5. As of right now I would only use IRQ 5 for the card, if autoprobing.
-
-Use ifconfig like this: /sbin/ifconfig lt0 127.0.0.34 up
-
-You will need to configure atalkd with something like the following to make
-it work with the cops.c driver.
-
-dummy -seed -phase 2 -net 2000 -addr 2000.10 -zone "1033"
-lt0 -seed -phase 1 -net 1000 -addr 1000.50 -zone "1033"
-- Or -
-eth0 -seed -phase 2 -net 3000 -addr 3000.20 -zone "1033"
-lt0 -seed -phase 1 -net 1000 -addr 1000.50 -zone "1033"
diff --git a/Documentation/networking/cops.txt b/Documentation/networking/cops.txt
new file mode 100644
index 000000000..ec5d05c67
--- /dev/null
+++ b/Documentation/networking/cops.txt
@@ -0,0 +1,63 @@
+Text File for the COPS LocalTalk Linux driver (cops.c).
+ By Jay Schulist <Jay.Schulist@spacs.k12.wi.us>
+
+This driver has teo modes and they are: Dayna mode and Tangent mode.
+Each mode corresponds with the type of card. It has been found
+that there are 2 main types of cards and all other cards are
+the same and just have different names or only have minor differences
+such as more IO ports. As this driver is tested it will
+become more clear on exactly what cards are supported.
+
+Right now these cards are known to work with the COPS driver. The
+LT-200 cards work in a somewhat more limited capacity than the
+DL200 cards, which work very well and are in use by many people.
+
+TANGENT driver mode:
+ Tangent ATB-II, Novell NL-1000, Daystar Digital LT-200
+DAYNA driver mode:
+ Dayna DL2000/DaynaTalk PC (Half Length), COPS LT-95,
+ Farallon PhoneNET PC III, Farallon PhoneNET PC II
+Other cards possibly supported mode unkown though:
+ Dayna DL2000 (Full length)
+
+The COPS driver defaults to using Dayna mode. To change the drivers
+mode if you build a driver with a dual support use board_type=1 or
+board_type=2 for Dayna or Tangent with insmod.
+
+** Operation/loading of the driver.
+Use modprobe like this: /sbin/modprobe cops.o (IO #) (IRQ #)
+If you do not specify any options the driver will try and use the IO = 0x240,
+IRQ = 5. As of right now I would only use IRQ 5 for the card, if autoprobing.
+
+To load multiple COPS driver Localtalk cards you can do one of the following.
+
+insmod cops io=0x240 irq=5
+insmod -o cops2 cops io=0x260 irq=3
+
+Or in lilo.conf put something like this:
+ append="ether=5,0x240,lt0 ether=3,0x260,lt1"
+
+Then bring up the interface with ifconfig. It will look something like this:
+lt0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-F7-00-00-00-00-00-00-00-00
+ inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
+ UP BROADCAST RUNNING NOARP MULTICAST MTU:600 Metric:1
+ RX packets:0 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 coll:0
+
+** Netatalk Configuration
+You will need to configure atalkd with something like the following to make
+it work with the cops.c driver.
+
+* For single LTalk card use.
+dummy -seed -phase 2 -net 2000 -addr 2000.10 -zone "1033"
+lt0 -seed -phase 1 -net 1000 -addr 1000.50 -zone "1033"
+
+* For multiple cards, Ethernet and Localtalk.
+eth0 -seed -phase 2 -net 3000 -addr 3000.20 -zone "1033"
+lt0 -seed -phase 1 -net 1000 -addr 1000.50 -zone "1033"
+
+* For multiple LocalTalk cards, and an Ethernet card.
+* Order seems to matters here, Ethernet last.
+lt0 -seed -phase 1 -net 1000 -addr 1000.10 -zone "LocalTalk1"
+lt1 -seed -phase 1 -net 2000 -addr 2000.20 -zone "LocalTalk2"
+eth0 -seed -phase 2 -net 3000 -addr 3000.30 -zone "EtherTalk"
diff --git a/Documentation/networking/de4x5.txt b/Documentation/networking/de4x5.txt
new file mode 100644
index 000000000..3e838c222
--- /dev/null
+++ b/Documentation/networking/de4x5.txt
@@ -0,0 +1,143 @@
+ Originally, this driver was written for the Digital Equipment
+ Corporation series of EtherWORKS ethernet cards:
+
+ DE425 TP/COAX EISA
+ DE434 TP PCI
+ DE435 TP/COAX/AUI PCI
+ DE450 TP/COAX/AUI PCI
+ DE500 10/100 PCI Fasternet
+
+ but it will now attempt to support all cards which conform to the
+ Digital Semiconductor SROM Specification. The driver currently
+ recognises the following chips:
+
+ DC21040 (no SROM)
+ DC21041[A]
+ DC21140[A]
+ DC21142
+ DC21143
+
+ So far the driver is known to work with the following cards:
+
+ KINGSTON
+ Linksys
+ ZNYX342
+ SMC8432
+ SMC9332 (w/new SROM)
+ ZNYX31[45]
+ ZNYX346 10/100 4 port (can act as a 10/100 bridge!)
+
+ The driver has been tested on a relatively busy network using the DE425,
+ DE434, DE435 and DE500 cards and benchmarked with 'ttcp': it transferred
+ 16M of data to a DECstation 5000/200 as follows:
+
+ TCP UDP
+ TX RX TX RX
+ DE425 1030k 997k 1170k 1128k
+ DE434 1063k 995k 1170k 1125k
+ DE435 1063k 995k 1170k 1125k
+ DE500 1063k 998k 1170k 1125k in 10Mb/s mode
+
+ All values are typical (in kBytes/sec) from a sample of 4 for each
+ measurement. Their error is +/-20k on a quiet (private) network and also
+ depend on what load the CPU has.
+
+ =========================================================================
+
+ The ability to load this driver as a loadable module has been included
+ and used extensively during the driver development (to save those long
+ reboot sequences). Loadable module support under PCI and EISA has been
+ achieved by letting the driver autoprobe as if it were compiled into the
+ kernel. Do make sure you're not sharing interrupts with anything that
+ cannot accommodate interrupt sharing!
+
+ To utilise this ability, you have to do 8 things:
+
+ 0) have a copy of the loadable modules code installed on your system.
+ 1) copy de4x5.c from the /linux/drivers/net directory to your favourite
+ temporary directory.
+ 2) for fixed autoprobes (not recommended), edit the source code near
+ line 5537 to reflect the I/O address you're using, or assign these when
+ loading by:
+
+ insmod de4x5 io=0xghh where g = bus number
+ hh = device number
+
+ NB: autoprobing for modules is now supported by default. You may just
+ use:
+
+ insmod de4x5
+
+ to load all available boards. For a specific board, still use
+ the 'io=?' above.
+ 3) compile de4x5.c, but include -DMODULE in the command line to ensure
+ that the correct bits are compiled (see end of source code).
+ 4) if you are wanting to add a new card, goto 5. Otherwise, recompile a
+ kernel with the de4x5 configuration turned off and reboot.
+ 5) insmod de4x5 [io=0xghh]
+ 6) run the net startup bits for your new eth?? interface(s) manually
+ (usually /etc/rc.inet[12] at boot time).
+ 7) enjoy!
+
+ To unload a module, turn off the associated interface(s)
+ 'ifconfig eth?? down' then 'rmmod de4x5'.
+
+ Automedia detection is included so that in principal you can disconnect
+ from, e.g. TP, reconnect to BNC and things will still work (after a
+ pause whilst the driver figures out where its media went). My tests
+ using ping showed that it appears to work....
+
+ By default, the driver will now autodetect any DECchip based card.
+ Should you have a need to restrict the driver to DIGITAL only cards, you
+ can compile with a DEC_ONLY define, or if loading as a module, use the
+ 'dec_only=1' parameter.
+
+ The SMC9332 card has a non-compliant SROM which needs fixing - I have
+ patched this driver to detect it because the SROM format used complies
+ to a previous DEC-STD format.
+
+ I have removed the buffer copies needed for receive on Intels. I cannot
+ remove them for Alphas since the Tulip hardware only does longword
+ aligned DMA transfers and the Alphas get alignment traps with non
+ longword aligned data copies (which makes them really slow). No comment.
+
+ I have added SROM decoding routines to make this driver work with any
+ card that supports the Digital Semiconductor SROM spec. This will help
+ all cards running the dc2114x series chips in particular. Cards using
+ the dc2104x chips should run correctly with the basic driver. I'm in
+ debt to <mjacob@feral.com> for the testing and feedback that helped get
+ this feature working. So far we have tested KINGSTON, SMC8432, SMC9332
+ (with the latest SROM complying with the SROM spec V3: their first was
+ broken), ZNYX342 and LinkSys. ZYNX314 (dual 21041 MAC) and ZNYX 315
+ (quad 21041 MAC) cards also appear to work despite their incorrectly
+ wired IRQs.
+
+ I have added a temporary fix for interrupt problems when some SCSI cards
+ share the same interrupt as the DECchip based cards. The problem occurs
+ because the SCSI card wants to grab the interrupt as a fast interrupt
+ (runs the service routine with interrupts turned off) vs. this card
+ which really needs to run the service routine with interrupts turned on.
+ This driver will now add the interrupt service routine as a fast
+ interrupt if it is bounced from the slow interrupt. THIS IS NOT A
+ RECOMMENDED WAY TO RUN THE DRIVER and has been done for a limited time
+ until people sort out their compatibility issues and the kernel
+ interrupt service code is fixed. YOU SHOULD SEPARATE OUT THE FAST
+ INTERRUPT CARDS FROM THE SLOW INTERRUPT CARDS to ensure that they do not
+ run on the same interrupt. PCMCIA/CardBus is another can of worms...
+
+ Finally, I think I have really fixed the module loading problem with
+ more than one DECchip based card. As a side effect, I don't mess with
+ the device structure any more which means that if more than 1 card in
+ 2.0.x is installed (4 in 2.1.x), the user will have to edit
+ linux/drivers/net/Space.c to make room for them. Hence, module loading
+ is the preferred way to use this driver, since it doesn't have this
+ limitation.
+
+ Where SROM media detection is used and full duplex is specified in the
+ SROM, the feature is ignored unless de4x5_full_duplex is set at compile
+ time OR during a module load (insmod de4x5 de4x5_full_duplex=1). This
+ is because there is no way to automatically detect full duplex links
+ except through autonegotiation. When I include the autonegotiation
+ feature in the SROM autoconf code, this detection will occur
+ automatically.
+
diff --git a/Documentation/networking/dgrs.txt b/Documentation/networking/dgrs.txt
new file mode 100644
index 000000000..58af33a08
--- /dev/null
+++ b/Documentation/networking/dgrs.txt
@@ -0,0 +1,52 @@
+ The Digi Intl. RightSwitch SE-X (dgrs) Device Driver
+
+This is a Linux driver for the Digi International RightSwitch SE-X
+EISA and PCI boards. These are 4 (EISA) or 6 (PCI) port ethernet
+switches and a NIC combined into a single board. This driver can
+be compiled into the kernel statically or as a loadable module.
+
+There is also a companion management tool, called "xrightswitch".
+The management tool lets you watch the performance graphically,
+as well as set the SNMP agent IP and IPX addresses, IEEE Spanning
+Tree, and Aging time. These can also be set from the command line
+when the driver is loaded. The driver command line options are:
+
+ debug=NNN Debug printing level
+ dma=0/1 Disable/Enable DMA on PCI card
+ spantree=0/1 Disable/Enable IEEE spanning tree
+ hashexpire=NNN Change address aging time (default 300 seconds)
+ ipaddr=A,B,C,D Set SNMP agent IP address i.e. 199,86,8,221
+ iptrap=A,B,C,D Set SNMP agent IP trap address i.e. 199,86,8,221
+ ipxnet=NNN Set SNMP agent IPX network number
+ nicmode=0/1 Disable/Enable multiple NIC mode
+
+There is also a tool for setting up input and output packet filters
+on each port, called "dgrsfilt".
+
+Both the management tool and the filtering tool are available
+separately from the following FTP site:
+
+ ftp://ftp.dgii.com/drivers/rightswitch/linux/
+
+When nicmode=1, the board and driver operate as 4 or 6 individual
+NIC ports (eth0...eth5) instead of as a switch. All switching
+functions are disabled. In the future, the board firmware may include
+a routing cache when in this mode.
+
+Copyright 1995-1996 Digi International Inc.
+
+This software may be used and distributed according to the terms
+of the GNU General Public License, incorporated herein by reference.
+
+For information on purchasing a RightSwitch SE-4 or SE-6
+board, please contact Digi's sales department at 1-612-912-3444
+or 1-800-DIGIBRD. Outside the U.S., please check our Web page at:
+
+ http://www.dgii.com
+
+for sales offices worldwide. Tech support is also available through
+the channels listed on the Web site, although as long as I am
+employed on networking products at Digi I will be happy to provide
+any bug fixes that may be needed.
+
+-Rick Richardson, rick@dgii.com
diff --git a/Documentation/networking/eql.txt b/Documentation/networking/eql.txt
new file mode 100644
index 000000000..08cded598
--- /dev/null
+++ b/Documentation/networking/eql.txt
@@ -0,0 +1,528 @@
+ EQL Driver: Serial IP Load Balancing HOWTO
+ Simon "Guru Aleph-Null" Janes, simon@ncm.com
+ v1.1, February 27, 1995
+
+ This is the manual for the EQL device driver. EQL is a software device
+ that lets you load-balance IP serial links (SLIP or uncompressed PPP)
+ to increase your bandwidth. It will not reduce your latency (i.e. ping
+ times) except in the case where you already have lots of traffic on
+ your link, in which it will help them out. This driver has been tested
+ with the 1.1.75 kernel, and is known to have patched cleanly with
+ 1.1.86. Some testing with 1.1.92 has been done with the v1.1 patch
+ which was only created to patch cleanly in the very latest kernel
+ source trees. (Yes, it worked fine.)
+
+ 1. Introduction
+
+ Which is worse? A huge fee for a 56K leased line or two phone lines?
+ Its probably the former. If you find yourself craving more bandwidth,
+ and have a ISP that is flexible, it is now possible to bind modems
+ together to work as one point-to-point link to increase your
+ bandwidth. All without having to have a special black box on either
+ side.
+
+
+ The eql driver has only been tested with the Livingston PortMaster-2e
+ terminal server. I do not know if other terminal servers support load-
+ balancing, but I do know that the PortMaster does it, and does it
+ almost as well as the eql driver seems to do it (-- Unfortunately, in
+ my testing so far, the Livingston PortMaster 2e's load-balancing is a
+ good 1 to 2 KB/s slower than the test machine working with a 28.8 Kbps
+ and 14.4 Kbps connection. However, I am not sure that it really is
+ the PortMaster, or if it's Linux's TCP drivers. I'm told that Linux's
+ TCP implementation is pretty fast though.--)
+
+
+ I suggest to ISP's out there that it would probably be fair to charge
+ a load-balancing client 75% of the cost of the second line and 50% of
+ the cost of the third line etc...
+
+
+ Hey, we can all dream you know...
+
+
+ 2. Kernel Configuration
+
+ Here I describe the general steps of getting a kernel up and working
+ with the eql driver. From patching, building, to installing.
+
+
+ 2.1. Patching The Kernel
+
+ If you do not have or cannot get a copy of the kernel with the eql
+ driver folded into it, get your copy of the driver from
+ ftp://slaughter.ncm.com/pub/Linux/LOAD_BALANCING/eql-1.1.tar.gz.
+ Unpack this archive someplace obvious like /usr/local/src/. It will
+ create the following files:
+
+
+
+ ______________________________________________________________________
+ -rw-r--r-- guru/ncm 198 Jan 19 18:53 1995 eql-1.1/NO-WARRANTY
+ -rw-r--r-- guru/ncm 30620 Feb 27 21:40 1995 eql-1.1/eql-1.1.patch
+ -rwxr-xr-x guru/ncm 16111 Jan 12 22:29 1995 eql-1.1/eql_enslave
+ -rw-r--r-- guru/ncm 2195 Jan 10 21:48 1995 eql-1.1/eql_enslave.c
+ ______________________________________________________________________
+
+ Unpack a recent kernel (something after 1.1.92) Someplace convenient
+ like say /usr/src/linux-1.1.92.eql. Use symbolic links to point
+ /usr/src/linux to this development directory.
+
+
+ Apply the patch by running the commands:
+
+
+ ______________________________________________________________________
+ cd /usr/src
+ patch </usr/local/src/eql-1.1/eql-1.1.patch
+ ______________________________________________________________________
+
+
+
+
+
+ 2.2. Building The Kernel
+
+ After patching the kernel, run make config and configure the kernel
+ for your hardware.
+
+
+ After configuration, make and install according to your habit.
+
+
+ 3. Network Configuration
+
+ So far, I have only used the eql device with the DSLIP SLIP connection
+ manager by Matt Dillon (-- "The man who sold his soul to code so much
+ so quickly."--) . How you configure it for other "connection"
+ managers is up to you. Most other connection managers that I've seen
+ don't do a very good job when it comes to handling more than one
+ connection.
+
+
+ 3.1. /etc/rc.d/rc.inet1
+
+ In rc.inet1, ifconfig the eql device to the IP address you usually use
+ for your machine, and the MTU you prefer for your SLIP lines. One
+ could argue that MTU should be roughly half the usual size for two
+ modems, one-third for three, one-fourth for four, etc... But going
+ too far below 296 is probably overkill. Here is an example ifconfig
+ command that sets up the eql device:
+
+
+
+ ______________________________________________________________________
+ ifconfig eql 198.67.33.239 mtu 1006
+ ______________________________________________________________________
+
+
+
+
+
+ Once the eql device is up and running, add a static default route to
+ it in the routing table using the cool new route syntax that makes
+ life so much easier:
+
+
+
+ ______________________________________________________________________
+ route add default eql
+ ______________________________________________________________________
+
+
+ 3.2. Enslaving Devices By Hand
+
+ Enslaving devices by hand requires two utility programs: eql_enslave
+ and eql_emancipate (-- eql_emancipate hasn't been written because when
+ an enslaved device "dies", it is automatically taken out of the queue.
+ I haven't found a good reason to write it yet... other than for
+ completeness, but that isn't a good motivator is it?--)
+
+
+ The syntax for enslaving a device is "eql_enslave <master-name>
+ <slave-name> <estimated-bps>". Here are some example enslavings:
+
+
+
+ ______________________________________________________________________
+ eql_enslave eql sl0 28800
+ eql_enslave eql ppp0 14400
+ eql_enslave eql sl1 57600
+ ______________________________________________________________________
+
+
+
+
+
+ When you want to free a device from its life of slavery, you can
+ either down the device with ifconfig (eql will automatically bury the
+ dead slave and remove it from its queue) or use eql_emancipate to free
+ it. (-- Or just ifconfig it down, and the eql driver will take it out
+ for you.--)
+
+
+
+ ______________________________________________________________________
+ eql_emancipate eql sl0
+ eql_emancipate eql ppp0
+ eql_emancipate eql sl1
+ ______________________________________________________________________
+
+
+
+
+
+ 3.3. DSLIP Configuration for the eql Device
+
+ The general idea is to bring up and keep up as many SLIP connections
+ as you need, automatically.
+
+
+ 3.3.1. /etc/slip/runslip.conf
+
+ Here is an example runslip.conf:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ______________________________________________________________________
+ name sl-line-1
+ enabled
+ baud 38400
+ mtu 576
+ ducmd -e /etc/slip/dialout/cua2-288.xp -t 9
+ command eql_enslave eql $interface 28800
+ address 198.67.33.239
+ line /dev/cua2
+
+ name sl-line-2
+ enabled
+ baud 38400
+ mtu 576
+ ducmd -e /etc/slip/dialout/cua3-288.xp -t 9
+ command eql_enslave eql $interface 28800
+ address 198.67.33.239
+ line /dev/cua3
+ ______________________________________________________________________
+
+
+
+
+
+ 3.4. Using PPP and the eql Device
+
+ I have not yet done any load-balancing testing for PPP devices, mainly
+ because I don't have a PPP-connection manager like SLIP has with
+ DSLIP. I did find a good tip from LinuxNET:Billy for PPP performance:
+ make sure you have asyncmap set to something so that control
+ characters are not escaped.
+
+
+ I tried to fix up a PPP script/system for redialing lost PPP
+ connections for use with the eql driver the weekend of Feb 25-26 '95
+ (Hereafter known as the 8-hour PPP Hate Festival). Perhaps later this
+ year.
+
+
+ 4. About the Slave Scheduler Algorithm
+
+ The slave scheduler probably could be replaced with a dozen other
+ things and push traffic much faster. The formula in the current set
+ up of the driver was tuned to handle slaves with wildly different
+ bits-per-second "priorities".
+
+
+ All testing I have done was with two 28.8 V.FC modems, one connecting
+ at 28800 bps or slower, and the other connecting at 14400 bps all the
+ time.
+
+
+ One version of the scheduler was able to push 5.3 K/s through the
+ 28800 and 14400 connections, but when the priorities on the links were
+ very wide apart (57600 vs. 14400) The "faster" modem received all
+ traffic and the "slower" modem starved.
+
+
+ 5. Tester's Reports
+
+ Some people have experimented with the eql device with newer kernels
+ kernels (than 1.1.75). I have since updated the driver to patch
+ cleanly in newer kernels because of the removal of the old "slave-
+ balancing" driver config option.
+
+
+ o icee from LinuxNET patched 1.1.86 without any rejects and was able
+ to boot the kernel and enslave a couple of ISDN PPP links.
+
+ 5.1. Randolph Bentson's Test Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From bentson@grieg.seaslug.org Wed Feb 8 19:08:09 1995
+ Date: Tue, 7 Feb 95 22:57 PST
+ From: Randolph Bentson <bentson@grieg.seaslug.org>
+ To: guru@ncm.com
+ Subject: EQL driver tests
+
+
+ I have been checking out your eql driver. (Nice work, that!)
+ Although you may already done this performance testing, here
+ are some data I've discovered.
+
+ Randolph Bentson
+ bentson@grieg.seaslug.org
+
+ ---------------------------------------------------------
+
+
+ A pseudo-device driver, EQL, written by Simon Janes, can be used
+ to bundle multiple SLIP connections into what appears to be a
+ single connection. This allows one to improve dial-up network
+ connectivity gradually, without having to buy expensive DSU/CSU
+ hardware and services.
+
+ I have done some testing of this software, with two goals in
+ mind: first, to ensure it actually works as described and
+ second, as a method of exercising my device driver.
+
+ The following performance measurements were derived from a set
+ of SLIP connections run between two Linux systems (1.1.84) using
+ a 486DX2/66 with a Cyclom-8Ys and a 486SLC/40 with a Cyclom-16Y.
+ (Ports 0,1,2,3 were used. A later configuration will distribute
+ port selection across the different Cirrus chips on the boards.)
+ Once a link was established, I timed a binary ftp transfer of
+ 289284 bytes of data. If there were no overhead (packet headers,
+ inter-character and inter-packet delays, etc.) the transfers
+ would take the following times:
+
+ bits/sec seconds
+ 345600 8.3
+ 234600 12.3
+ 172800 16.7
+ 153600 18.8
+ 76800 37.6
+ 57600 50.2
+ 38400 75.3
+ 28800 100.4
+ 19200 150.6
+ 9600 301.3
+
+ A single line running at the lower speeds and with large packets
+ comes to within 2% of this. Performance is limited for the higher
+ speeds (as predicted by the Cirrus databook) to an aggregate of
+ about 160 kbits/sec. The next round of testing will distribute
+ the load across two or more Cirrus chips.
+
+ The good news is that one gets nearly the full advantage of the
+ second, third, and fourth line's bandwidth. (The bad news is
+ that the connection establishment seemed fragile for the higher
+ speeds. Once established, the connection seemed robust enough.)
+
+ #lines speed mtu seconds theory actual %of
+ kbit/sec duration speed speed max
+ 3 115200 900 _ 345600
+ 3 115200 400 18.1 345600 159825 46
+ 2 115200 900 _ 230400
+ 2 115200 600 18.1 230400 159825 69
+ 2 115200 400 19.3 230400 149888 65
+ 4 57600 900 _ 234600
+ 4 57600 600 _ 234600
+ 4 57600 400 _ 234600
+ 3 57600 600 20.9 172800 138413 80
+ 3 57600 900 21.2 172800 136455 78
+ 3 115200 600 21.7 345600 133311 38
+ 3 57600 400 22.5 172800 128571 74
+ 4 38400 900 25.2 153600 114795 74
+ 4 38400 600 26.4 153600 109577 71
+ 4 38400 400 27.3 153600 105965 68
+ 2 57600 900 29.1 115200 99410.3 86
+ 1 115200 900 30.7 115200 94229.3 81
+ 2 57600 600 30.2 115200 95789.4 83
+ 3 38400 900 30.3 115200 95473.3 82
+ 3 38400 600 31.2 115200 92719.2 80
+ 1 115200 600 31.3 115200 92423 80
+ 2 57600 400 32.3 115200 89561.6 77
+ 1 115200 400 32.8 115200 88196.3 76
+ 3 38400 400 33.5 115200 86353.4 74
+ 2 38400 900 43.7 76800 66197.7 86
+ 2 38400 600 44 76800 65746.4 85
+ 2 38400 400 47.2 76800 61289 79
+ 4 19200 900 50.8 76800 56945.7 74
+ 4 19200 400 53.2 76800 54376.7 70
+ 4 19200 600 53.7 76800 53870.4 70
+ 1 57600 900 54.6 57600 52982.4 91
+ 1 57600 600 56.2 57600 51474 89
+ 3 19200 900 60.5 57600 47815.5 83
+ 1 57600 400 60.2 57600 48053.8 83
+ 3 19200 600 62 57600 46658.7 81
+ 3 19200 400 64.7 57600 44711.6 77
+ 1 38400 900 79.4 38400 36433.8 94
+ 1 38400 600 82.4 38400 35107.3 91
+ 2 19200 900 84.4 38400 34275.4 89
+ 1 38400 400 86.8 38400 33327.6 86
+ 2 19200 600 87.6 38400 33023.3 85
+ 2 19200 400 91.2 38400 31719.7 82
+ 4 9600 900 94.7 38400 30547.4 79
+ 4 9600 400 106 38400 27290.9 71
+ 4 9600 600 110 38400 26298.5 68
+ 3 9600 900 118 28800 24515.6 85
+ 3 9600 600 120 28800 24107 83
+ 3 9600 400 131 28800 22082.7 76
+ 1 19200 900 155 19200 18663.5 97
+ 1 19200 600 161 19200 17968 93
+ 1 19200 400 170 19200 17016.7 88
+ 2 9600 600 176 19200 16436.6 85
+ 2 9600 900 180 19200 16071.3 83
+ 2 9600 400 181 19200 15982.5 83
+ 1 9600 900 305 9600 9484.72 98
+ 1 9600 600 314 9600 9212.87 95
+ 1 9600 400 332 9600 8713.37 90
+
+
+
+
+
+ 5.2. Anthony Healy's Report
+
+
+
+
+
+
+
+ Date: Mon, 13 Feb 1995 16:17:29 +1100 (EST)
+ From: Antony Healey <ahealey@st.nepean.uws.edu.au>
+ To: Simon Janes <guru@ncm.com>
+ Subject: Re: Load Balancing
+
+ Hi Simon,
+ I've installed your patch and it works great. I have trialed
+ it over twin SL/IP lines, just over null modems, but I was
+ able to data at over 48Kb/s [ISDN link -Simon]. I managed a
+ transfer of upto 7.5 Kbyte/s on one go, but averaged around
+ 6.4 Kbyte/s, which I think is pretty cool. :)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Documentation/networking/ethertap.txt b/Documentation/networking/ethertap.txt
new file mode 100644
index 000000000..b60f39c22
--- /dev/null
+++ b/Documentation/networking/ethertap.txt
@@ -0,0 +1,88 @@
+Documentation on setup and use of EtherTap.
+
+Contact Jay Schulist <Jay.Schulist@spacs.k12.wi.us> if you
+have questions or need futher assistance.
+
+Introduction
+============
+
+Ethertap provides packet reception and transmission for user
+space programs. It can be viewed as a simple ethernet device,
+which instead of recieving packets from a network wire, it recieves
+them from user space.
+
+Ethertap can be used for anything from Appletalk to IPX to even
+building bridging tunnels. It also has many other general purpose
+uses.
+
+Ethertap also can do ARP for you. Although this is not enabled per
+default.
+
+SetUp
+=====
+
+First you will have to enable Ethertap in the kernel configuration.
+Then you will need to create any number of ethertap device files,
+/dev/tap0->/dev/tap15. This is done by the following command.
+
+mknod /dev/tap* c 36 16 ( 17 18 19 20 for tap1,2,3,4...)
+
+** Replace * with the proper tap device number you need. **
+
+Now with your kernel that has ethertap enabled, you will need
+to ifconfig /dev/tap* 192.168.1.1 (replace 192.168.1.1 with the
+proper IP number for your situation.)
+
+If you want your Ethertap device to ARP for you would ifconfig
+the interface like this: ifconfig tap* 192.168.1.1 arp
+
+Remember that the you need to have a corresponding /dev/tap* file
+for each tap* device you need to ifconfig.
+
+Now Ethertap should be ready to use.
+
+Diagram of how Ethertap works. (Courtesy of Alan Cox)
+====================================================
+
+This is for a tunnel, but you should be able to
+get the general idea.
+
+ 1.2.3.4 will be the router to the outside world
+ 1.2.3.5 our box
+ 2.0.0.1 our box (appletalk side)
+ 2.0.0.* a pile of macintoys
+
+
+[1.2.3.4]-------------1.2.3.5[Our Box]2.0.0.1---------> macs
+
+The routing on our box would be
+
+ ifconfig eth0 1.2.3.5 netmask 255.255.255.0 up
+ route add default gw 1.2.3.4
+ ifconfig tap0 2.0.0.1 netmask 255.255.255.0 up arp
+ (route add 2.0.0.0 netmask 255.255.255.0)
+
+C code for a Simple program using an EtherTap device
+====================================================
+
+This code is just excepts from a real program, so some parts are missing
+but the important stuff is below.
+
+void main (void)
+{
+ int TapDevice, eth_pkt_len = 0;
+ unsigned char full_pkt_len[MAX_PKT_LEN];
+
+ TapDevice = open("/dev/tap0", O_RDWR);
+ if(TapDevice < 0)
+ {
+ perror("Error opening device");
+ exit(1);
+ }
+
+ write(TapDevice, full_packet, eth_pkt_len);
+
+ close(TapDevice);
+
+ return;
+}
diff --git a/Documentation/networking/ewrk3.txt b/Documentation/networking/ewrk3.txt
new file mode 100644
index 000000000..bea97f4e2
--- /dev/null
+++ b/Documentation/networking/ewrk3.txt
@@ -0,0 +1,45 @@
+The EtherWORKS 3 driver in this distribution is designed to work with all
+kernels > 1.1.33 (approx) and includes tools in the 'ewrk3tools'
+subdirectory to allow set up of the card, similar to the MSDOS
+'NICSETUP.EXE' tools provided on the DOS drivers disk (type 'make' in that
+subdirectory to make the tools).
+
+The supported cards are DE203, DE204 and DE205. All other cards are NOT
+supported - refer to 'depca.c' for running the LANCE based network cards and
+'de4x5.c' for the DIGITAL Semiconductor PCI chip based adapters from
+Digital.
+
+The ability to load this driver as a loadable module has been included and
+used extensively during the driver development (to save those long reboot
+sequences). To utilise this ability, you have to do 8 things:
+
+ 0) have a copy of the loadable modules code installed on your system.
+ 1) copy ewrk3.c from the /linux/drivers/net directory to your favourite
+ temporary directory.
+ 2) edit the source code near line 1898 to reflect the I/O address and
+ IRQ you're using.
+ 3) compile ewrk3.c, but include -DMODULE in the command line to ensure
+ that the correct bits are compiled (see end of source code).
+ 4) if you are wanting to add a new card, goto 5. Otherwise, recompile a
+ kernel with the ewrk3 configuration turned off and reboot.
+ 5) insmod ewrk3.o
+ [Alan Cox: Changed this so you can insmod ewrk3.o irq=x io=y]
+ 6) run the net startup bits for your new eth?? interface manually
+ (usually /etc/rc.inet[12] at boot time).
+ 7) enjoy!
+
+ Note that autoprobing is not allowed in loadable modules - the system is
+ already up and running and you're messing with interrupts.
+
+ To unload a module, turn off the associated interface
+ 'ifconfig eth?? down' then 'rmmod ewrk3'.
+
+The performance we've achieved so far has been measured through the 'ttcp'
+tool at 975kB/s. This measures the total tcp stack performance which
+includes the card, so don't expect to get much nearer the 1.25MB/s
+theoretical ethernet rate.
+
+
+Enjoy!
+
+Dave
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
index 30e4ff140..e202b4f80 100644
--- a/Documentation/networking/ip-sysctl.txt
+++ b/Documentation/networking/ip-sysctl.txt
@@ -143,10 +143,22 @@ tcp_syn_taildrop - BOOLEAN
tcp_max_syn_backlog - INTEGER
Undocumented (work in progress)
+ip_local_port_range - 2 INTEGERS
+ Defines the local port range that is used by TCP and UDP to
+ choose the local port. The first number is the first, the
+ second the last local port number. For high-usage systems
+ change this to 32768-61000.
+
+icmp_echo_ignore_all - BOOLEAN
+icmp_echo_ignore_broadcasts - BOOLEAN
+ If either is set to true, then the kernel will ignore either all
+ ICMP ECHO requests sent to it or just those to broadcast/multicast
+ addresses, respectively.
+
Alexey Kuznetsov.
kuznet@ms2.inr.ac.ru
Updated by:
Andi Kleen
ak@muc.de
-$Id: ip-sysctl.txt,v 1.3 1997/08/22 19:22:00 freitag Exp $
+$Id: ip-sysctl.txt,v 1.5 1997/10/17 03:58:23 tdyas Exp $
diff --git a/Documentation/networking/ltpc.txt b/Documentation/networking/ltpc.txt
new file mode 100644
index 000000000..477f9fc6b
--- /dev/null
+++ b/Documentation/networking/ltpc.txt
@@ -0,0 +1,98 @@
+This is the ALPHA version of the ltpc driver.
+
+In order to use it, you will need at least version 1.3.3 of the
+netatalk package, and the Apple or Farallon Localtalk PC card.
+There are a number of different Localtalk cards for the PC; this
+driver applies only to the one with the 65c02 processor chip on it.
+
+To include it in the kernel, select the CONFIG_LTPC switch in the
+configuration dialog; at this time (kernel 2.1.23) compiling it as
+a module will not work.
+
+Before starting up the netatalk demons (perhaps in rc.local), you
+need to add a line such as:
+
+/sbin/ifconfig ltalk0 127.0.0.42
+
+
+The driver will autoprobe, and you should see a message like:
+"LocalTalk card found at 240, IR9, DMA1."
+at bootup.
+
+The appropriate netatalk configuration depends on whether you are
+attached to a network that includes appletalk routers or not. If,
+like me, you are simply connecting to your home Macintoshes and
+printers, you need to set up netatalk to "seed". The way I do this
+is to have the lines
+
+dummy -seed -phase 2 -net 2000 -addr 2000.26 -zone "1033"
+ltalk0 -seed -phase 1 -net 1033 -addr 1033.27 -zone "1033"
+
+in my atalkd.conf. What is going on here is that I need to fool
+netatalk into thinking that there are two appletalk interfaces
+present -- otherwise it refuses to seed. This is a hack, and a
+more permanent solution would be to alter the netatalk code.
+Note that the dummy driver needs to accept multicasts also -- earlier
+versions of dummy.c may need to be patched.
+
+
+If you are attached to an extended appletalk network, with routers on
+it, then you don't need to fool around with this -- the appropriate
+line in atalkd.conf is
+
+ltalk0 -phase 1
+
+--------------------------------------
+
+Card Configuration:
+
+The interrupts and so forth are configured via the dipswitch on the
+board. Set the switches so as not to conflict with other hardware.
+
+ Interrupts -- set at most one. If none are set, the driver uses
+ polled mode. Because the card was developed in the XT era, the
+ original documentation refers to IRQ2. Since you'll be running
+ this on an AT (or later) class machine, that really means IRQ9.
+
+ SW1 IRQ 4
+ SW2 IRQ 3
+ SW3 IRQ 9 (2 in original card documentation only applies to XT)
+
+
+ DMA -- choose DMA 1 or 3, and set both corresponding switches.
+
+ SW4 DMA 3
+ SW5 DMA 1
+ SW6 DMA 3
+ SW7 DMA 1
+
+
+ I/O address -- choose one.
+
+ SW8 220 / 240
+
+--------------------------------------
+
+IP:
+ Many people are interested in this driver in order to use IP
+when Localtalk, but no Ethernet, is available. While the code to do
+this is not strictly speaking part of this driver, an experimental
+version is available which seems to work under kernel 2.0.xx. It is
+not yet functional in the 2.1.xx kernels.
+
+--------------------------------------
+
+BUGS:
+
+2.0.xx:
+
+2.1.xx: The module support doesn't work yet.
+
+______________________________________
+
+THANKS:
+ Thanks to Alan Cox for helpful discussions early on in this
+work, and to Denis Hainsworth for doing the bleeding-edge testing.
+
+-- Bradford Johnson <bradford@math.umn.edu>
+
diff --git a/Documentation/networking/multicast.txt b/Documentation/networking/multicast.txt
new file mode 100644
index 000000000..b7e234e03
--- /dev/null
+++ b/Documentation/networking/multicast.txt
@@ -0,0 +1,57 @@
+Behaviour of cards under Multicast. This is how they currently
+behave not what the hardware can do. In particular all the 8390 based
+cards don't use the onboard hash filter, and the lance driver doesn't
+use its filter, even though the code for loading it is in the DEC
+lance based driver.
+
+The following multicast requirements are needed
+-----------------------------------------------
+Appletalk Multicast hardware filtering not important but
+ avoid cards only doing promisc
+IP-Multicast Multicast hardware filters really help
+IP-MRoute AllMulti hardware filters are of no help
+
+
+Board Multicast AllMulti Promisc Filter
+------------------------------------------------------------------------
+3c501 YES YES YES Software
+3c503 YES YES YES Hardware
+3c505 YES NO YES Hardware
+3c507 NO NO NO N/A
+3c509 YES YES YES Software
+3c59x YES YES YES Software
+ac3200 YES YES YES Hardware
+apricot YES PROMISC YES Hardware
+arcnet NO NO NO N/A
+at1700 PROMISC PROMISC YES Software
+atp PROMISC PROMISC YES Software
+cs89x0 YES YES YES Software
+de4x5 YES YES YES Hardware
+de600 NO NO NO N/A
+de620 PROMISC PROMISC YES Software
+depca YES PROMISC YES Hardware
+e2100 YES YES YES Hardware
+eepro YES PROMISC YES Hardware
+eexpress NO NO NO N/A
+ewrk3 YES PROMISC YES Hardware
+hp-plus YES YES YES Hardware
+hp YES YES YES Hardware
+hp100 YES YES YES Hardware
+ibmtr NO NO NO N/A
+lance YES YES YES Software(#)
+ne YES YES YES Hardware
+ni52 <------------------ Buggy ------------------>
+ni65 YES YES YES Software(#)
+seeq NO NO NO N/A
+sk_g16 NO NO YES N/A
+smc-ultra YES YES YES Hardware
+sunlance YES YES YES Hardware
+tulip YES YES YES Hardware
+wavelan YES PROMISC YES Hardware
+wd YES YES YES Hardware
+znet YES YES YES Software
+
+
+PROMISC = This multicasts mode is in fact promiscuous mode. Avoid using
+cards who go PROMISC on any multicast in a multicast kernel.
+(#) = Hardware multicast support is not used yet.
diff --git a/Documentation/networking/pt.txt b/Documentation/networking/pt.txt
new file mode 100644
index 000000000..63f40b31a
--- /dev/null
+++ b/Documentation/networking/pt.txt
@@ -0,0 +1,58 @@
+This is the README for the Gracilis Packetwin device driver, version 0.5
+ALPHA for Linux 1.3.43.
+
+These files will allow you to talk to the PackeTwin (now know as PT) and
+connect through it just like a pair of TNC's. To do this you will also
+require the AX.25 code in the kernel enabled.
+
+There are four files in this archive; this readme, a patch file, a .c file
+and finally a .h file. The two program files need to be put into the
+drivers/net directory in the Linux source tree, for me this is the
+directory /usr/src/linux/drivers/net. The patch file needs to be patched in
+at the top of the Linux source tree (/usr/src/linux in my case).
+
+You will most probably have to edit the pt.c file to suit your own setup,
+this should just involve changing some of the defines at the top of the file.
+Please note that if you run an external modem you must specify a speed of 0.
+
+The program is currently setup to run a 4800 baud external modem on port A
+and a Kantronics DE-9600 daughter board on port B so if you have this (or
+something similar) then you're right.
+
+To compile in the driver, put the files in the correct place and patch in
+the diff. You will have to re-configure the kernel again before you
+recompile it.
+
+The driver is not real good at the moment for finding the card. You can
+'help' it by changing the order of the potential addresses in the structure
+found in the pt_init() function so the address of where the card is is put
+first.
+
+After compiling, you have to get them going, they are pretty well like any
+other net device and just need ifconfig to get them going.
+As an example, here is my /etc/rc.net
+--------------------------
+
+#
+# Configure the PackeTwin, port A.
+/sbin/ifconfig pt0a 44.136.8.87 hw ax25 vk2xlz mtu 512
+/sbin/ifconfig pt0a 44.136.8.87 broadcast 44.136.8.255 netmask 255.255.255.0
+/sbin/route add -net 44.136.8.0 netmask 255.255.255.0 dev pt0a
+/sbin/route add -net 44.0.0.0 netmask 255.0.0.0 gw 44.136.8.68 dev pt0a
+/sbin/route add -net 138.25.16.0 netmask 255.255.240.0 dev pt0a
+/sbin/route add -host 44.136.8.255 dev pt0a
+#
+# Configure the PackeTwin, port B.
+/sbin/ifconfig pt0b 44.136.8.87 hw ax25 vk2xlz-1 mtu 512
+/sbin/ifconfig pt0b 44.136.8.87 broadcast 44.255.255.255 netmask 255.0.0.0
+/sbin/route add -host 44.136.8.216 dev pt0b
+/sbin/route add -host 44.136.8.95 dev pt0b
+/sbin/route add -host 44.255.255.255 dev pt0b
+
+This version of the driver comes under the GNU GPL. If you have one on my
+previous (non-GPL) versions of the driver, please update to this one.
+
+I hope that this all works well for you. I would be pleased to hear how
+many people use the driver and if it does its job.
+
+ - Craig vk2xlz <csmall@small.dropbear.id.au>
diff --git a/Documentation/networking/scc.txt b/Documentation/networking/scc.txt
new file mode 100644
index 000000000..b3eb3445c
--- /dev/null
+++ b/Documentation/networking/scc.txt
@@ -0,0 +1,23 @@
+
+You will find subset of the documentation in
+
+ linux/Documentation/networking/z8530drv.txt
+
+To use this driver you MUST have the full package from:
+
+Internet:
+=========
+
+1. db0bm.automation.fh-aachen.de/incoming/dl1bke/z8530drv-utils-3.0.tar.gz
+
+2. ftp.ucsd.edu:/hamradio/packet/tcpip/incoming/z8530drv-utils-3.0.tar.gz
+ If you can't find it there, try .../tcpip/linux/z8530drv-utils-3.0.tar.gz
+
+and various mirrors (i.e. nic.switch.ch)
+
+The package includes the utilities necessary to initialize and
+control the driver.
+
+Joerg Reuter ampr-net: dl1bke@db0pra.ampr.org
+ AX-25 : DL1BKE @ DB0ACH.#NRW.DEU.EU
+ Internet: jreuter@lykos.oche.de
diff --git a/Documentation/networking/smc9.txt b/Documentation/networking/smc9.txt
new file mode 100644
index 000000000..243c7e7e7
--- /dev/null
+++ b/Documentation/networking/smc9.txt
@@ -0,0 +1,42 @@
+
+SMC 9xxxx Driver
+Revision 0.12
+3/5/96
+Copyright 1996 Erik Stahlman
+Released under terms of the GNU public license.
+
+This file contains the instructions and caveats for my SMC9xxx driver. You
+should not be using the driver without reading this file.
+
+Things to note about installation:
+
+ 1. The driver should work on all kernels from 1.2.13 until 1.3.71.
+ (A kernel patch is supplied for 1.3.71 )
+
+ 2. If you include this into the kernel, you might need to change some
+ options, such as for forcing IRQ.
+
+
+ 3. To compile as a module, run 'make' .
+ Make will give you the appropriate options for various kernel support.
+
+ 4. Loading the driver as a module :
+
+ use: insmod smc9194.o
+ optional parameters:
+ io=xxxx : your base address
+ irq=xx : your irq
+ ifport=x : 0 for whatever is default
+ 1 for twisted pair
+ 2 for AUI ( or BNC on some cards )
+
+How to obtain the latest version?
+
+FTP:
+ ftp://fenris.campus.vt.edu/smc9/smc9-12.tar.gz
+ ftp://sfbox.vt.edu/filebox/F/fenris/smc9/smc9-12.tar.gz
+
+
+Contacting me:
+ erik@mail.vt.edu
+
diff --git a/Documentation/networking/wanpipe.txt b/Documentation/networking/wanpipe.txt
new file mode 100644
index 000000000..9650edb73
--- /dev/null
+++ b/Documentation/networking/wanpipe.txt
@@ -0,0 +1,148 @@
+------------------------------------------------------------------------------
+WANPIPE(tm) Multiprotocol WAN Driver for Linux WAN Router
+------------------------------------------------------------------------------
+Release 3.1.0
+January 30, 1997
+Author: Gene Kozin <genek@compuserve.com>
+Copyright (c) 1995-1997 Sangoma Technologies Inc.
+------------------------------------------------------------------------------
+
+INTRODUCTION
+
+WANPIPE(tm) is a family of intelligent muliprotocol WAN communication adapters
+for personal computers (ISA bus) designed to provide PC connectivity to
+various communication links, such as leased lines and public data networks, at
+speeds up to T1/E1 using variety of synchronous communications protocols,
+including frame relay, PPP, X.25, SDLC, etc.
+
+WANPIPE driver together with Linux WAN Router module allows you to build
+relatively inexpensive, yet high-prformance multiprotocol WAN router. For
+more information about Linux WAN Router please read file
+Documentation/networking/wan-router.txt. You must also obtain WAN Tools
+package to be able to use Linux WAN Router and WANPIPE driver. The package
+is available via the Internet from Sangoma Technologies' anonymous FTP server:
+
+ ftp.sangoma.com/pub/linux/wantools-X.Y.Z.tgz
+
+For technical questions and/or comments please e-mail to genek@compuserve.com.
+For general inquiries please contact Sangoma Technologies Inc. by
+
+ Hotline: 1-800-388-2475 (USA and Canada, toll free)
+ Phone: (905) 474-1990
+ Fax: (905) 474-9223
+ E-mail: dm@sangoma.com (David Mandelstam)
+ WWW: http://www.sangoma.com
+
+
+
+COPYRIGHT AND LICENSING INFORMATION
+
+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, 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.
+
+
+
+NEW IN THIS RELEASE
+
+ o Implemented as WAN Link Driver compliant with Linux WAN Router interface
+ o Added support for X.25 protocol
+ o Miscellaneous bug fixes and performance improvements
+
+
+
+FILE LIST
+
+drivers/net:
+ README.wanpipe This file
+ sdladrv.c SDLA support module source code
+ wpmain.c WANPIPE driver module main source code
+ wpx.c WANPIPE driver module X.25 source code
+ wpf.c WANPIPE driver module frame relay source code
+ wpp.c WANPIPE driver module PPP source code
+ sdla_x25.h SDLA X.25 firmware API definitions
+ sdla_fr.h SDLA frame relay firmware API definitions
+ sdla_ppp.h SDLA PPP firmware API definitions
+
+include/linux:
+ wanpipe.h WANPIPE API definitions
+ sdladrv.h SDLA support module API definitions
+ sdlasfm.h SDLA firmware module definitions
+
+
+
+REVISION HISTORY
+
+3.1.0 January 30, 1997
+
+ o Implemented IOCTL for executing adapter commands.
+ o Fixed a bug in frame relay code causing driver configured as a FR
+ switch to be stuck in WAN_DISCONNECTED mode.
+
+3.0.0 December 31, 1996
+
+ o Uses Linux WAN Router interface
+ o Added support for X.25 routing
+ o Miscellaneous bug fixes and performance improvements
+
+2.4.1 December 18, 1996
+
+ o Added support for LMI and Q.933 frame relay link management
+
+2.3.0 October 17, 1996
+
+ o All shell scripts use meta-configuration file
+ o Miscellaneous bug fixes
+
+2.2.0 July 16, 1996
+
+ o Compatible with Linux 2.0
+ o Added uninstall script
+ o User's Manual is available in HTML format
+
+2.1.0 June 20, 1996
+
+ o Added support for synchronous PPP
+ o Added support for S503 adapter
+ o Added API for executing adapter commands
+ o Fixed a re-entrancy problem in frame relaty driver
+ o Changed interface between SDLA driver and protocol support modules
+ o Updated frame relay firmware
+
+2.0.0 May 1, 1996
+
+ o Added interactive installation and configuration scripts
+ o Added System V-style start-up script
+ o Added dynamic memory window address selection in SDLA driver
+ o Miscellaneous bug fixes in SDLA driver
+ o Updated S508 frame relay firmware
+ o Changed SFM file format
+
+1.0.0 February 12, 1996
+
+ o Final release
+ o Added support for Linux 1.3
+ o Updated S508 frame relay firmware
+
+0.9.0 December 21, 1995
+
+ o Added SNAP encapsulation for routed frames
+ o Added support for the frame relay switch emulation mode
+ o Added support for S508 adapter
+ o Added capability to autodetect adapter type
+ o Miscellaneous bug fixes in SDLA and frame relay drivers
+
+0.1.0 October 12, 1995
+
+ o Initial version
+
+>>>>>>> END OF README <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+
diff --git a/Documentation/networking/wavelan.txt b/Documentation/networking/wavelan.txt
new file mode 100644
index 000000000..5849f287b
--- /dev/null
+++ b/Documentation/networking/wavelan.txt
@@ -0,0 +1,33 @@
+Sun Jul 2 01:38:33 EST 1995
+
+1. At present the driver autoprobes for a WaveLAN card only at I/O address 0x390.
+ The version of the card that I use (NCR) supports four I/O addresses (selectable
+ via a pair of DIP switches). If you want the driver to autoprobe a different
+ subset of the four valid addresses then you will need to edit
+ .../drivers/net/wavelan.c (near line 714) and change the initialisation of the
+ `iobase[]' array. Normally, I use a LILO configuration file directive to
+ obviate the need for autoprobing entirely, a course of action I heartily
+ recommend.
+
+2. By default, the driver uses the Network ID (NWID) stored in the card's Parameter
+ Storage Area (PSA). However, the PSA NWID can be overridden by a value passed
+ explicitly as the third numeric argument to LILO's "ether=" directive, either
+ at the LILO prompt at boot time or within LILO's configuration file.
+ For example, the following line from such a LILO configuration file would
+ auto-configure the IRQ value, set the I/O base to 0x390 and set the NWID to
+ 0x4321, all on a WaveLAN card labelled "eth0":
+
+ ..
+ append ="ether=0,0x390,0x4321,eth0"
+ ..
+
+3. The driver uses the IRQ stored in the card's PSA.
+ To change this you will need to use the configuration/setup software that
+ accompanies each WaveLAN device. Yes, the driver should use the value passed
+ in via LILO and it will, just as soon as I can work out why that part of the
+ code doesn't work :-(.
+
+4. If you encounter any problems send me some email.
+
+Good luck,
+Bruce Janson (bruce@cs.usyd.edu.au)
diff --git a/Documentation/nfsroot.txt b/Documentation/nfsroot.txt
index 43d79a89b..1d42ec6fe 100644
--- a/Documentation/nfsroot.txt
+++ b/Documentation/nfsroot.txt
@@ -2,6 +2,7 @@ Mounting the root filesystem via NFS (nfsroot)
==============================================
Written 1996 by Gero Kuhlmann <gero@gkminix.han.de>
+Updated 1997 by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
@@ -47,12 +48,12 @@ root=/dev/nfs
nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
- If the nfsroot parameter is NOT give on the command line, the default
+ If the `nfsroot' parameter is NOT given on the command line, the default
"/tftpboot/%s" will be used.
<server-ip> Specifies the IP address of the NFS server. If this field
is not given, the default address as determined by the
- nfsaddrs variable (see below) is used. One use of this
+ `ip' variable (see below) is used. One use of this
parameter is for example to allow using different servers
for RARP and NFS. Usually you can leave this blank.
@@ -76,10 +77,16 @@ nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
flags = hard, nointr, noposix, cto, ac
-nfsaddrs=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
+ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
- If this parameter is missing on the kernel command line, all fields are
- assumed to be empty, and the below mentioned defaults apply. In general
+ This parameter tells the kernel how to configure IP addresses of devices
+ and also how to set up the IP routing table. It was originally called `nfsaddrs',
+ but now the boot-time IP configuration works independently on NFS, so it
+ was renamed to `ip' and the old name remained as an alias for compatibility
+ reasons.
+
+ If this parameter is missing from the kernel command line, all fields are
+ assumed to be empty, and the defaults mentioned below apply. In general
this means that the kernel tries to configure everything using both
RARP and BOOTP (depending on what has been enabled during kernel confi-
guration, and if both what protocol answer got in first).
@@ -95,7 +102,7 @@ nfsaddrs=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf
replies from the specified server are accepted. To use
different RARP and NFS server, specify your RARP server
here (or leave it blank), and specify your NFS server in
- the nfsroot parameter (see above). If this entry is blank
+ the `nfsroot' parameter (see above). If this entry is blank
the address of the server is used which answered the RARP
or BOOTP request.
@@ -105,29 +112,26 @@ nfsaddrs=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf
value has been received by BOOTP.
<netmask> Netmask for local network interface. If this is empty,
- the netmask is derived from the client IP address, un-
- less a value has been received by BOOTP.
+ the netmask is derived from the client IP address assuming
+ classful addressing, unless overriden in BOOTP reply.
<hostname> Name of the client. If empty, the client IP address is
used in ASCII-notation, or the value received by BOOTP.
<device> Name of network device to use. If this is empty, all
- devices are used for RARP requests, and the first one
- found for BOOTP. For NFS the device is used on which
- either RARP or BOOTP replies have been received. If
- you only have one device you can safely leave this blank.
+ devices are used for RARP and BOOTP requests, and the
+ first one we receive a reply on is configured. If you have
+ only one device, you can safely leave this blank.
<autoconf> Method to use for autoconfiguration. If this is either
- 'rarp' or 'bootp' the specified protocol is being used.
+ 'rarp' or 'bootp', the specified protocol is used.
If the value is 'both' or empty, both protocols are used
so far as they have been enabled during kernel configura-
- tion. 'none' means no autoconfiguration. In this case you
- have to specify all necessary values in the fields before.
+ tion. 'off' means no autoconfiguration.
- The <autoconf> parameter can appear alone as the value to the nfsaddrs
+ The <autoconf> parameter can appear alone as the value to the `ip'
parameter (without all the ':' characters before) in which case auto-
- configuration is used. However, the 'none' value is not available in
- that case.
+ configuration is used.
@@ -196,9 +200,11 @@ depend on what facilities are available:
4.) Credits
-------
- The nfsroot code in the kernel has been written by me, Gero Kuhlmann
- <gero@gkminix.han.de>, with the BOOTP code and a couple of bug fixes
- contributed by Martin Mares <mj@k332.feld.cvut.cz>. In order to write
- the initial version of nfsroot I would like to thank Jens-Uwe Mager
- <jum@anubis.han.de> for his help.
+ The nfsroot code in the kernel and the RARP support have been written
+ by Gero Kuhlmann <gero@gkminix.han.de>.
+
+ The rest of the IP layer autoconfiguration code has been written
+ by Martin Mares <mj@atrey.karlin.mff.cuni.cz>.
+ In order to write the initial version of nfsroot I would like to thank
+ Jens-Uwe Mager <jum@anubis.han.de> for his help.
diff --git a/Documentation/parport.txt b/Documentation/parport.txt
index aa9f3ca45..278ab3a7a 100644
--- a/Documentation/parport.txt
+++ b/Documentation/parport.txt
@@ -53,11 +53,9 @@ message similar to:
parport0: Printer, BJC-210 (Canon)
-Additionally, if you use kerneld, you can add to /etc/conf.modules the
-following lines, to have the probe happen automatically:
+(If you are using kerneld and have configured parport_probe as a
+module, this will just happen.)
- post-install parport modprobe parport_probe
- pre-remove parport modprobe -r parport_probe
Parport, but not as modules
===========================
@@ -72,6 +70,31 @@ You can have many `parport=...' statements, one for each port you want
to add. Adding `parport=0' to the kernel command-line will disable
parport support entirely.
+Files in /proc
+==============
+
+If you have configured the /proc filesystem into your kernel, you will
+see a new directory entry: /proc/parport. In there will be a
+directory entry for each parallel port for which parport is
+configured. In each of those directories are three files describing
+that parallel port. For example:
+
+File: Contents:
+
+/proc/parport/0/devices A list of the device drivers using
+ that port. A "+" will appear by the
+ name of the device currently using the
+ port (it might not appear against any).
+
+/proc/parport/0/hardware Parallel port's base address, IRQ line
+ and DMA channel.
+
+/proc/parport/0/irq The IRQ that parport is using for that
+ port (as above). This is in a
+ separate file to allow you to alter it
+ by writing a new value in (IRQ number
+ or "none").
+
Device drivers
==============
diff --git a/Documentation/powerpc/00-INDEX b/Documentation/powerpc/00-INDEX
index 48e8fa2d5..d432cd274 100644
--- a/Documentation/powerpc/00-INDEX
+++ b/Documentation/powerpc/00-INDEX
@@ -7,3 +7,5 @@ please mail me.
- this file
ppc_htab.txt
- info about the Linux/PPC /proc/ppc_htab entry
+sound.txt
+ - info on sound support under Linux/PPC
diff --git a/Documentation/powerpc/ppc_htab.txt b/Documentation/powerpc/ppc_htab.txt
index e114726f1..fab9f3aae 100644
--- a/Documentation/powerpc/ppc_htab.txt
+++ b/Documentation/powerpc/ppc_htab.txt
@@ -1,25 +1,47 @@
Information about /proc/ppc_htab
=====================================================================
+This document and the related code was written by me (Cort Dougan), please
+email me (cort@cs.nmt.edu) if you have questions, comments or corrections.
+
This entry in the proc directory is readable by all users but only
writable by root.
+The ppc_htab interface is a user level way of accessing the
+performance monitoring registers as well as providing information
+about the PTE hash table.
1. Reading
Reading this file will give you information about the memory management
hash table that serves as an extended tlb for page translation on the
- powerpc.
+ powerpc. It will also give you information about performance measurement
+ specific to the cpu that you are using.
- Explaination of the fields:
+ Explanation of the 604 Performance Monitoring Fields:
+ MMCR0 - the current value of the MMCR0 register
+ PMC1
+ PMC2 - the value of the performance counters and a
+ description of what events they are counting
+ which are based on MMCR0 bit settings.
+ Explanation of the PTE Hash Table fields:
Size - hash table size in Kb.
Buckets - number of buckets in the table.
- Addess - the virtual kernel address of the hash table base.
+ Address - the virtual kernel address of the hash table base.
Entries - the number of ptes that can be stored in the hash table.
User/Kernel - how many pte's are in use by the kernel or user at that time.
Overflows - How many of the entries are in their secondary hash location.
Percent full - ratio of free pte entries to in use entries.
+ Reloads - Count of how many hash table misses have occurred
+ that were fixed with a reload from the linux tables.
+ Should always be 0 on 603 based machines.
+ Non-error Misses - Count of how many hash table misses have occurred
+ that were completed with the creation of a pte in the linux
+ tables with a call to do_page_fault().
+ Error Misses - Number of misses due to errors such as bad address
+ and permission violations. This includes kernel access of
+ bad user addresses that are fixed up by the trap handler.
Note that calculation of the data displayed from /proc/ppc_htab takes
a long time and spends a great deal of time in the kernel. It would
@@ -30,21 +52,70 @@ writable by root.
2. Writing
- Writing to ppc_htab is not yet allowed.
+ Writing to the ppc_htab allows you to change the characteristics of
+ the powerpc PTE hash table and setup performance monitoring.
+
+ Resizing the PTE hash table is not enabled right now due to many
+ complications with moving the hash table, rehashing the entries
+ and many many SMP issues that would have to be dealt with.
Write options to ppc_htab:
- To set the size of the hash table to 64Kb:
- echo 'size 64' > /dev/ppc_htab
+ echo 'size 64' > /proc/ppc_htab
The size must be a multiple of 64 and must be greater than or equal to
64.
+ - To turn off performance monitoring:
+
+ echo 'off' > /proc/ppc_htab
+
+ - To reset the counters without changing what they're counting:
+
+ echo 'reset' > /proc/ppc_htab
+
+ Note that counting will continue after the reset if it is enabled.
+
+ - To count only events in user mode or only in kernel mode:
+
+ echo 'user' > /proc/ppc_htab
+ ...or...
+ echo 'kernel' > /proc/ppc_htab
+
+ Note that these two options are exclusive of one another and the
+ lack of either of these options counts user and kernel.
+ Using 'reset' and 'off' reset these flags.
+
+ - The 604 has 2 performance counters which can each count events from
+ a specific set of events. These sets are disjoint so it is not
+ possible to count _any_ combination of 2 events. One event can
+ be counted by PMC1 and one by PMC2.
+
+ To start counting a particular event use:
+
+ echo 'event' > /proc/ppc_htab
+ and choose from these events:
+ PMC1
+ ----
+ 'ic miss' - instruction cache misses
+ 'dtlb' - data tlb misses (not hash table misses)
+ PMC2
+ ----
+ 'dc miss' - data cache misses
+ 'itlb' - instruction tlb misses (not hash table misses)
+ 'load miss time' - cycles to complete a load miss
+3. Bugs
+ Doing a 'less' or 'more' on ppc_htab results in a segmentation violation.
+ I'm not sure of the cause but in the mean time 'cat' works adequately for
+ reading the file.
+ The PMC1 and PMC2 counters can overflow and give no indication of that
+ in /proc/ppc_htab.
diff --git a/Documentation/powerpc/sound.txt b/Documentation/powerpc/sound.txt
new file mode 100644
index 000000000..c0acf6a7b
--- /dev/null
+++ b/Documentation/powerpc/sound.txt
@@ -0,0 +1,57 @@
+ Information about PowerPC Sound support
+=====================================================================
+
+Please mail me me (Cort Dougan, cort@cs.nmt.edu) if you have questions,
+comments or corrections.
+
+This just covers sound on the PReP systems for now, and later will
+contain information on the PowerMac's.
+
+Sound has been tested and is working with the PowerStack and IBM Power
+Series onboard sound systems which are based on the cs4231(2) chip.
+The sound options when doing the make config are a bit different from the
+default, though.
+
+The I/O base, irq and dma lines that you enter during the make config
+are ignored and are set when booting according to the machine type.
+This is so that one binary can be used for Motorola and IBM machines
+which use different values and isn't allowed by the driver, so things are
+hacked together in such a way as to allow this information to be set
+automatically on boot.
+
+1. PowerStack
+
+ Enable support for "Crystal CS4232 based (PnP) cards". Although the
+ options you set are ignored and determined automatically on boot these
+ are included for information only:
+
+ (830) CS4232 audio I/O base 530, 604, E80 or F40
+ (10) CS4232 audio IRQ 5, 7, 9, 11, 12 or 15
+ (6) CS4232 audio DMA 0, 1 or 3
+ (7) CS4232 second (duplex) DMA 0, 1 or 3
+
+ This will allow simultaneous record and playback, as 2 different dma
+ channels are used.
+
+ Midi is not supported since the cs4232 driver doesn't support midi yet.
+
+2. IBM machines
+
+ I've only tested sound on the Power Personal Series of IBM workstations
+ so if you try it on others please let me know the result.
+
+ Enable support for "Crystal CS4232 based (PnP) cards". Although the
+ options you set are ignored and determined automatically on boot these
+ are included for information only:
+
+ (530) CS4232 audio I/O base 530, 604, E80 or F40
+ (5) CS4232 audio IRQ 5, 7, 9, 11, 12 or 15
+ (1) CS4232 audio DMA 0, 1 or 3
+ (7) CS4232 second (duplex) DMA 0, 1 or 3
+ (330) CS4232 MIDI I/O base 330, 370, 3B0 or 3F0
+ (9) CS4232 MIDI IRQ 5, 7, 9, 11, 12 or 15
+
+ This setup does _NOT_ allow for recording yet.
+
+ Midi is not supported since the cs4232 driver doesn't support midi yet.
+
diff --git a/Documentation/svga.txt b/Documentation/svga.txt
index 8239708f3..aa8f10602 100644
--- a/Documentation/svga.txt
+++ b/Documentation/svga.txt
@@ -7,10 +7,7 @@
This small document describes the "Video Mode Selection" feature which
allows to use various special video modes supported by the video BIOS. Due
to usage of the BIOS, the selection is limited to the boot time (before the
-kernel decompression starts and works only on 80X86 machines.
-
- IF YOU USE THIS FEATURE, I'LL BE MUCH PLEASED IF YOU SEND ME A MAIL
-DESCRIBING YOUR EXPERIENCE WITH IT. BUG REPORTS ARE ALSO WELCOME.
+kernel decompression starts) and works only on 80X86 machines.
The video mode to be used is selected by a kernel parameter which can be
specified in the kernel Makefile (the SVGA_MODE=... line) or by the "vga=..."