summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2001-04-05 04:55:58 +0000
committerRalf Baechle <ralf@linux-mips.org>2001-04-05 04:55:58 +0000
commit74a9f2e1b4d3ab45a9f72cb5b556c9f521524ab3 (patch)
tree7c4cdb103ab1b388c9852a88bd6fb1e73eba0b5c /Documentation
parentee6374c8b0d333c08061c6a97bc77090d7461225 (diff)
Merge with Linux 2.4.3.
Note that mingetty does no longer work with serial console, you have to switch to another getty like getty_ps. This commit also includes a fix for a setitimer bug which did prevent getty_ps from working on older kernels.
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/Changes4
-rw-r--r--Documentation/Configure.help268
-rw-r--r--Documentation/DMA-mapping.txt31
-rw-r--r--Documentation/DocBook/kernel-api.tmpl12
-rw-r--r--Documentation/SAK.txt88
-rw-r--r--Documentation/arm/SA1100/Brutus2
-rw-r--r--Documentation/binfmt_misc.txt4
-rw-r--r--Documentation/cachetlb.txt14
-rw-r--r--Documentation/dnotify.txt2
-rw-r--r--Documentation/i810_rng.txt123
-rw-r--r--Documentation/ioctl-number.txt1
-rw-r--r--Documentation/isdn/00-INDEX2
-rw-r--r--Documentation/isdn/INTERFACE4
-rw-r--r--Documentation/isdn/README.eicon13
-rw-r--r--Documentation/isdn/README.hysdn2
-rw-r--r--Documentation/kernel-doc-nano-HOWTO.txt5
-rw-r--r--Documentation/kernel-parameters.txt12
-rw-r--r--Documentation/networking/8139too.txt65
-rw-r--r--Documentation/networking/cs89x0.txt19
-rw-r--r--Documentation/networking/ip-sysctl.txt24
-rw-r--r--Documentation/networking/tlan.txt18
-rw-r--r--Documentation/networking/tulip.txt11
-rw-r--r--Documentation/networking/vortex.txt106
-rw-r--r--Documentation/parport.txt6
-rw-r--r--Documentation/powerpc/ppc_htab.txt2
-rw-r--r--Documentation/powerpc/smp.txt2
-rw-r--r--Documentation/powerpc/sound.txt2
-rw-r--r--Documentation/powerpc/zImage_layout.txt2
-rw-r--r--Documentation/s390/cds.txt8
-rw-r--r--Documentation/sysctl/vm.txt2
-rw-r--r--Documentation/sysrq.txt2
-rw-r--r--Documentation/usb/usb-serial.txt22
-rw-r--r--Documentation/vm/locking36
33 files changed, 759 insertions, 155 deletions
diff --git a/Documentation/Changes b/Documentation/Changes
index f11549a71..1cbf8f627 100644
--- a/Documentation/Changes
+++ b/Documentation/Changes
@@ -54,7 +54,7 @@ o binutils 2.9.1.0.25 # ld -v
o util-linux 2.10o # fdformat --version
o modutils 2.4.2 # insmod -V
o e2fsprogs 1.19 # tune2fs
-o reiserfsprogs 3.x.0b # reiserfsck 2>&1|grep reiserfsprogs
+o reiserfsprogs 3.x.0d # reiserfsck 2>&1|grep reiserfsprogs
o pcmcia-cs 3.1.21 # cardmgr -V
o PPP 2.4.0 # pppd --version
o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version
@@ -316,7 +316,7 @@ o <ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/e2fsprogs-1.19.src.
Reiserfsprogs
-------------
-o <ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfs_utils-3.6.25-fsck-3.x.0b.tar.gz>
+o <ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.x.0d.tar.gz>
LVM toolset
-----------
diff --git a/Documentation/Configure.help b/Documentation/Configure.help
index 0f39d413e..a8b22d1e7 100644
--- a/Documentation/Configure.help
+++ b/Documentation/Configure.help
@@ -1501,15 +1501,6 @@ CONFIG_MD_RAID0
If unsure, say Y.
-RAID-1/RAID-5 code (DANGEROUS)
-CONFIG_RAID15_DANGEROUS
- This new RAID1/RAID5 code has been freshly merged, and has not seen
- enough testing yet. While there are no known bugs in it, it might
- destroy your filesystems, eat your data and start World War III.
- You have been warned.
-
- If unsure, say N.
-
RAID-1 (mirroring) mode
CONFIG_MD_RAID1
A RAID-1 set consists of several disk drives which are exact copies
@@ -2016,6 +2007,40 @@ CONFIG_IP_NF_TARGET_MARK
If you want to compile it as a module, say M here and read
Documentation/modules.txt. If unsure, say `N'.
+TCPMSS target support
+CONFIG_IP_NF_TARGET_TCPMSS
+ This option adds a `TCPMSS' target, which allows you to alter the
+ MSS value of TCP SYN packets, to control the maximum size for that
+ connection (usually limiting it to your outgoing interface's MTU
+ minus 40).
+
+ This is used to overcome criminally braindead ISPs or servers which
+ block ICMP Fragmentation Needed packets. The symptoms of this
+ problem are that everything works fine from your Linux
+ firewall/router, but machines behind it can never exchange large
+ packets:
+ 1) Web browsers connect, then hang with no data received.
+ 2) Small mail works fine, but large emails hang.
+ 3) ssh works fine, but scp hangs after initial handshaking.
+
+ Workaround: activate this option and add a rule to your firewall
+ configuration like:
+
+ iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
+ -j TCPMSS --clamp-mss-to-pmtu
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+tcpmss match support
+CONFIG_IP_NF_MATCH_TCPMSS
+ This option adds a `tcpmss' match, which allows you to examine the
+ MSS value of TCP SYN packets, which control the maximum packet size
+ for that connection.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
LOG target support
CONFIG_IP_NF_TARGET_LOG
This option adds a `LOG' target, which allows you to create rules in
@@ -2046,6 +2071,73 @@ CONFIG_IP_NF_COMPAT_IPFWADM
If you want to compile it as a module, say M here and read
Documentation/modules.txt. If unsure, say `N'.
+IP6 tables support (required for filtering/masq/NAT)
+CONFIG_IP6_NF_IPTABLES
+ ip6tables is a general, extensible packet identification framework.
+ Currently only the packet filtering and packet mangling subsystem
+ for IPv6 use this, but connection tracking is going to follow.
+ Say 'Y' or 'M' here if you want to use either of those.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+IPv6 limit match support
+CONFIG_IP6_NF_MATCH_LIMIT
+ limit matching allows you to control the rate at which a rule can be
+ matched: mainly useful in combination with the LOG target ("LOG
+ target support", below) and to avoid some Denial of Service attacks.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+MAC address match support
+CONFIG_IP6_NF_MATCH_MAC
+ mac matching allows you to match packets based on the source
+ ethernet address of the packet.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+netfilter mark match support
+CONFIG_IP6_NF_MATCH_MARK
+ Netfilter mark matching allows you to match packets based on the
+ `nfmark' value in the packet. This can be set by the MARK target
+ (see below).
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+Packet filtering
+CONFIG_IP6_NF_FILTER
+ Packet filtering defines a table `filter', which has a series of
+ rules for simple packet filtering at local input, forwarding and
+ local output. See the man page for iptables(8).
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+Packet mangling
+CONFIG_IP6_NF_MANGLE
+ This option adds a `mangle' table to iptables: see the man page for
+ iptables(8). This table is used for various packet alterations
+ which can effect how the packet is routed.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+MARK target support
+CONFIG_IP6_NF_TARGET_MARK
+ This option adds a `MARK' target, which allows you to create rules
+ in the `mangle' table which alter the netfilter mark (nfmark) field
+ associated with the packet packet prior to routing. This can change
+ the routing method (see `IP: use netfilter MARK value as routing
+ key') and can also be used by other subsystems to change their
+ behavior.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+
TCP Explicit Congestion Notification support
CONFIG_INET_ECN
Explicit Congestion Notification (ECN) allows routers to notify
@@ -5496,6 +5588,45 @@ CONFIG_SCSI_AHA1740
Adaptec AIC7xxx chipset SCSI controller support
CONFIG_SCSI_AIC7XXX
+ This driver supports all of Adaptec's PCI based SCSI controllers (not
+ the hardware RAID controllers though) as well as the aic7770 based
+ EISA and VLB SCSI controllers (the 274x and 284x series). This is
+ an Adaptec sponsored driver written by Justin Gibbs. It is intended
+ to replace the previous aic7xxx driver maintained by Doug Ledford since
+ Doug is no longer maintaining that driver.
+
+Default number of TCQ commands per device
+CONFIG_AIC7XXX_CMDS_PER_DEVICE
+ Specify the number of commands you would like to allocate per SCSI
+ device when Tagged Command Queueing (TCQ) is enabled on that device.
+
+ This is an upper bound value for the number of tagged transactions
+ to be used for any device. The aic7xxx driver will automatically
+ vary this number based on device behavior. For devices with a
+ fixed maximum, the driver will eventually lock to this maximum
+ and display a console message inidicating this value.
+
+ Note: Unless you experience some type of device failure, the default
+ value, no enforced limit, should work for you.
+
+ Default: 253
+
+Initial Bus Reset Settle Delay
+CONFIG_AIC7XXX_RESET_DELAY
+ The number of milliseconds to delay after an initial bus reset.
+ The bus settle delay following all error recovery actions is
+ dictated by the SCSI layer and is not affected by this value.
+
+ Default: 5000 (5 seconds)
+
+Old Adaptec AIC7xxx chipset SCSI controller support
+CONFIG_SCSI_AIC7XXX_OLD
+ WARNING This driver is an older aic7xxx driver and is no longer under
+ active development. Adaptec, Inc. is writing a new driver to take the
+ place of this one, and it is recommended that whenever possible, people
+ should use the new Adaptec written driver instead of this one. This
+ driver will eventually be phased out entirely.
+
This is support for the various aic7xxx based Adaptec SCSI
controllers. These include the 274x EISA cards; 284x VLB cards;
2902, 2910, 293x, 294x, 394x, 3985 and several other PCI and
@@ -5517,7 +5648,7 @@ CONFIG_SCSI_AIC7XXX
Information on the configuration options for this controller can be
found by checking the help file for each of the available
- configuration options. You should read drivers/scsi/README.aic7xxx
+ configuration options. You should read drivers/scsi/aic7xxx_old/README.aic7xxx
at a minimum before contacting the maintainer with any questions.
The SCSI-HOWTO, available from
http://www.linuxdoc.org/docs.html#howto , can also be of great
@@ -5526,10 +5657,10 @@ CONFIG_SCSI_AIC7XXX
If you want to compile this driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read Documentation/modules.txt. The module will be
- called aic7xxx.o.
+ called aic7xxx_old.o.
Enable or Disable Tagged Command Queueing by default
-CONFIG_AIC7XXX_TCQ_ON_BY_DEFAULT
+CONFIG_AIC7XXX_OLD_TCQ_ON_BY_DEFAULT
This option causes the aic7xxx driver to attempt to use Tagged
Command Queueing (TCQ) on all devices that claim to support it.
@@ -5563,7 +5694,7 @@ CONFIG_AIC7XXX_TCQ_ON_BY_DEFAULT
reduce performance.
Default number of TCQ commands per device
-CONFIG_AIC7XXX_CMDS_PER_DEVICE
+CONFIG_AIC7XXX_OLD_CMDS_PER_DEVICE
Specify the number of commands you would like to allocate per SCSI
device when Tagged Command Queueing (TCQ) is enabled on that device.
@@ -5584,7 +5715,7 @@ CONFIG_AIC7XXX_CMDS_PER_DEVICE
Default: 8
Collect statistics to report in /proc
-CONFIG_AIC7XXX_PROC_STATS
+CONFIG_AIC7XXX_OLD_PROC_STATS
This option tells the driver to keep track of how many commands have
been sent to each particular device and report that information to
the user via the /proc/scsi/aic7xxx/n file, where n is the number of
@@ -5596,21 +5727,6 @@ CONFIG_AIC7XXX_PROC_STATS
If unsure, say N.
-Delay in seconds after SCSI bus reset
-CONFIG_AIC7XXX_RESET_DELAY
- This sets how long the driver will wait after resetting the SCSI bus
- before attempting to communicate with the devices on the SCSI bus
- again. This delay will be used during the reset phase at bootup time
- as well as after any reset that might occur during normal operation.
- Reasonable numbers range anywhere from 5 to 15 seconds depending on
- your devices. DAT tape drives are notorious for needing more time
- after a bus reset to be ready for the next command, but most hard
- drives and CD-ROM devices are ready in only a few seconds. This
- option has a maximum upper limit of 20 seconds to avoid bad
- interactions between the aic7xxx driver and the rest of the Linux
- kernel. The default value has been reduced to 5 seconds. If this
- doesn't work with your hardware, try increasing this value.
-
IBM ServeRAID Support
CONFIG_SCSI_IPS
This is support for the IBM ServeRAID hardware RAID controllers.
@@ -7385,6 +7501,24 @@ CONFIG_NET_PCMCIA_RADIO
location). You also want to check out the PCMCIA-HOWTO, available
from http://www.linuxdoc.org/docs.html#howto .
+Hermes support (Orinoco/WavelanIEEE/PrismII/Symbol 802.11b cards)
+CONFIG_PCMCIA_HERMES
+ A driver for "Hermes" chipset based PCMCIA wireless adaptors, such
+ as the Lucent WavelanIEEE/Orinoco cards and their OEM (Cabletron/
+ EnteraSys RoamAbout 802.11, ELSA Airlancer, Melco Buffalo and others).
+ It should also be usable on various Prism II based cards such as the
+ Linksys, D-Link and Farallon Skyline. It should also work on Symbol
+ cards such as the 3Com AirConnect and Ericsson WLAN.
+
+ To use your PC-cards, you will need supporting software from David
+ Hinds' pcmcia-cs package (see the file Documentation/Changes for
+ location). You also want to check out the PCMCIA-HOWTO, available
+ from http://www.linuxdoc.org/docs.html#howto .
+
+ You will also very likely also need the Wireless Tools in order to
+ configure your card and that /etc/pcmcia/wireless.opts works :
+ http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
+
Aviator/Raytheon 2.4MHz wireless support
CONFIG_PCMCIA_RAYCS
Say Y here if you intend to attach an Aviator/Raytheon PCMCIA
@@ -8417,22 +8551,6 @@ CONFIG_NI65
module, say M here and read Documentation/modules.txt as well as
Documentation/networking/net-modules.txt.
-RealTek 8129 (not 8019/8029/8139!) support (EXPERIMENTAL)
-CONFIG_RTL8129
- This is NOT for RTL-8139 cards. Instead, select the 8139too driver
- (CONFIG_8139TOO).
- This is a driver for the Fast Ethernet PCI network cards based on
- the RTL8129 chip. If you have one of those, say Y and
- read the Ethernet-HOWTO, available from
- http://www.linuxdoc.org/docs.html#howto .
-
- Note: the 8029 is a NE2000 PCI clone, you can use the NE2K-PCI driver.
-
- If you want to compile this driver as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want),
- say M here and read Documentation/modules.txt. This is recommended.
- The module will be called rtl8129.o.
-
RealTek RTL-8139 PCI Fast Ethernet Adapter support
CONFIG_8139TOO
This is a driver for the Fast Ethernet PCI network cards based on
@@ -8445,6 +8563,26 @@ CONFIG_8139TOO
say M here and read Documentation/modules.txt. This is recommended.
The module will be called 8139too.o.
+Use PIO instead of MMIO
+CONFIG_8139TOO_PIO
+ This instructs the driver to use programmed I/O ports (PIO) instead
+ of PCI shared memory (MMIO). This can possibly solve some problems in
+ case your mainboard has memory consistency issues. If unsure, say N.
+
+Support for automatic channel equalization (EXPERIMENTAL)
+CONFIG_8139TOO_TUNE_TWISTER
+ This implements a function which might come in handy in case you are
+ using low quality on long cabling. It tries to match the transceiver
+ to the cable characteristics. This is experimental since hardly
+ documented by the manufacturer. If unsure, say N.
+
+Support for older RTL-8129/8130 boards
+CONFIG_8139TOO_8129
+ This enables support for the older and uncommon RTL-8129 and
+ RTL-8130 chips, which support MII via an external transceiver, instead
+ of an internal one. Disabling this option will save some memory
+ by making the code size smaller. If unsure, say Y.
+
SiS 900 PCI Fast Ethernet Adapter support
CONFIG_SIS900
This is a driver for the Fast Ethernet PCI network cards based on
@@ -8508,7 +8646,7 @@ CONFIG_ADAPTEC_STARFIRE
If you want to compile this driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read Documentation/modules.txt. This is recommended.
- The module will be called starfile.o.
+ The module will be called starfire.o.
Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit support
CONFIG_ACENIC
@@ -9426,7 +9564,7 @@ CONFIG_IBMOL
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 will be called olympic.o. If you want to compile it
+ The module will be called olympic.o. If you want to compile it
as a module, say M here and read Documentation/modules.txt.
Also read the file Documentation/networking/olympic.txt or check the
@@ -9466,7 +9604,7 @@ CONFIG_TMS380TR
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 will be called tms380tr.o. If you want to compile it
+ The module will be called tms380tr.o. If you want to compile it
as a module, say M here and read Documentation/modules.txt.
Generic TMS380 PCI support
@@ -9481,7 +9619,7 @@ CONFIG_TMSPCI
This driver is available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
- The module will will be called tmspci.o. If you want to compile it
+ The module will be called tmspci.o. If you want to compile it
as a module, say M here and read Documentation/modules.txt.
Madge Smart 16/4 PCI Mk2 support
@@ -9491,7 +9629,7 @@ CONFIG_ABYSS
This driver is available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
- The module will will be called abyss.o. If you want to compile it
+ The module will be called abyss.o. If you want to compile it
as a module, say M here and read Documentation/modules.txt.
Madge Smart 16/4 Ringode MicroChannel
@@ -9501,7 +9639,7 @@ CONFIG_MADGEMC
This driver is available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
- The module will will be called madgemc.o. If you want to compile it
+ The module will be called madgemc.o. If you want to compile it
as a module, say M here and read Documentation/modules.txt.
SMC ISA TokenRing adapter support
@@ -9517,7 +9655,7 @@ CONFIG_SMCTR
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 will be called smctr.o. If you want to compile it
+ The module will be called smctr.o. If you want to compile it
as a module, say M here and read Documentation/modules.txt.
Sun Happy Meal 10/100baseT support
@@ -10542,6 +10680,32 @@ CONFIG_USB_SERIAL_MCT_U232
The module will be called mct_u232.o. If you want to compile it as
a module, say M here and read Documentation/modules.txt.
+USB Edgeport Serial Driver
+CONFIG_USB_SERIAL_EDGEPORT
+ Say Y here if you want to use any of the following devices from
+ Inside Out Networks (Digi):
+ Edgeport/4
+ Rapidport/4
+ Edgeport/4t
+ Edgeport/2
+ Edgeport/4i
+ Edgeport/2i
+ Edgeport/421
+ Edgeport/21
+ Edgeport/8
+ Edgeport/8 Dual
+ Edgeport/2D8
+ Edgeport/4D8
+ Edgeport/8i
+ Edgeport/2 DIN
+ Edgeport/4 DIN
+ Edgeport/16 Dual
+
+ This code 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 io_edgeport.o. If you want to compile it
+ as a module, say M here and read Documentation/modules.txt.
+
USB Serial Converter verbose debug
CONFIG_USB_SERIAL_DEBUG
Say Y here if you want verbose debug messages from the USB Serial
diff --git a/Documentation/DMA-mapping.txt b/Documentation/DMA-mapping.txt
index b59a97dd1..daee34c11 100644
--- a/Documentation/DMA-mapping.txt
+++ b/Documentation/DMA-mapping.txt
@@ -59,7 +59,7 @@ In the failure case, you have two options:
1) Use some non-DMA mode for data transfer, if possible.
2) Ignore this device and do not initialize it.
-It is recommended that your driver print a kernel KERN_WARN message
+It is recommended that your driver print a kernel KERN_WARNING message
when you do one of these two things. In this manner, if a user of
your driver reports that performance is bad or that the device is not
even detected, you can ask him for the kernel messages to find out
@@ -71,12 +71,35 @@ address during PCI bus mastering you might do something like:
if (! pci_dma_supported(pdev, 0x00ffffff))
goto ignore_this_device;
+When DMA is possible for a given mask, the PCI layer must be informed of the
+mask for later allocation operations on the device. This is achieved by
+setting the dma_mask member of the pci_dev structure, like so:
+
+#define MY_HW_DMA_MASK 0x00ffffff
+
+ if (! pci_dma_supported(pdev, MY_HW_DMA_MASK))
+ goto ignore_this_device;
+
+ pdev->dma_mask = MY_HW_DMA_MASK;
+
+A helper function is provided which performs this common code sequence:
+
+ int pci_set_dma_mask(struct pci_dev *pdev, dma_addr_t device_mask)
+
+Unlike pci_dma_supported(), this returns -EIO when the PCI layer will not be
+able to DMA with addresses restricted by that mask, and returns 0 when DMA
+transfers are possible. If the call succeeds, the dma_mask will have been
+updated so that your driver need not worry about it.
+
There is a case which we are aware of at this time, which is worth
mentioning in this documentation. If your device supports multiple
functions (for example a sound card provides playback and record
functions) and the various different functions have _different_
DMA addressing limitations, you may wish to probe each mask and
-only provide the functionality which the machine can handle.
+only provide the functionality which the machine can handle. It
+is important that the last call to pci_set_dma_mask() be for the
+most specific mask.
+
Here is pseudo-code showing how this might be done:
#define PLAYBACK_ADDRESS_BITS 0xffffffff
@@ -86,14 +109,14 @@ Here is pseudo-code showing how this might be done:
struct pci_dev *pdev;
...
- if (pci_dma_supported(pdev, PLAYBACK_ADDRESS_BITS)) {
+ if (pci_set_dma_mask(pdev, PLAYBACK_ADDRESS_BITS)) {
card->playback_enabled = 1;
} else {
card->playback_enabled = 0;
printk(KERN_WARN "%s: Playback disabled due to DMA limitations.\n",
card->name);
}
- if (pci_dma_supported(pdev, RECORD_ADDRESS_BITS)) {
+ if (pci_set_dma_mask(pdev, RECORD_ADDRESS_BITS)) {
card->record_enabled = 1;
} else {
card->record_enabled = 0;
diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl
index a593487ef..bb72e432c 100644
--- a/Documentation/DocBook/kernel-api.tmpl
+++ b/Documentation/DocBook/kernel-api.tmpl
@@ -34,6 +34,18 @@
</bookinfo>
<toc></toc>
+
+ <chapter id="Basics">
+ <title>Driver Basic</title>
+ <sect1><title>Driver Entry and Exit points</title>
+!Iinclude/linux/init.h
+ </sect1>
+
+ <sect1><title>Atomics</title>
+!Iinclude/asm-i386/atomic.h
+ </sect1>
+ </chapter>
+
<chapter id="adt">
<title>Data Types</title>
<sect1><title>Doubly Linked Lists</title>
diff --git a/Documentation/SAK.txt b/Documentation/SAK.txt
new file mode 100644
index 000000000..9be5a227b
--- /dev/null
+++ b/Documentation/SAK.txt
@@ -0,0 +1,88 @@
+Linux 2.4.2 Secure Attention Key (SAK) handling
+18 March 2001, Andrew Morton <andrewm@uow.edu.au>
+
+An operating system's Secure Attention Key is a security tool which is
+provided as protection against trojan password capturing programs. It
+is an undefeatable way of killing all programs which could be
+masquerading as login applications. Users need to be taught to enter
+this key sequence before they log in to the system.
+
+From the PC keyboard, Linux has two similar but different ways of
+providing SAK. One is the ALT-SYSRQ-K sequence. You shouldn't use
+this sequence. It is only available if the kernel was compiled with
+sysrq support.
+
+The proper way of generating a SAK is to define the key sequence using
+`loadkeys'. This will work whether or not sysrq support is compiled
+into the kernel.
+
+SAK works correctly when the keyboard is in raw mode. This means that
+once defined, SAK will kill a running X server. If the system is in
+run level 5, the X server will restart. This is what you want to
+happen.
+
+What key sequence should you use? Well, CTRL-ALT-DEL is used to reboot
+the machine. CTRL-ALT-BACKSPACE is magical to the X server. We'll
+choose CTRL-ALT-PAUSE.
+
+In your rc.sysinit (or rc.local) file, add the command
+
+ echo "control alt keycode 101 = SAK" | /bin/loadkeys
+
+And that's it! Only the superuser may reprogram the SAK key.
+
+
+NOTES
+=====
+
+1: Linux SAK is said to be not a "true SAK" as is required by
+ systems which implement C2 level security. This author does not
+ know why.
+
+
+2: On the PC keyboard, SAK kills all applications which have
+ /dev/console opened.
+
+ Unfortunately this includes a number of things which you don't
+ actually want killed. This is because these appliccaitons are
+ incorrectly holding /dev/console open. Be sure to complain to your
+ Linux distributor about this!
+
+ You can identify processes which will be killed by SAK with the
+ command
+
+ # ls -l /proc/[0-9]*/fd/* | grep console
+ l-wx------ 1 root root 64 Mar 18 00:46 /proc/579/fd/0 -> /dev/console
+
+ Then:
+
+ # ps aux|grep 579
+ root 579 0.0 0.1 1088 436 ? S 00:43 0:00 gpm -t ps/2
+
+ So `gpm' will be killed by SAK. This is a bug in gpm. It should
+ be closing standard input. You can work around this by finding the
+ initscript which launches gpm and changing it thusly:
+
+ Old:
+
+ daemon gpm
+
+ New:
+
+ daemon gpm < /dev/null
+
+ Vixie cron also seems to have this problem, and needs the same treatment.
+
+ Also, one prominent Linux distribution has the following three
+ lines in its rc.sysinit and rc scripts:
+
+ exec 3<&0
+ exec 4>&1
+ exec 5>&2
+
+ These commands cause *all* daemons which are launched by the
+ initscripts to have file descriptors 3, 4 and 5 attached to
+ /dev/console. So SAK kills them all. A workaround is to simply
+ delete these lines, but this may cause system management
+ applications to malfunction - test everything well.
+
diff --git a/Documentation/arm/SA1100/Brutus b/Documentation/arm/SA1100/Brutus
index d5dc916e3..98373152f 100644
--- a/Documentation/arm/SA1100/Brutus
+++ b/Documentation/arm/SA1100/Brutus
@@ -3,7 +3,7 @@ For more details, see:
http://developer.intel.com/design/strong/applnots/sa1100lx/getstart.htm
-To compile for Brutus, you must issue the following comands:
+To compile for Brutus, you must issue the following commands:
make brutus_config
make config
diff --git a/Documentation/binfmt_misc.txt b/Documentation/binfmt_misc.txt
index 1f405c589..e8e2d7f8d 100644
--- a/Documentation/binfmt_misc.txt
+++ b/Documentation/binfmt_misc.txt
@@ -81,6 +81,6 @@ unexpected behaviour and be a security hazard.
There is a web page about binfmt_misc at
-http://www.anatom.uni-tuebingen.de/~richi/linux/binfmt_misc.html
+http://www.tat.physik.uni-tuebingen.de/~rguenth/linux/binfmt_misc.html
-Richard Günther, richard.guenther@student.uni-tuebingen.de
+Richard Günther <rguenth@tat.physik.uni-tuebingen.de>
diff --git a/Documentation/cachetlb.txt b/Documentation/cachetlb.txt
index c47cd632d..dd8a5e4ab 100644
--- a/Documentation/cachetlb.txt
+++ b/Documentation/cachetlb.txt
@@ -229,9 +229,9 @@ other cases. Please keep in mind that fact that, for a given page
mapped into some user address space, there is always at least one more
mapping, that of the kernel in it's linear mapping starting at
PAGE_OFFSET. So immediately, once the first user maps a given
-physical page into it's address space, by implication the D-cache
+physical page into its address space, by implication the D-cache
aliasing problem has the potential to exist since the kernel already
-maps this page at it's virtual address.
+maps this page at its virtual address.
First, I describe the old method to deal with this problem. I am
describing it for documentation purposes, but it is deprecated and the
@@ -252,11 +252,11 @@ existing ports should move over to the new mechanism as well.
Admittedly, the author did not think very much when designing this
interface. It does not give the architecture enough information about
-what exactly is going on, and there is not context with which to base
-any judgment about whether an alias is possible at all. The new
-interfaces to deal with D-cache aliasing are meant to address this by
-telling the architecture specific code exactly which is going on at
-the proper points in time.
+what exactly is going on, and there is no context to base a judgment
+on about whether an alias is possible at all. The new interfaces to
+deal with D-cache aliasing are meant to address this by telling the
+architecture specific code exactly which is going on at the proper points
+in time.
Here is the new interface:
diff --git a/Documentation/dnotify.txt b/Documentation/dnotify.txt
index 9f8611803..99394a08e 100644
--- a/Documentation/dnotify.txt
+++ b/Documentation/dnotify.txt
@@ -28,7 +28,7 @@ By default, SIGIO will be delivered to the process and no other useful
information. However, if the F_SETSIG fcntl(2) call is used to let the
kernel know which signal to deliver, a siginfo structure will be passed to
the signal handler and the si_fd member of that structure will contain the
-file descriptor associated with the direcory in which the event occured.
+file descriptor associated with the directory in which the event occurred.
Preferably the application will choose one of the real time signals
(SIGRTMIN + <n>) so that the notifications may be queued. This is
diff --git a/Documentation/i810_rng.txt b/Documentation/i810_rng.txt
new file mode 100644
index 000000000..8a10b7e08
--- /dev/null
+++ b/Documentation/i810_rng.txt
@@ -0,0 +1,123 @@
+ Hardware driver for Intel i810 Random Number Generator (RNG)
+ Copyright 2000,2001 Jeff Garzik <jgarzik@mandrakesoft.com>
+ Copyright 2000,2001 Philipp Rumpf <prumpf@mandrakesoft.com>
+
+Introduction:
+
+ The i810_rng device driver is software that makes use of a
+ special hardware feature on the Intel i8xx-based chipsets,
+ a Random Number Generator (RNG).
+
+ In order to make effective use of this device driver, you
+ should download the support software as well. Download the
+ latest version of the "intel-rng-tools" package from the
+ i810_rng driver's official Web site:
+
+ http://sourceforge.net/projects/gkernel/
+
+About the Intel RNG hardware, from the firmware hub datasheet:
+
+ The Firmware Hub integrates a Random Number Generator (RNG)
+ using thermal noise generated from inherently random quantum
+ mechanical properties of silicon. When not generating new random
+ bits the RNG circuitry will enter a low power state. Intel will
+ provide a binary software driver to give third party software
+ access to our RNG for use as a security feature. At this time,
+ the RNG is only to be used with a system in an OS-present state.
+
+Theory of operation:
+
+ Character driver. Using the standard open()
+ and read() system calls, you can read random data from
+ the i810 RNG device. This data is NOT CHECKED by any
+ fitness tests, and could potentially be bogus (if the
+ hardware is faulty or has been tampered with). Data is only
+ output if the hardware "has-data" flag is set, but nevertheless
+ a security-conscious person would run fitness tests on the
+ data before assuming it is truly random.
+
+ /dev/intel_rng is char device major 10, minor 183.
+
+Driver notes:
+
+ * FIXME: support poll(2)
+
+ NOTE: request_mem_region was removed, for two reasons:
+ 1) Only one RNG is supported by this driver, 2) The location
+ used by the RNG is a fixed location in MMIO-addressable memory,
+ 3) users with properly working BIOS e820 handling will always
+ have the region in which the RNG is located reserved, so
+ request_mem_region calls always fail for proper setups.
+ However, for people who use mem=XX, BIOS e820 information is
+ -not- in /proc/iomem, and request_mem_region(RNG_ADDR) can
+ succeed.
+
+Driver details:
+
+ Based on:
+ Intel 82802AB/82802AC Firmware Hub (FWH) Datasheet
+ May 1999 Order Number: 290658-002 R
+
+ Intel 82802 Firmware Hub: Random Number Generator
+ Programmer's Reference Manual
+ December 1999 Order Number: 298029-001 R
+
+ Intel 82802 Firmware HUB Random Number Generator Driver
+ Copyright (c) 2000 Matt Sottek <msottek@quiknet.com>
+
+ Special thanks to Matt Sottek. I did the "guts", he
+ did the "brains" and all the testing.
+
+Change history:
+
+ Version 0.9.5:
+ * Rip out entropy injection via timer. It never ever worked,
+ and a better solution (rngd) is now available.
+
+ Version 0.9.4:
+ * Fix: Remove request_mem_region
+ * Fix: Horrible bugs in FIPS calculation and test execution
+
+ Version 0.9.3:
+ * Clean up rng_read a bit.
+ * Update i810_rng driver Web site URL.
+ * Increase default timer interval to 4 samples per second.
+ * Abort if mem region is not available.
+ * BSS zero-initialization cleanup.
+ * Call misc_register() from rng_init_one.
+ * Fix O_NONBLOCK to occur before we schedule.
+
+ Version 0.9.2:
+ * Simplify open blocking logic
+
+ Version 0.9.1:
+ * Support i815 chipsets too (Matt Sottek)
+ * Fix reference counting when statically compiled (prumpf)
+ * Rewrite rng_dev_read (prumpf)
+ * Make module races less likely (prumpf)
+ * Small miscellaneous bug fixes (prumpf)
+ * Use pci table for PCI id list
+
+ Version 0.9.0:
+ * Don't register a pci_driver, because we are really
+ using PCI bridge vendor/device ids, and someone
+ may want to register a driver for the bridge. (bug fix)
+ * Don't let the usage count go negative (bug fix)
+ * Clean up spinlocks (bug fix)
+ * Enable PCI device, if necessary (bug fix)
+ * iounmap on module unload (bug fix)
+ * If RNG chrdev is already in use when open(2) is called,
+ sleep until it is available.
+ * Remove redundant globals rng_allocated, rng_use_count
+ * Convert numeric globals to unsigned
+ * Module unload cleanup
+
+ Version 0.6.2:
+ * Clean up spinlocks. Since we don't have any interrupts
+ to worry about, but we do have a timer to worry about,
+ we use spin_lock_bh everywhere except the timer function
+ itself.
+ * Fix module load/unload.
+ * Fix timer function and h/w enable/disable logic
+ * New timer interval sysctl
+ * Clean up sysctl names
diff --git a/Documentation/ioctl-number.txt b/Documentation/ioctl-number.txt
index 009d194ee..54fe7bd04 100644
--- a/Documentation/ioctl-number.txt
+++ b/Documentation/ioctl-number.txt
@@ -92,6 +92,7 @@ Code Seq# Include File Comments
<http://linux01.gwdg.de/~alatham/ppdd.html>
'M' all linux/soundcard.h conflict!
'M' 00-1F linux/isicom.h conflict!
+'N' 00-1F drivers/usb/scanner.h
'P' all linux/soundcard.h
'Q' all linux/soundcard.h
'R' 00-1F linux/random.h
diff --git a/Documentation/isdn/00-INDEX b/Documentation/isdn/00-INDEX
index 0f2b8e0f6..9fee5f2e5 100644
--- a/Documentation/isdn/00-INDEX
+++ b/Documentation/isdn/00-INDEX
@@ -40,4 +40,4 @@ README.x25
_ info for running X.25 over ISDN.
README.hysdn
- info on driver for Hypercope active HYSDN cards
- \ No newline at end of file
+
diff --git a/Documentation/isdn/INTERFACE b/Documentation/isdn/INTERFACE
index a82ffcc1c..e8d70fae9 100644
--- a/Documentation/isdn/INTERFACE
+++ b/Documentation/isdn/INTERFACE
@@ -1,4 +1,4 @@
-$Id: INTERFACE,v 1.15 1999/08/25 20:02:13 werner Exp $
+$Id: INTERFACE,v 1.15.8.2 2001/03/13 16:17:07 kai Exp $
Description of the Interface between Linklevel and Hardwarelevel
of isdn4linux:
@@ -481,7 +481,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id
command = ISDN_CMD_PROT_IO
arg = The lower 8 Bits define the addressed protocol as defined
- in ISDN_PTYPE..., the upper bits are used to differenciate
+ in ISDN_PTYPE..., the upper bits are used to differentiate
the protocol specific CMD.
para = protocol and function specific. See isdnif.h for detail.
diff --git a/Documentation/isdn/README.eicon b/Documentation/isdn/README.eicon
index 16dd09eb9..111409ba6 100644
--- a/Documentation/isdn/README.eicon
+++ b/Documentation/isdn/README.eicon
@@ -1,4 +1,4 @@
-$Id: README.eicon,v 1.10 2000/08/13 12:19:15 armin Exp $
+$Id: README.eicon,v 1.10.6.1 2001/02/19 10:04:59 armin Exp $
(c) 1999,2000 Armin Schindler (mac@melware.de)
(c) 1999,2000 Cytronics & Melware (info@melware.de)
@@ -100,17 +100,6 @@ Just use "eiconctrl isdnlog on" and the driver will generate
the necessary D-Channel traces for isdnlog.
-FILECHECK:
-A part of the eicon driver source code files are provided
-by Eicon Technology. In order to get the best support from Eicon,
-these files are tested with a checksum, just to know if the files
-were modified. This does *not* mean, you are not allowed to modify the
-driver. If you want to improve the driver or you fix a bug, please do
-so and let me (or Eicon) know, about the necessary changes. So
-every user knows, if the driver he uses is modified or checked with
-Eicon files. When the driver has been loaded, in the syslog you will
-find something like "verified" or "modified" right after the version.
-
Thanks to
Deutsche Mailbox Saar-Lor-Lux GmbH
diff --git a/Documentation/isdn/README.hysdn b/Documentation/isdn/README.hysdn
index f8ce775d6..94e9f902b 100644
--- a/Documentation/isdn/README.hysdn
+++ b/Documentation/isdn/README.hysdn
@@ -1,4 +1,4 @@
-$Id: README.hysdn,v 1.3 2000/08/06 09:22:51 armin Exp $
+$Id: README.hysdn,v 1.3.6.1 2001/02/10 14:41:19 kai Exp $
The hysdn driver has been written by
by Werner Cornelius (werner@isdn4linux.de or werner@titro.de)
for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver
diff --git a/Documentation/kernel-doc-nano-HOWTO.txt b/Documentation/kernel-doc-nano-HOWTO.txt
index 228a0602d..eb96562e4 100644
--- a/Documentation/kernel-doc-nano-HOWTO.txt
+++ b/Documentation/kernel-doc-nano-HOWTO.txt
@@ -57,7 +57,8 @@ format of your choice (for example, 'db2html ...').
If you want to see man pages instead, you can do this:
$ cd linux
-$ scripts/kernel-doc -man $(find -name '*.c' '*.h') | split-man.pl /tmp/man
+$ scripts/kernel-doc -man $(find -name '*.c') | split-man.pl /tmp/man
+$ scripts/kernel-doc -man $(find -name '*.h') | split-man.pl /tmp/man
Here is split-man.pl:
@@ -68,7 +69,7 @@ if ($#ARGV < 0) {
die "where do I put the results?\n";
}
-mkdir $ARGV[0],0777 or die "Can't create $ARGV[0]: $!\n";
+mkdir $ARGV[0],0777;
$state = 0;
while (<STDIN>) {
if (/^\.TH \"[^\"]*\" 4 \"([^\"]*)\"/) {
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index e1f608b84..63b0cf96a 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -188,8 +188,10 @@ running once the system is up.
es1371= [HW,SOUND]
- ether= [HW,NET] Ethernet cards parameters (iomem, irq,
- dev_name).
+ ether= [HW,NET] Ethernet cards parameters (irq,
+ base_io_addr, mem_start, mem_end, name.
+ (mem_start is often overloaded to mean something
+ different and driver-specific).
fd_mcs= [HW,SCSI]
@@ -328,7 +330,11 @@ running once the system is up.
ncr53c8xx= [HW,SCSI]
- netdev= [NET]
+ netdev= [NET] Ethernet cards parameters (irq,
+ base_io_addr, mem_start, mem_end, name.
+ (mem_start is often overloaded to mean something
+ different and driver-specific).
+ (cf: ether=)
nfsaddrs= [NFS]
diff --git a/Documentation/networking/8139too.txt b/Documentation/networking/8139too.txt
index 4a045bc48..4275ccf56 100644
--- a/Documentation/networking/8139too.txt
+++ b/Documentation/networking/8139too.txt
@@ -1,8 +1,10 @@
"8139too" Fast Ethernet driver for Linux
- Improved support for RTL-8139 10/100 Fast Ethernet adapters
+ RTL-8139, -8129, and -8130 10/100 Fast Ethernet adapters
- Copyright 2000 Jeff Garzik <jgarzik@mandrakesoft.com>
+ Copyright 2000,2001 Jeff Garzik <jgarzik@mandrakesoft.com>
+
+ http://sourceforge.net/projects/gkernel/
Architectures supported (all PCI platforms):
@@ -25,7 +27,7 @@ completely different and maintained independently of the 8139too code base.
Requirements
------------
-Kernel 2.3.41 or later.
+Kernel 2.4.3 or later.
A Fast Ethernet adapter containing an RTL8139-based chip.
@@ -95,6 +97,8 @@ Tested Adapters
AOpen ALN-325C
KTI KF-230TX
KTI KF-230TX/2
+Lantech FastNet TX
+SMC EZNET 10/100
(please add your adapter model to this list)
@@ -138,12 +142,13 @@ And thanks to every supporter free software.
Submitting Bug Reports
----------------------
Obtain and compile the modified rtl8139-diag source code from the
-8139too driver Web site. This diagnostics programs, originally
-from Donald Becker, has been modified to display all registers
-on your RTL8139 chip, not just the first 0x80.
+8139too driver Web site, http://sourceforge.net/projects/gkernel/
+This diagnostics programs, originally from Donald Becker, has been
+modified to display all registers on your RTL8139 chip, not just the
+first 0x80.
If possible, send the output of a working and broken driver with
- rtl8139-diag -mmmaaavvveefN > my-output-file.txt
+ rtl8139-diag -mmaaavvveefN > my-output-file.txt
Send "lspci -vvv" or "cat /proc/pci" output for PCI information.
@@ -180,6 +185,52 @@ suggestions welcome) (WIP)
Change History
--------------
+Version 0.9.15 - February 20, 2001
+
+* Call pci_enable_device to wake up/assign resource to device,
+ before actually using it.
+* Support wacky clone PCI ids (report from Norival Toniato Junior)
+* Text spelling corrections
+* Make sure tp->phys[] is signed
+* Always wake queue after hw restart, in tx_timeout
+* Record time of last received packet
+
+
+Version 0.9.14 - January 11, 2001
+
+* Merge some changes from Becker version 1.13:
+ * Add DFE 538TX PCI id
+ * MII read/write functions updated
+ * Cfg93[45]6 lock/unlock fix
+ * RTL-8129 (MII) support
+* Clean up spinlocking
+
+
+Version 0.9.13 - December, 2000
+
+* Clear blocked signals, avoid buffer overrun setting current->comm
+* Remove bogus PCI BAR length assertions
+* Remove unused 'debug' module parameter
+
+
+Version 0.9.12 - November 23, 2000
+
+* Kill major Tx stop/wake queue race
+* Use SET_MODULE_OWNER and fix module unload race
+* Fix cable length ("Twister") tuning
+* Proper media[] array length checking
+* Replace timer with kernel thread for twister tuning state machine
+ and media checking. Fixes mdio_xxx locking, now mdio_xxx is always
+ protected by rtnl_lock semaphore.
+* Correct some sledgehammer a.k.a. overzealous spin-locks
+* Performance: Eliminate atomic_t for Tx counters, we don't need it
+* Performance: Don't copy Tx buffer if the rare case occurs where it
+ is aligned perfectly for us.
+* Eliminate needless casting of dev->priv
+* PIO mode selection and Twister tuning are now CONFIG_xxx options
+ (though purposefully not in net/Config.in... yet)
+
+
Version 0.9.11 - October 28, 2000
* Do not fail when PIO and MMIO region lengths do not match.
diff --git a/Documentation/networking/cs89x0.txt b/Documentation/networking/cs89x0.txt
index 143c191f9..22375dcdf 100644
--- a/Documentation/networking/cs89x0.txt
+++ b/Documentation/networking/cs89x0.txt
@@ -242,13 +242,18 @@ a) If an EEPROM is present, any specified command-line parameter
b) The "io" parameter must be specified on the command-line.
-c) In case you can not re-load the driver because Linux system
- returns the "device or resource busy" message, try to re-load it by
- increment the IO port address by one. The driver will write
- commands to the IO base addresses to reset the data port pointer.
- You can specify an I/O address with an address value one greater
- than the configured address. Example, to scan for an adapter
- located at IO base 0x300, specify an IO address of 0x301.
+c) The driver's hardware probe routine is designed to avoid
+ writing to I/O space until it knows that there is a cs89x0
+ card at the written addresses. This could cause problems
+ with device probing. To avoid this behaviour, add one
+ to the `io=' module parameter. This doesn't actually change
+ the I/O address, but it is a flag to tell the driver
+ topartially initialise the hardware before trying to
+ identify the card. This could be dangerous if you are
+ not sure that there is a cs89x0 card at the provided address.
+
+ For example, to scan for an adapter located at IO base 0x300,
+ specify an IO address of 0x301.
d) The "duplex=auto" parameter is only supported for the CS8920.
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
index 419906891..ae171c4b3 100644
--- a/Documentation/networking/ip-sysctl.txt
+++ b/Documentation/networking/ip-sysctl.txt
@@ -272,6 +272,12 @@ tcp_adv_win_scale - INTEGER
if it is <= 0.
Default: 2
+tcp_rfc1337 - BOOLEAN
+ If set, the TCP stack behaves conforming to RFC1337. If unset,
+ we are not conforming to RFC, but prevent TCP TIME_WAIT
+ asassination.
+ Default: 0
+
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
@@ -285,6 +291,18 @@ ip_local_port_range - 2 INTEGERS
(i.e. by default) range 1024-4999 is enough to issue up to
2000 connections per second to systems supporting timestamps.
+ip_nonlocal_bind - BOOLEAN
+ If set, allows processes to bind() to non-local IP adresses,
+ which can be quite useful - but may break some applications.
+ Default: 0
+
+ip_dynaddr - BOOLEAN
+ If set non-zero, enables support for dynamic addresses.
+ If set to a non-zero value larger than 1, a kernel log
+ message will be printed when dynamic address rewriting
+ occurs.
+ Default: 0
+
icmp_echo_ignore_all - BOOLEAN
icmp_echo_ignore_broadcasts - BOOLEAN
If either is set to true, then the kernel will ignore either all
@@ -310,6 +328,10 @@ icmp_ignore_bogus_error_responses - BOOLEAN
Alpha 1/1024s. See the HZ define in /usr/include/asm/param.h for the exact
value on your system.
+igmp_max_memberships - INTEGER
+ Change the maximum number of multicast groups we can subscribe to.
+ Default: 20
+
conf/interface/*:
conf/all/* is special and changes the settings for all interfaces.
Change special settings per interface.
@@ -376,4 +398,4 @@ kuznet@ms2.inr.ac.ru
Updated by:
Andi Kleen
ak@muc.de
-$Id: ip-sysctl.txt,v 1.17 2000/11/06 07:15:36 davem Exp $
+$Id: ip-sysctl.txt,v 1.18 2001/03/16 06:49:20 davem Exp $
diff --git a/Documentation/networking/tlan.txt b/Documentation/networking/tlan.txt
index d513191cd..7e6aa5b20 100644
--- a/Documentation/networking/tlan.txt
+++ b/Documentation/networking/tlan.txt
@@ -1,11 +1,11 @@
(C) 1997-1998 Caldera, Inc.
(C) 1998 James Banks
-(C) 1999-2000 Torben Mathiasen <tmm@image.dk, torben.mathiasen@compaq.com>
+(C) 1999-2001 Torben Mathiasen <tmm@image.dk, torben.mathiasen@compaq.com>
-For driver information/updates visit http://tlan.kernel.dk
+For driver information/updates visit http://opensource.compaq.com
-TLAN driver for Linux, version 1.8a
+TLAN driver for Linux, version 1.14a
README
@@ -94,6 +94,16 @@ II. Driver Options
speeds with kernel-parameters.
ether=0,0,0x12,0,eth0 will force link to 100Mbps Half-Duplex.
+ 7. If you have more than one tlan adapter in your system, you can
+ use the above options on a per adapter basis. To force a 100Mbit/HD
+ link with your eth1 adapter use:
+
+ insmod tlan speed=0,100 duplex=0,1
+
+ Now eth0 will use auto-neg and eth1 will be forced to 100Mbit/HD.
+ Note that the tlan driver supports a maximum of 8 adapters.
+
+
III. Things to try if you have problems.
1. Make sure your card's PCI id is among those listed in
section I, above.
@@ -103,5 +113,5 @@ III. Things to try if you have problems.
There is also a tlan mailing list which you can join by sending "subscribe tlan"
in the body of an email to majordomo@vuser.vu.union.edu.
-There is also a tlan website at http://tlan.kernel.dk
+There is also a tlan website at http://opensource.compaq.com
diff --git a/Documentation/networking/tulip.txt b/Documentation/networking/tulip.txt
index bd104e11d..39c51e92e 100644
--- a/Documentation/networking/tulip.txt
+++ b/Documentation/networking/tulip.txt
@@ -148,6 +148,17 @@ tulip_core.c - Driver core (a.k.a. where "everything else" goes)
Version history
===============
+0.9.14 (February 20, 2000):
+* Fix PNIC problems (Manfred Spraul)
+* Add new PCI id for Accton comet
+* Support Davicom tulips
+* Fix oops in eeprom parsing
+* Enable workarounds for early PCI chipsets
+* IA64, hppa csr0 support
+* Support media types 5, 6
+* Interpret a bit more of the 21142 SROM extended media type 3
+* Add missing delay in eeprom reading
+
0.9.11 (November 3, 2000):
* Eliminate extra bus accesses when sharing interrupts (prumpf)
* Barrier following ownership descriptor bit flip (prumpf)
diff --git a/Documentation/networking/vortex.txt b/Documentation/networking/vortex.txt
index 0f86aaba3..df6ee924a 100644
--- a/Documentation/networking/vortex.txt
+++ b/Documentation/networking/vortex.txt
@@ -6,7 +6,7 @@ Andrew Morton <andrewm@uow.edu.au>
This document describes the usage and errata of the 3Com "Vortex" device
driver for Linux, 3c59x.c.
-The driver was written by Donald Becker <becker@cesdis.gsfc.nasa.gov>
+The driver was written by Donald Becker <becker@scyld.com>
Don is no longer the prime maintainer of this version of the driver.
Please report problems to one or more of:
@@ -34,6 +34,7 @@ This driver supports the following hardware:
3c900 Boomerang 10baseT
3c900 Boomerang 10Mbps Combo
3c900 Cyclone 10Mbps TPO
+ 3c900B Cyclone 10Mbps T
3c900 Cyclone 10Mbps Combo
3c900 Cyclone 10Mbps TPC
3c900B-FL Cyclone 10base-FL
@@ -116,7 +117,11 @@ options=N1,N2,N3,...
full_duplex=N1,N2,N3...
Similar to bit 9 of 'options'. Forces the corresponding card into
- full-duplex mode.
+ full-duplex mode. Please use this in preference to the `options'
+ parameter.
+
+ In fact, please don't use this at all! You're better off getting
+ autonegotiation working properly.
flow_ctrl=N1,N2,N3...
@@ -156,6 +161,33 @@ max_interrupt_work=N
is exceeded the interrupt service routine gives up and generates a
warning message "eth0: Too much work in interrupt".
+hw_checksums=N1,N2,N3,...
+
+ Recent 3com NICs are able to generate IPv4, TCP and UDP checksums
+ in hardware. Linux has used the Rx checksumming for a long time.
+ The "zero copy" patch which is planned for the 2.4 kernel series
+ allows you to make use of the NIC's DMA scatter/gather and transmit
+ checksumming as well.
+
+ The driver is set up so that, when the zerocopy patch is applied,
+ all Tornado and Cyclone devices will use S/G and Tx checksums.
+
+ This module parameter has been provided so you can override this
+ decision. If you think that Tx checksums are causing a problem, you
+ may disable the feature with `hw_checksums=0'.
+
+ If you think your NIC should be performing Tx checksumming and the
+ driver isn't enabling it, you can force the use of hardware Tx
+ checksumming with `hw_checksums=1'.
+
+ The driver drops a message in the logfiles to indicate whether or
+ not it is using hardware scatter/gather and hardware Tx checksums.
+
+ Scatter/gather and hardware checksums provide considerable
+ performance improvement for the sendfile() system call, but a small
+ decrease in throughput for send(). There is no effect upon receive
+ efficiency.
+
compaq_ioaddr=N
compaq_irq=N
compaq_device_id=N
@@ -168,7 +200,35 @@ watchdog=N
decides that the transmitter has become stuck and needs to be reset.
This is mainly for debugging purposes, although it may be advantageous
to increase this value on LANs which have very high collision rates.
- The default value is 400 (0.4 seconds).
+ The default value is 5000 (5.0 seconds).
+
+enable_wol=N1,N2,N3,...
+
+ Enable Wake-on-LAN support for the relevant interface. Donald
+ Becker's `ether-wake' application may be used to wake suspended
+ machines.
+
+
+Media selection
+---------------
+
+A number of the older NICs such as the 3c590 and 3c900 series have
+10base2 and AUI interfaces.
+
+Prior to January, 2001 this driver would autoeselect the 10base2 or AUI
+port if it didn't detect activity on the 10baseT port. It would then
+get stuck on the 10base2 port and a driver reload was necessary to
+switch back to 10baseT. This behaviour could not be prevented with a
+module option override.
+
+Later (current) versions of the driver _do_ support locking of the
+media type. So if you load the driver module with
+
+ modprobe 3c59x options=0
+
+it will permanently select the 10baseT port. Automatic selection of
+other media types does not occur.
+
Additional resources
--------------------
@@ -177,31 +237,36 @@ Details of the device driver implementation are at the top of the source file.
Additional documentation is available at Don Becker's Linux Drivers site:
- http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
+ http://www.scyld.com/network/vortex.html
Donald Becker's driver development site:
- http://www.scyld.com
- http://cesdis.gsfc.nasa.gov/linux/
+ http://www.scyld.com/network
-Don's vortex-diag program is useful for inspecting the NIC's state:
+Donald's vortex-diag program is useful for inspecting the NIC's state:
http://www.scyld.com/diag/#pci-diags
- http://cesdis.gsfc.nasa.gov/linux/diag/vortex-diag.c
-Don's mii-diag program may be used for inspecting and manipulating the
-NIC's Media Independent Interface subsystem:
+Donald's mii-diag program may be used for inspecting and manipulating
+the NIC's Media Independent Interface subsystem:
http://www.scyld.com/diag/#mii-diag
- http://cesdis.gsfc.nasa.gov/linux/diag/#mii-diag
+
+Donald's wake-on-LAN page:
+
+ http://www.scyld.com/expert/wake-on-lan.html
3Com's documentation for many NICs, including the ones supported by
this driver is available at
http://support.3com.com/partners/developer/developer_form.html
-A detailed changelog for the modifications which were made for 2.3
-series kernel is available at
+3Com's DOS-based application for setting up the NICs EEPROMs:
+
+ ftp://ftp.3com.com/pub/nic/3c90x/3c90xx2.exe
+
+Driver updates and a detailed changelog for the modifications which
+were made for the 2.3/2,4 series kernel is available at
http://www.uow.edu.au/~andrewm/linux/#3c59x-2.3
@@ -223,6 +288,21 @@ Autonegotiation notes
mode. Otherwise, the negotiation fails. This has been an issue
we've noticed for a while but haven't had the time to track down.
+ Cisco switches (Jeff Busch <jbusch@deja.com>)
+
+ My "standard config" for ports to which PC's/servers connect directly:
+
+ interface FastEthernet0/N
+ description machinename
+ load-interval 30
+ spanning-tree portfast
+
+ If autonegotiation is a problem, you may need to specify "speed
+ 100" and "duplex full" as well (or "speed 10" and "duplex half").
+
+ WARNING: DO NOT hook up hubs/switches/bridges to these
+ specially-configured ports! The switch will become very confused.
+
Reporting and diagnosing problems
---------------------------------
diff --git a/Documentation/parport.txt b/Documentation/parport.txt
index 27c6d1c40..34adde395 100644
--- a/Documentation/parport.txt
+++ b/Documentation/parport.txt
@@ -19,12 +19,12 @@ Parport as modules
If you load the parport code as a module, say
- # insmod parport.o
+ # insmod parport
to load the generic parport code. You then must load the
architecture-dependent code with (for example):
- # insmod parport_pc.o io=0x3bc,0x378,0x278 irq=none,7,auto
+ # insmod parport_pc io=0x3bc,0x378,0x278 irq=none,7,auto
to tell the parport code that you want three PC-style ports, one at
0x3bc with no IRQ, one at 0x378 using IRQ 7, and one at 0x278 with an
@@ -192,7 +192,7 @@ is loaded it will create one lp device for each port found. You can
override this, though, by using parameters either when you load the lp
driver:
- # insmod lp.o parport=0,2
+ # insmod lp parport=0,2
or on the LILO command line:
diff --git a/Documentation/powerpc/ppc_htab.txt b/Documentation/powerpc/ppc_htab.txt
index 31da0c286..8b8c7df29 100644
--- a/Documentation/powerpc/ppc_htab.txt
+++ b/Documentation/powerpc/ppc_htab.txt
@@ -2,7 +2,7 @@
=====================================================================
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.
+email me (cort@fsmlabs.com) if you have questions, comments or corrections.
Last Change: 2.16.98
diff --git a/Documentation/powerpc/smp.txt b/Documentation/powerpc/smp.txt
index b79451562..5b581b849 100644
--- a/Documentation/powerpc/smp.txt
+++ b/Documentation/powerpc/smp.txt
@@ -2,7 +2,7 @@
=====================================================================
This document and the related code was written by me
-(Cort Dougan, cort@cs.nmt.edu) please email me if you have questions,
+(Cort Dougan, cort@fsmlabs.com) please email me if you have questions,
comments or corrections.
Last Change: 3.31.99
diff --git a/Documentation/powerpc/sound.txt b/Documentation/powerpc/sound.txt
index 86411d3a2..df23d95e0 100644
--- a/Documentation/powerpc/sound.txt
+++ b/Documentation/powerpc/sound.txt
@@ -1,7 +1,7 @@
Information about PowerPC Sound support
=====================================================================
-Please mail me (Cort Dougan, cort@cs.nmt.edu) if you have questions,
+Please mail me (Cort Dougan, cort@fsmlabs.com) if you have questions,
comments or corrections.
Last Change: 6.16.99
diff --git a/Documentation/powerpc/zImage_layout.txt b/Documentation/powerpc/zImage_layout.txt
index a96517ede..048e0150f 100644
--- a/Documentation/powerpc/zImage_layout.txt
+++ b/Documentation/powerpc/zImage_layout.txt
@@ -1,7 +1,7 @@
Information about the Linux/PPC kernel images
=====================================================================
-Please mail me me (Cort Dougan, cort@cs.nmt.edu) if you have questions,
+Please mail me (Cort Dougan, cort@fsmlabs.com) if you have questions,
comments or corrections.
This document is meant to answer several questions I've had about how
diff --git a/Documentation/s390/cds.txt b/Documentation/s390/cds.txt
index 746f36dd0..c5261a774 100644
--- a/Documentation/s390/cds.txt
+++ b/Documentation/s390/cds.txt
@@ -241,7 +241,7 @@ The device driver may use these commands as appropriate.
The get_dev_info_by_irq() / get_dev_info_by_devno() functions return:
- 0 - sucessful completion
+ 0 - successful completion
-ENODEV - irq or devno don't specify a known subchannel or device
number.
-EINVAL - invalid devinfo value.
@@ -317,7 +317,7 @@ The read_dev_chars() function returns :
0 - successful completion
-ENODEV - irq doesn't specify a valid subchannel number
-EINVAL - an invalid parameter was detected
--EBUSY - an irrecoverable I/O error occured or the device is not
+-EBUSY - an irrecoverable I/O error occurred or the device is not
operational.
Usage Notes :
@@ -568,7 +568,7 @@ CCW_FLAG_SUSPEND - suspend
The do_IO() function returns :
- 0 - successful completion or request successfuly initiated
+ 0 - successful completion or request successfully initiated
-EBUSY - the do_io() function was caled out of sequence. The
device is currently processing a previous I/O request
-ENODEV - irq doesn't specify a valid subchannel, the device is
@@ -777,7 +777,7 @@ flag : 0 (zero) or DOIO_WAIT_FOR_INTERRUPT
The halt_IO() function returns :
- 0 - successful completion or request successfuly initiated
+ 0 - successful completion or request successfully initiated
-EBUSY - the device is currently performing a synchronous I/O
operation : do_IO() with flag DOIO_WAIT_FOR_INTERRUPT
or an error was encountered and the device is currently
diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index 30e32d315..1ce29ba11 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -32,7 +32,7 @@ bdflush:
This file controls the operation of the bdflush kernel
daemon. The source code to this struct can be found in
-linux/mm/buffer.c. It currently contains 9 integer values,
+linux/fs/buffer.c. It currently contains 9 integer values,
of which 6 are actually used by the kernel.
From linux/fs/buffer.c:
diff --git a/Documentation/sysrq.txt b/Documentation/sysrq.txt
index 4bb08aaca..763d48cb1 100644
--- a/Documentation/sysrq.txt
+++ b/Documentation/sysrq.txt
@@ -29,6 +29,8 @@ On the serial console (PC style standard serial ports only) -
You send a BREAK, then within 5 seconds a command key. Sending
BREAK twice is interpreted as a normal BREAK.
+On Mac - Press 'Keypad+-F13-<command key>'
+
On other - If you know of the key combos for other architectures, please
let me know so I can add them to this section.
diff --git a/Documentation/usb/usb-serial.txt b/Documentation/usb/usb-serial.txt
index f69a98a2a..b4483a802 100644
--- a/Documentation/usb/usb-serial.txt
+++ b/Documentation/usb/usb-serial.txt
@@ -223,6 +223,28 @@ MCT USB Single Port Serial Adapter U232
this driver. Also, D-Link's DU-H3SP USB BAY also works with this driver.
+Inside Out Networks Edgeport Driver
+
+ This driver supports all devices made by Inside Out Networks, specifically
+ the following models:
+ Edgeport/4
+ Rapidport/4
+ Edgeport/4t
+ Edgeport/2
+ Edgeport/4i
+ Edgeport/2i
+ Edgeport/421
+ Edgeport/21
+ Edgeport/8
+ Edgeport/8 Dual
+ Edgeport/2D8
+ Edgeport/4D8
+ Edgeport/8i
+ Edgeport/2 DIN
+ Edgeport/4 DIN
+ Edgeport/16 Dual
+
+
Generic Serial driver
If your device is not one of the above listed devices, compatible with
diff --git a/Documentation/vm/locking b/Documentation/vm/locking
index f2e8e6c75..d7f07f8e6 100644
--- a/Documentation/vm/locking
+++ b/Documentation/vm/locking
@@ -4,7 +4,7 @@ The intent of this file is to have an uptodate, running commentary
from different people about how locking and synchronization is done
in the Linux vm code.
-page_table_lock
+page_table_lock & mmap_sem
--------------------------------------
Page stealers pick processes out of the process pool and scan for
@@ -23,29 +23,23 @@ present in the user's pte is not released till after swapout() returns.
Any code that modifies the vmlist, or the vm_start/vm_end/
vm_flags:VM_LOCKED/vm_next of any vma *in the list* must prevent
-kswapd from looking at the chain. This does not include driver mmap()
-methods, for example, since the vma is still not in the list.
+kswapd from looking at the chain.
The rules are:
-1. To modify the vmlist (add/delete or change fields in an element),
-you must hold mmap_sem to guard against clones doing mmap/munmap/faults,
-(ie all vm system calls and faults), and from ptrace, swapin due to
-swap deletion etc.
-2. To modify the vmlist (add/delete or change fields in an element),
-you must also hold page_table_lock, to guard against page stealers
-scanning the list.
-3. To scan the vmlist (find_vma()), you must either
- a. grab mmap_sem, which should be done by all cases except
- page stealer.
-or
- b. grab page_table_lock, only done by page stealer.
-4. While holding the page_table_lock, you must be able to guarantee
-that no code path will lead to page stealing. A better guarantee is
-to claim non sleepability, which ensures that you are not sleeping
-for a lock, whose holder might in turn be doing page stealing.
+1. To scan the vmlist (look but don't touch) you must hold the
+ mmap_sem with read bias, i.e. down_read(&mm->mmap_sem)
+2. To modify the vmlist you need to hold the mmap_sem with
+ read&write bias, i.e. down_write(&mm->mmap_sem) *AND*
+ you need to take the page_table_lock.
+3. The swapper takes _just_ the page_table_lock, this is done
+ because the mmap_sem can be an extremely long lived lock
+ and the swapper just cannot sleep on that.
+4. The exception to this rule is expand_stack, which just
+ takes the read lock and the page_table_lock, this is ok
+ because it doesn't really modify fields anybody relies on.
5. You must be able to guarantee that while holding page_table_lock
-or page_table_lock of mm A, you will not try to get either lock
-for mm B.
+ or page_table_lock of mm A, you will not try to get either lock
+ for mm B.
The caveats are:
1. find_vma() makes use of, and updates, the mmap_cache pointer hint.