diff -u --recursive --new-file v2.4.1/linux/CREDITS linux/CREDITS
--- v2.4.1/linux/CREDITS	Sat Feb  3 19:51:21 2001
+++ linux/CREDITS	Sun Feb  4 10:05:30 2001
@@ -957,6 +957,8 @@
 N: Hans Grobler
 E: grobh@sun.ac.za
 D: Various AX.25/ROSE/NETROM + hamradio driver patches
+D: Various X.25/LABP + driver patches
+D: Misc kernel fixes and updates
 S: Department of Electronic Engineering
 S: University of Stellenbosch
 S: Stellenbosch, Western Cape
@@ -1051,11 +1053,12 @@
 N: Jochen Hein
 E: jochen@jochen.org
 P: 1024/4A27F015 25 72 FB E3 85 9F DE 3B  CB 0A DA DA 40 77 05 6C
+P: 1024D/77D4FC9B F5C5 1C20 1DFC DEC3 3107  54A4 2332 ADFC 77D4 FC9B
 D: National Language Support
 D: Linux Internationalization Project
 D: German Localization for Linux and GNU software
-S: Frankenstraße 33
-S: 34131 Kassel
+S: Helenenstrasse 18
+S: 65183 Wiesbaden
 S: Germany
 
 N: Christoph Hellwig
@@ -1250,11 +1253,7 @@
 N: Niels Kristian Bech Jensen
 E: nkbj@image.dk
 W: http://www.image.dk/~nkbj
-D: 4.4BSD and NeXTstep filesystem support in the old ufs.
-D: Openstep filesystem and NeXTstep CDROM support in the new ufs.
-D: Replace CPU==[3-6]86 and __i386__ submodel flags by configuration options.
-D: Replace __SMP__ by CONFIG_SMP.
-D: Danish HOWTO, Linux+FreeBSD mini-HOWTO.
+D: Miscellaneous kernel updates and fixes.
 S: Dr. Holsts Vej 34, lejl. 164
 S: DK-8230 Åbyhøj
 S: Denmark
@@ -2270,6 +2269,13 @@
 S: D-68789 St.Leon-Rot
 S: Germany
 
+N: Thiago Berlitz Rondon
+E: maluco@mileniumnet.com.br
+D: Miscellaneous kernel hacker
+S: R. Anhanguera, 1487 - Ipiranga
+S: 79080-740 - Campo Grande - Mato Grosso do Sul
+S: Brazil
+
 N: Stephen Rothwell
 E: sfr@linuxcare.com.au
 W: http://linuxcare.com.au/sfr
@@ -2931,9 +2937,10 @@
 D: some Alpha platform porting from 2.0, Memory Technology Devices,
 D: Acquire watchdog timer, PC speaker driver maintenance,
 D: various other stuff that annoyed me by not working.
-S: c/o Red Hat UK Limited
-S: 35-36 Cambridge Place
-S: Cambridge. CB2 1NS
+S: c/o Red Hat Engineering
+S: Rustat House
+S: 60 Clifton Road
+S: Cambridge. CB1 7EG
 S: England
 
 N: Frank Xia
diff -u --recursive --new-file v2.4.1/linux/Documentation/00-INDEX linux/Documentation/00-INDEX
--- v2.4.1/linux/Documentation/00-INDEX	Tue Nov 14 10:54:07 2000
+++ linux/Documentation/00-INDEX	Thu Feb  8 16:32:44 2001
@@ -1,8 +1,8 @@
+
 This is a brief list of all the files in ./linux/Documentation and what
 they contain. If you add a documentation file, please list it here in 
 alphabetical order as well, or risk being hunted down like a rabid dog. 
-Note that subdirectories have their own index files too. Please try and
-keep the descriptions small enough to fit on one line.
+Please try and keep the descriptions small enough to fit on one line.
 							 Thanks -- Paul G.
 
 00-INDEX
@@ -15,28 +15,40 @@
 	- how the boss likes the C code in the kernel to look.
 Configure.help
 	- text file that is used for help when you run "make config"
-IO-APIC.txt
-	- info on using the enhanced interrupt hardware on SMP boards.
+DMA-mapping.txt
+	- info for PCI drivers using DMA portably across all platforms.
+DocBook/
+	- directory with DocBook templates etc. for kernel documentation.
 IO-mapping.txt
 	- how to access I/O mapped memory from within device drivers.
+IRQ-affinity.txt
+	- how to select which CPU(s) handle which interrupt events on SMP.
+LVM-HOWTO
+	- info on setting up logical volume management (virtual disks etc.)
 README.DAC960
 	- info on Mylex DAC960/DAC1100 PCI RAID Controller Driver for Linux
+README.moxa
+	- release notes for Moxa mutiport serial card.
+SubmittingDrivers
+	- procedure to get a new driver source included into the kernel tree.
+SubmittingPatches
+	- procedure to get a source patch included into the kernel tree.
 VGA-softcursor.txt
 	- how to change your VGA cursor from a blinking underscore.
 arm/
 	- directory with info about Linux on the ARM architecture.
-atm.txt
-	- info on Linux ATM support
 binfmt_misc.txt
 	- info on the kernel support for extra binary formats.
+cachetlb.txt
+	- describes the cache/TLB flushing interfaces Linux uses.
+cciss.txt
+	- info, major/minor #'s for Compaq's SMART Array Controllers.
 cdrom/
 	- directory with information on the CD-ROM drivers that Linux has.
 computone.txt
 	- info on Computone Intelliport II/Plus Multiport Serial Driver
 cpqarray.txt
 	- info on using Compaq's SMART2 Intelligent Disk Array Controllers.
-devices.tex
-	- LaTeX source listing of all the nodes in /dev/ with major minor #'s
 devices.txt
 	- plain ASCII listing of all the nodes in /dev/ with major minor #'s
 digiboard.txt
@@ -51,12 +63,20 @@
 	- directory with info on the frame buffer graphics abstraction layer.
 filesystems/
 	- directory with info on the various filesystems that Linux supports.
+floppy.txt
+	- notes and driver options for the floppy disk driver.
 ftape.txt
 	- notes about the floppy tape device driver
 hayes-esp.txt
 	- info on using the Hayes ESP serial driver.
+highuid.txt
+	- notes on the change from 16 bit to 32 bit user/group IDs.
+i2c/
+	- directory with info about the I2C bus/protocol (2 wire, kHz speed)
 i386/
-	- directory with info about Linux on the intel ix86 architecture.
+	- directory with info about Linux on intel 32 bit architecture.
+ia64/
+	- directory with info about Linux on intel 64 bit architecture.
 ide.txt
 	- important info for users of ATA devices (IDE/EIDE disks and CD-ROMS)
 initrd.txt
@@ -77,6 +97,8 @@
 	- info on using joystick devices (and driver) with Linux.
 kbuild/
 	- directory with info about the kernel build process
+kernel-doc-nano-HOWTO.txt
+	- mini HowTo on generation and location of kernel documentation files.
 kernel-docs.txt
 	- listing of various WWW + books that document kernel internals.
 kernel-parameters.txt
@@ -101,10 +123,14 @@
 	- info on boot arguments for the multiple devices driver
 memory.txt
 	- info on typical Linux memory problems.
+mkdev.cciss
+	- script to make /dev entries for SMART controllers (see cciss.txt)
 mkdev.ida
 	- script to make /dev entries for Intelligent Disk Array Controllers.
 modules.txt
 	- short guide on how to make kernel parts into loadable modules
+moxa-smartio
+	- info on installing/using Moxa multiport serial driver.
 mtrr.txt
 	- how to use PPro Memory Type Range Registers to increase performance
 nbd.txt
@@ -119,8 +145,12 @@
 	- how to decode those nasty internal kernel error dump messages.
 paride.txt
 	- information about the parallel port IDE subsystem.
+parisc/
+	- directory with info on using Linux on PA-RISC architecture.
 parport.txt
 	- how to use the parallel-port driver.
+parport-lowlevel.txt
+	- description and usage of the low level parallel port functions.
 pci.txt
 	- info on the PCI subsystem for device driver authors
 pcwd-watchdog.txt
@@ -129,14 +159,14 @@
 	- info on Linux power management support
 powerpc/
 	- directory with info on using Linux with the PowerPC.
-proc_usb_info.txt
-	- info on /proc/bus/usb direcory generated for USB devices
 ramdisk.txt
 	- short guide on how to set up and use the RAM disk.
 riscom8.txt
 	- notes on using the RISCom/8 multi-port serial driver.
 rtc.txt
 	- notes on how to use the Real Time Clock (aka CMOS clock) driver.
+s390/
+	- directory with info on using Linux on the IBM S390.
 scsi-generic.txt
 	- info on the sg driver for generic (non-disk/CD/tape) SCSI devices.
 scsi.txt
@@ -153,6 +183,8 @@
 	- a few more notes on symmetric multi-processing
 sound/
 	- directory with info on sound card support
+sparc/
+	- directory with info on using Linux on Sparc architecture.
 specialix.txt
 	- info on hardware/driver for specialix IO8+ multiport serial card.
 spinlocks.txt
@@ -167,8 +199,12 @@
 	- directory with info on the /proc/sys/* files
 sysrq.txt
 	- info on the magic SysRq key
+telephony/
+	- directory with info on telephony (e.g. voice over IP) support.
 unicode.txt
 	- info on the Unicode character/font mapping used in Linux.
+usb/
+	- directory with info regarding the Universal Serial Bus.
 video4linux/
 	- directory with info regarding video/TV/radio cards and linux.
 vm/
@@ -177,4 +213,6 @@
 	- how to auto-reboot Linux if it has "fallen and can't get up". ;-)
 xterm-linux.xpm
 	- XPM image of penguin logo (see logo.txt) sitting on an xterm.
+zorro.txt
+	- info on writing drivers for Zorro bus devices found on Amigas.
 
diff -u --recursive --new-file v2.4.1/linux/Documentation/Changes linux/Documentation/Changes
--- v2.4.1/linux/Documentation/Changes	Sat Feb  3 19:51:21 2001
+++ linux/Documentation/Changes	Sat Feb  3 12:10:37 2001
@@ -52,7 +52,7 @@
 o  Gnu make               3.77                    # make --version
 o  binutils               2.9.1.0.25              # ld -v
 o  util-linux             2.10o                   # fdformat --version
-o  modutils               2.4.0                   # insmod -V
+o  modutils               2.4.2                   # insmod -V
 o  e2fsprogs              1.19                    # tune2fs --version
 o  pcmcia-cs              3.1.21                  # cardmgr -V
 o  PPP                    2.4.0                   # pppd --version
diff -u --recursive --new-file v2.4.1/linux/Documentation/Configure.help linux/Documentation/Configure.help
--- v2.4.1/linux/Documentation/Configure.help	Sat Feb  3 19:51:21 2001
+++ linux/Documentation/Configure.help	Thu Feb  8 16:30:40 2001
@@ -1,7 +1,7 @@
 # Maintained by Axel Boldt (axel@uni-paderborn.de)
 #
 # This version of the Linux kernel configuration help texts
-# corresponds to the kernel versions 2.3.x.
+# corresponds to the kernel versions 2.4.x.
 #
 # Translations of this file available on the WWW:
 #
@@ -1575,16 +1575,6 @@
   more details about the Baget see the Linux/MIPS FAQ on 
   http://oss.sgi.com/mips .
 
-Support for Cobalt Microserver
-CONFIG_COBALT_MICRO_SERVER
-  This enables support for the Cobalt Microserver.  For more information
-  see the Linux/MIPS FAQ on http://oss.sgi.com/mips .
-
-Support for 2800
-CONFIG_COBALT_28
-  This adds support for the Cobalt Microserver 2800.  A kernel with this
-  option selected will only work on the 2800.
-
 Support for DECstations
 CONFIG_DECSTATION
   This enables support for DEC's MIPS based workstations.  For details
@@ -2572,7 +2562,7 @@
   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. You will get modules called i2o_core.o
-  and i20_config.o. 
+  and i2o_config.o. 
 
   If unsure, say N.
 
@@ -3104,7 +3094,7 @@
 
 nVidia Riva support (EXPERIMENTAL)
 CONFIG_FB_RIVA
-  This driver supports graphics boards with the nVidia Riva (aka TNTx)
+  This driver supports graphics boards with the nVidia Riva/Geforce
   chips.
   Say Y if you have such a graphics board.
 
@@ -5119,7 +5109,7 @@
 
 Compaq Smart Array support
 CONFIG_BLK_CPQ_CISS_DA
-   This is the driver for Compaq Smart Array controllers.
+   This is the driver for Compaq Smart Array 5xxx controllers.
    Everyone using these boards should say Y here.
    See Documentation/cciss.txt for the current list of
    boards supported by this driver, and for further information
@@ -10361,14 +10351,12 @@
 USB Serial converter support
 CONFIG_USB_SERIAL
   Say Y here if you have a USB device that provides normal serial
-  ports, and you want to connect it to your USB bus. Supported devices
-  are the Tech WhiteHEAT multi-port USB to serial converter, and the
-  FTDI or Keyspan single port USB to serial converter Handspring
-  Visor. In addition to saying Y here, you need to say Y to the driver
-  for your specific hardware below. Some other devices may also be
-  used if you say Y to "USB Generic Serial Driver", below.
+  ports, or acts like a serial device, and you want to connect it to
+  your USB bus.
 
-  Please read Documentation/usb/usb-serial.txt for more information.
+  Please read Documentation/usb/usb-serial.txt for more information
+  on the specifics of the different devices that are supported, and
+  on how to use them.
   
   This code is also available as a module ( = code which can be
   inserted in and removed from the running kernel whenever you want).
@@ -10474,6 +10462,10 @@
 CONFIG_USB_SERIAL_KEYSPAN_USA19W
   Say Y here to include firmware for the USA-19W converter.
 
+USB Keyspan USA-49W Firmware
+CONFIG_USB_SERIAL_KEYSPAN_USA49W
+  Say Y here to include firmware for the USA-49W converter.
+
 USB ZyXEL omni.net LCD Plus Driver
 CONFIG_USB_SERIAL_OMNINET
   Say Y here if you want to use a ZyXEL omni.net LCD ISDN TA.
@@ -10514,6 +10506,9 @@
 CONFIG_USB_SERIAL_MCT_U232
   Say Y here if you want to use a USB Serial single port adapter from
   Magic Control Technology Corp. (U232 is one of the model numbers).
+  
+  This driver also works with Sitecom U232-P25 and D-Link DU-H3SP USB
+  BAY devices.
 
   This code is also available as a module ( = code which can be
   inserted in and removed from the running kernel whenever you want).
@@ -10523,7 +10518,7 @@
 USB Serial Converter verbose debug
 CONFIG_USB_SERIAL_DEBUG
   Say Y here if you want verbose debug messages from the USB Serial
-  Converter. 
+  Drivers sent to the kernel debug log.
 
 USB Printer support
 CONFIG_USB_PRINTER
diff -u --recursive --new-file v2.4.1/linux/Documentation/DocBook/Makefile linux/Documentation/DocBook/Makefile
--- v2.4.1/linux/Documentation/DocBook/Makefile	Sat Dec 30 18:16:13 2000
+++ linux/Documentation/DocBook/Makefile	Sat Feb  3 12:43:55 2001
@@ -81,6 +81,7 @@
 		$(TOPDIR)/fs/devfs/base.c \
 		$(TOPDIR)/kernel/pm.c \
 		$(TOPDIR)/kernel/ksyms.c \
+		$(TOPDIR)/kernel/kmod.c \
 		$(TOPDIR)/net/netsyms.c
  
 kernel-api.sgml: kernel-api.tmpl $(APISOURCES)
diff -u --recursive --new-file v2.4.1/linux/Documentation/DocBook/kernel-hacking.tmpl linux/Documentation/DocBook/kernel-hacking.tmpl
--- v2.4.1/linux/Documentation/DocBook/kernel-hacking.tmpl	Mon Nov 27 17:47:38 2000
+++ linux/Documentation/DocBook/kernel-hacking.tmpl	Thu Feb  8 16:32:44 2001
@@ -1179,7 +1179,7 @@
      You may well want to make your CONFIG option only visible if
      <symbol>CONFIG_EXPERIMENTAL</symbol> is enabled: this serves as a
      warning to users.  There many other fancy things you can do: see
-     the the various <filename>Config.in</filename> files for ideas.
+     the various <filename>Config.in</filename> files for ideas.
     </para>
    </listitem>
 
diff -u --recursive --new-file v2.4.1/linux/Documentation/DocBook/kernel-locking.tmpl linux/Documentation/DocBook/kernel-locking.tmpl
--- v2.4.1/linux/Documentation/DocBook/kernel-locking.tmpl	Fri Dec 29 14:07:19 2000
+++ linux/Documentation/DocBook/kernel-locking.tmpl	Thu Feb  8 16:32:44 2001
@@ -386,7 +386,7 @@
        <function>spin_lock()</function> and
        <function>spin_unlock()</function> calls.  
        <function>spin_lock_bh()</function> is
-       unnecessary here, as you are already in a a tasklet, and
+       unnecessary here, as you are already in a tasklet, and
        none will be run on the same CPU.
      </para>
     </sect2>
diff -u --recursive --new-file v2.4.1/linux/Documentation/SubmittingDrivers linux/Documentation/SubmittingDrivers
--- v2.4.1/linux/Documentation/SubmittingDrivers	Sun Dec  3 17:48:18 2000
+++ linux/Documentation/SubmittingDrivers	Thu Feb  8 16:32:44 2001
@@ -45,7 +45,7 @@
 What Criteria Determine Acceptance
 ----------------------------------
 
-Licensing:	The code must be released to us under the GNU public license. 
+Licensing:	The code must be released to us under the GNU General Public License. 
 		We don't insist on any kind of exclusively GPL licensing,
 		and if you wish the driver to be useful to other communities
 		such as BSD you may well wish to release under multiple
diff -u --recursive --new-file v2.4.1/linux/Documentation/cciss.txt linux/Documentation/cciss.txt
--- v2.4.1/linux/Documentation/cciss.txt	Fri Sep 22 17:11:37 2000
+++ linux/Documentation/cciss.txt	Sat Feb  3 12:13:19 2001
@@ -6,6 +6,8 @@
 This driver is known to work with the following cards:
 
 	* SA 5300
+	* SA 5i 
+	* SA 532
 
 If notes are not already created in the /dev/cciss directory
 
diff -u --recursive --new-file v2.4.1/linux/Documentation/cris/README linux/Documentation/cris/README
--- v2.4.1/linux/Documentation/cris/README	Wed Dec 31 16:00:00 1969
+++ linux/Documentation/cris/README	Thu Feb  8 16:32:44 2001
@@ -0,0 +1,174 @@
+Linux 2.4 on the CRIS architecture
+==================================
+$Id: README,v 1.5 2001/01/10 17:20:55 bjornw Exp $
+
+This is a port of Linux 2.4 to Axis Communications ETRAX 100LX embedded network CPU. For
+more information about CRIS and ETRAX please see further below.
+
+<... to come: instructions on how to grab the right gcc, compiling and booting ...>
+
+
+What is CRIS ?
+--------------
+
+CRIS is an acronym for 'Code Reduced Instruction Set'. It is the CPU architecture in Axis
+Communication AB's range of embedded network CPU's, called ETRAX. The latest CPU is called
+ETRAX 100LX, where LX stands for 'Linux' because the chip was designed to be a good host for
+the Linux operating system.
+
+The ETRAX 100LX chip
+--------------------
+
+For reference, plase see the press-release:
+
+http://www.axis.com/news/us/001101_etrax.htm
+
+The ETRAX 100LX is a 100 MIPS processor with 8kB cache, MMU, and a very broad range of 
+built-in interfaces, all with modern scatter/gather DMA.
+
+Memory interfaces:
+
+	* SRAM
+	* NOR-flash/ROM
+	* EDO or page-mode DRAM
+	* SDRAM
+
+I/O interfaces:
+
+	* one 10/100 Mbit/s ethernet controller
+	* four serial-ports (up to 6 Mbit/s)
+	* two synchronous serial-ports for multimedia codec's etc.
+	* USB host controller and USB slave
+	* ATA
+	* SCSI
+	* two parallel-ports
+	* two generic 8-bit ports
+	
+	(not all interfaces are available at the same time due to chip pin multiplexing)
+
+The previous version of the ETRAX, the ETRAX 100, sits in almost all of Axis shipping 
+thin-servers like the Axis 2100 web camera or the developer-board. It lacks an MMU so the
+Linux we run on that is a version of uClinux (Linux 2.0 without MM-support) ported to the CRIS
+architecture. The new Linux 2.4 port has full MM and needs a CPU with an MMU, so it will not
+run on the ETRAX 100. 
+
+A version of the Axis developer-board with ETRAX 100LX will be available as soon as the chip 
+is ramped up (please see http://developer.axis.com for further information on that).
+
+
+
+Bootlog
+-------
+
+Just as an example, this is the debug-output from a boot of Linux 2.4 on an Axis
+developer-board with ETRAX 100LX. The displayed BogoMIPS value is 5 times too small :)
+At the end you see some user-mode programs booting like telnet and ftp daemons.
+
+Linux version 2.4.0-test11 (bjornw@godzilla.axis.se) (gcc version 2.96 20000427 (experimental)) #358 Wed Nov 22 19:29:15 CET 2000
+ROM fs in RAM, size 368640 bytes
+Setting up paging and the MMU.
+On node 0 totalpages: 1024
+zone(0): 1024 pages.
+zone(1): 0 pages.
+zone(2): 0 pages.
+Linux/CRIS port (c) 2000 Axis Communications AB
+Kernel command line: 
+Calibrating delay loop... 19.92 BogoMIPS
+Memory: 6864k/8192k available (531k kernel code, 1328k reserved, 85k data, 24k init)
+kmem_create: Forcing size word alignment - vm_area_struct
+kmem_create: Forcing size word alignment - filp
+Dentry-cache hash table entries: 1024 (order: 0, 8192 bytes)
+Buffer-cache hash table entries: 2048 (order: 0, 8192 bytes)
+Page-cache hash table entries: 2048 (order: 0, 8192 bytes)
+kmem_create: Forcing size word alignment - kiobuf
+kmem_create: Forcing size word alignment - bdev_cache
+Inode-cache hash table entries: 1024 (order: 0, 8192 bytes)
+kmem_create: Forcing size word alignment - inode_cache
+POSIX conformance testing by UNIFIX
+Linux NET4.0 for Linux 2.4
+Based upon Swansea University Computer Society NET3.039
+kmem_create: Forcing size word alignment - skbuff_head_cache
+Starting kswapd v1.8
+kmem_create: Forcing size word alignment - file lock cache
+kmem_create: Forcing size word alignment - blkdev_requests
+ETRAX 100LX 10/100MBit ethernet v2.0 (c) 2000 Axis Communications AB
+eth0 initialized
+eth0: changed MAC to 00:40:8C:CD:00:00
+ETRAX 100LX serial-driver $Revision: 1.5 $, (c) 2000 Axis Communications AB
+ttyS0 at 0xb0000060 is a builtin UART with DMA
+ttyS1 at 0xb0000068 is a builtin UART with DMA
+ttyS2 at 0xb0000070 is a builtin UART with DMA
+ttyS3 at 0xb0000078 is a builtin UART with DMA
+NET4: Linux TCP/IP 1.0 for NET4.0
+IP Protocols: ICMP, UDP, TCP
+kmem_create: Forcing size word alignment - ip_dst_cache
+IP: routing cache hash table of 1024 buckets, 8Kbytes
+TCP: Hash tables configured (established 1024 bind 1024)
+NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
+VFS: Mounted root (cramfs filesystem) readonly.
+Init starts up...
+Setting up eth0 with ip 10.13.9.116 and mac 00:40:8c:18:04:60
+eth0: changed MAC to 00:40:8C:18:04:60
+Setting up lo with ip 127.0.0.1
+Default gateway is 10.13.9.1
+Hostname is bbox1
+Telnetd starting, using port 23.
+  using /bin/sh as shell.
+sftpd[14]: sftpd $Revision: 1.5 $ starting up
+
+
+And here is how some /proc entries look:
+
+17# cd /proc
+17# cat cpuinfo
+cpu             : ETRAX
+cpu revision    : 10
+cpu model       : ETRAX 100LX
+cache size      : 8 kB
+fpu             : no
+mmu             : yes
+ethernet        : 10/100 Mbps
+token ring      : no
+scsi            : yes
+ata             : yes
+usb             : yes
+bogomips        : 99.84
+17# cat meminfo
+        total:    used:    free:  shared: buffers:  cached:
+Mem:   7028736   925696  6103040   114688        0   229376
+Swap:        0        0        0
+MemTotal:         6864 kB
+MemFree:          5960 kB
+MemShared:         112 kB
+Buffers:             0 kB
+Cached:            224 kB
+Active:            224 kB
+Inact_dirty:         0 kB
+Inact_clean:         0 kB
+Inact_target:        0 kB
+HighTotal:           0 kB
+HighFree:            0 kB
+LowTotal:         6864 kB
+LowFree:          5960 kB
+SwapTotal:           0 kB
+SwapFree:            0 kB
+17# ls -l /bin
+-rwxr-xr-x  1 342      100         10356  Jan 01 00:00 ifconfig
+-rwxr-xr-x  1 342      100         17548  Jan 01 00:00 init
+-rwxr-xr-x  1 342      100          9488  Jan 01 00:00 route
+-rwxr-xr-x  1 342      100         46036  Jan 01 00:00 sftpd
+-rwxr-xr-x  1 342      100         48104  Jan 01 00:00 sh
+-rwxr-xr-x  1 342      100         16252  Jan 01 00:00 telnetd
+
+
+(All programs are statically linked to the libc at this point - we have not ported the
+ shared libraries yet)
+
+
+
+
+
+
+
+
+
diff -u --recursive --new-file v2.4.1/linux/Documentation/filesystems/00-INDEX linux/Documentation/filesystems/00-INDEX
--- v2.4.1/linux/Documentation/filesystems/00-INDEX	Wed Feb 16 15:42:05 2000
+++ linux/Documentation/filesystems/00-INDEX	Thu Feb  8 16:32:44 2001
@@ -1,5 +1,7 @@
 00-INDEX
 	- this file (info on some of the filesystems supported by linux).
+Locking
+	- info on locking rules as they pertain to Linux VFS.
 adfs.txt
 	- info and mount options for the Acorn Advanced Disc Filing System.
 affs.txt
@@ -8,8 +10,12 @@
 	- info for the SCO UnixWare Boot Filesystem (BFS).
 coda.txt
 	- description of the CODA filesystem.
-devfs
+cramfs.txt
+	- info on the cram filesystem for small storage (ROMs etc)
+devfs/
 	- directory containing devfs documentation.
+ext2.txt
+	- info, mount options and specifications for the Ext2 filesystem.
 fat_cvf.txt
 	- info on the Compressed Volume Files extension to the FAT filesystem
 hpfs.txt
diff -u --recursive --new-file v2.4.1/linux/Documentation/ia64/efirtc.txt linux/Documentation/ia64/efirtc.txt
--- v2.4.1/linux/Documentation/ia64/efirtc.txt	Fri Jul 28 12:50:51 2000
+++ linux/Documentation/ia64/efirtc.txt	Thu Feb  8 16:32:44 2001
@@ -13,7 +13,7 @@
 
 EFI provides 4 calls one can make once the OS is booted: GetTime(),
 SetTime(), GetWakeupTime(), SetWakeupTime() which are all supported by this driver.
-We describes those calls as well the the design of the driver in the following
+We describe those calls as well the design of the driver in the following
 sections.
 
 II/ Design Decisions
diff -u --recursive --new-file v2.4.1/linux/Documentation/isdn/README.HiSax linux/Documentation/isdn/README.HiSax
--- v2.4.1/linux/Documentation/isdn/README.HiSax	Tue Nov 28 21:43:13 2000
+++ linux/Documentation/isdn/README.HiSax	Thu Feb  8 10:40:25 2001
@@ -442,6 +442,7 @@
 	Enrik Berkhan (enrik@starfleet.inka.de) for S0BOX specific stuff
 	Ton van Rosmalen for Teles PCI
 	Petr Novak <petr.novak@i.cz> for Winbond W6692 support
+	Werner Cornelius <werner@isdn4linux.de> for HFC-PCI, HFC-S(+/P) and supplementary services support
         and more people who are hunting bugs. (If I forgot somebody, please
 	send me a mail).
 
diff -u --recursive --new-file v2.4.1/linux/Documentation/isdn/README.diversion linux/Documentation/isdn/README.diversion
--- v2.4.1/linux/Documentation/isdn/README.diversion	Fri Jul 28 12:50:51 2000
+++ linux/Documentation/isdn/README.diversion	Thu Feb  8 16:32:44 2001
@@ -6,7 +6,7 @@
 the HiSax driver.
 The diversion kernel interface and controlling tool divertctrl were written
 by Werner Cornelius (werner@isdn4linux.de or werner@titro.de) under the
-GNU Public License.
+GNU General Public License.
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
diff -u --recursive --new-file v2.4.1/linux/Documentation/isdn/README.hfc-pci linux/Documentation/isdn/README.hfc-pci
--- v2.4.1/linux/Documentation/isdn/README.hfc-pci	Sun Nov  7 16:34:00 1999
+++ linux/Documentation/isdn/README.hfc-pci	Thu Feb  8 10:40:25 2001
@@ -35,7 +35,7 @@
 supplied else the parameter is assumed 0 and a auto search for a free card is
 invoked which may not give the wanted result. 
 
-Comments and reports to werner@isdn4linux.de or werner@titro.de .
+Comments and reports to werner@isdn4linux.de or werner@isdn-development.de
 
 
 
diff -u --recursive --new-file v2.4.1/linux/Documentation/isdn/README.hysdn linux/Documentation/isdn/README.hysdn
--- v2.4.1/linux/Documentation/isdn/README.hysdn	Mon Aug 21 07:49:02 2000
+++ linux/Documentation/isdn/README.hysdn	Thu Feb  8 16:32:44 2001
@@ -2,7 +2,7 @@
 The hysdn driver has been written by
 by Werner Cornelius (werner@isdn4linux.de or werner@titro.de) 
 for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver
-under the GNU Public License.
+under the GNU General Public License.
 
 The CAPI 2.0-support was added by Ulrich Albrecht (ualbrecht@hypercope.de)
 for Hypercope GmbH Aachen, Germany.
diff -u --recursive --new-file v2.4.1/linux/Documentation/networking/00-INDEX linux/Documentation/networking/00-INDEX
--- v2.4.1/linux/Documentation/networking/00-INDEX	Sat Nov 27 15:27:48 1999
+++ linux/Documentation/networking/00-INDEX	Thu Feb  8 16:32:44 2001
@@ -4,32 +4,46 @@
 	- information on the 3Com EtherLink Plus (3c505) driver.
 6pack.txt
 	- info on the 6pack protocol, an alternative to KISS for AX.25
+8139too.txt
+	- info on the 8139too driver for RTL-8139 based network cards.
 Configurable
 	- info on some of the configurable network parameters
 DLINK.txt
 	- info on the D-Link DE-600/DE-620 parallel port pocket adapters
 PLIP.txt
 	- PLIP: The Parallel Line Internet Protocol device driver
+README.sb1000
+	- info on General Instrument/NextLevel SURFboard1000 cable modem.
 alias.txt
 	- info on using alias network devices 
 arcnet-hardware.txt
 	- tons of info on ARCnet, hubs, jumper settings for ARCnet cards, etc.
 arcnet.txt
 	- info on the using the ARCnet driver itself.
+atm.txt
+	- info on where to get ATM programs and support for Linux.
 ax25.txt
 	- info on using AX.25 and NET/ROM code for Linux
 baycom.txt
 	- info on the driver for Baycom style amateur radio modems
+bridge.txt
+	- where to get user space programs for ethernet bridging with Linux.
+comx.txt
+	- info on drivers for COMX line of synchronous serial adapters.
 cops.txt
 	- info on the COPS LocalTalk Linux driver
 cs89x0.txt
 	- the Crystal LAN (CS8900/20-based) Ethernet ISA adapter driver
 de4x5.txt
 	- the Digital EtherWORKS DE4?? and DE5?? PCI Ethernet driver
+decnet.txt
+	- info on using the DECnet networking layer in Linux.
 depca.txt
 	- the Digital DEPCA/EtherWORKS DE1?? and DE2?? LANCE Ethernet driver
 dgrs.txt
 	- the Digi International RightSwitch SE-X Ethernet driver
+dmfe.txt
+	- info on the Davicom DM9102(A)/DM9132/DM9801 fast ethernet driver.
 eql.txt
 	- serial IP load balancing
 ethertap.txt
@@ -38,6 +52,8 @@
 	- the Digital EtherWORKS 3 DE203/4/5 Ethernet driver
 filter.txt
 	- Linux Socket Filtering
+fore200e.txt
+	- FORE Systems PCA-200E/SBA-200E ATM NIC driver info.
 framerelay.txt
 	- info on using Frame Relay/Data Link Connection Identifier (DLCI).
 ip-sysctl.txt
@@ -46,6 +62,10 @@
 	- IP dynamic address hack e.g. for auto-dialup links
 ipddp.txt
 	- AppleTalk-IP Decapsulation and AppleTalk-IP Encapsulation
+iphase.txt
+	- Interphase PCI ATM (i)Chip IA Linux driver info.
+irda.txt
+	- where to get IrDA (infrared) utilities and info for Linux.
 lapb-module.txt
 	- programming information of the LAPB module.
 ltpc.txt
@@ -56,22 +76,42 @@
 	- notes on how NCSA telnet (DOS) breaks with MTU discovery enabled.
 net-modules.txt
 	- info and "insmod" parameters for all network driver modules.
+netdevices.txt
+	- info on network device driver functions exported to the kernel.
+olympic.txt
+	- IBM PCI Pit/Pit-Phy/Olympic Token Ring driver info.
 policy-routing.txt
 	- IP policy-based routing
 pt.txt
 	- the Gracilis Packetwin AX.25 device driver
+ray_cs.txt
+	- Raylink Wireless LAN card driver info.
 routing.txt
 	- the new routing mechanism
 shaper.txt
 	- info on the module that can shape/limit transmitted traffic.
+sis900.txt
+	- SiS 900/7016 Fast Ethernet device driver info.
+sk98lin.txt
+	- SysKonnect SK-NET (SK-98xx) Gigabit Ethernet driver info.
+skfp.txt
+	- SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info.
 smc9.txt
 	- the driver for SMC's 9000 series of Ethernet cards
+smctr.txt
+	- SMC TokenCard TokenRing Linux driver info.
 soundmodem.txt
 	- Linux driver for sound cards as AX.25 modems
 tcp.txt
 	- short blurb on how TCP output takes place.
+tlan.txt
+	- ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info.
+tms380tr.txt
+	- SysKonnect Token Ring ISA/PCI adapter driver info.
 tulip.txt
 	- info on using DEC 21040/21041/21140 based PCI Ethernet cards.
+tuntap.txt
+	- TUN/TAP device driver, allowing user space Rx/Tx of packets.
 vortex.txt
 	- info on using 3Com Vortex (3c590, 3c592, 3c595, 3c597) Ethernet cards.
 wan-router.txt
diff -u --recursive --new-file v2.4.1/linux/Documentation/networking/smc9.txt linux/Documentation/networking/smc9.txt
--- v2.4.1/linux/Documentation/networking/smc9.txt	Sat Nov 29 10:33:18 1997
+++ linux/Documentation/networking/smc9.txt	Thu Feb  8 16:32:44 2001
@@ -3,7 +3,7 @@
 Revision 0.12 
 3/5/96
 Copyright 1996  Erik Stahlman 
-Released under terms of the GNU public license. 
+Released under terms of the GNU General Public License. 
 
 This file contains the instructions and caveats for my SMC9xxx driver.  You
 should not be using the driver without reading this file.  
diff -u --recursive --new-file v2.4.1/linux/Documentation/scsi-generic.txt linux/Documentation/scsi-generic.txt
--- v2.4.1/linux/Documentation/scsi-generic.txt	Mon Aug 21 08:57:35 2000
+++ linux/Documentation/scsi-generic.txt	Thu Feb  8 16:32:44 2001
@@ -314,7 +314,7 @@
 (limit is SG_MAX_QUEUE (16) outstanding packets per file descriptor).
 However, for backward compatibility, command queuing is turned off
 by default (#define SG_DEF_COMMAND_Q 0 in sg.h). This can be changed
-via the the SG_SET_COMMAND_Q ioctl() [or by recompiling after changing
+via the SG_SET_COMMAND_Q ioctl() [or by recompiling after changing
 the above define to 1].
 
 In this sg driver a write() should return more or less immediately.
diff -u --recursive --new-file v2.4.1/linux/Documentation/sound/Maestro3 linux/Documentation/sound/Maestro3
--- v2.4.1/linux/Documentation/sound/Maestro3	Wed Dec 31 16:00:00 1969
+++ linux/Documentation/sound/Maestro3	Sun Feb  4 10:05:29 2001
@@ -0,0 +1,84 @@
+	An OSS/Lite Driver for the ESS Maestro3 family of sound chips
+
+			Zach Brown, January 2001
+
+Driver Status and Availability
+------------------------------
+
+The most recent version of this driver will hopefully always be available at
+	http://www.zabbo.net/maestro3/
+
+I will try and maintain the most recent stable version of the driver
+in both the stable and development kernel lines.
+
+Historically I've sucked pretty hard at actually doing that, however.
+
+ESS Maestro3 Chip Family
+-----------------------
+
+The 'Maestro3' is much like the Maestro2 chip.  The noted improvement
+is the removal of the silicon in the '2' that did PCM mixing.  All that
+work is now done through a custom DSP called the ASSP, the Asynchronus
+Specific Signal Processor.
+
+The 'Allegro' is a baby version of the Maestro3.  I'm not entirely clear
+on the extent of the differences, but the driver supports them both :)
+
+The 'Allegro' shows up as PCI ID 0x1988 and the Maestro3 as 0x1998,
+both under ESS's vendor ID of 0x125D.  The Maestro3 can also show up as
+0x199a when hardware strapping is used.
+
+The chip can also act as a multi function device.  The modem IDs follow
+the audio multimedia device IDs.  (so the modem part of an Allegro shows
+up as 0x1989)
+
+Driver OSS Behavior
+--------------------
+
+This OSS driver exports /dev/mixer and /dev/dsp to applications, which
+mostly adhere to the OSS spec.   This driver doesn't register itself
+with /dev/sndstat, so don't expect information to appear there.
+
+The /dev/dsp device exported behaves as expected.  Playback is
+supported in all the various lovely formats.  8/16bit stereo/mono from
+8khz to 48khz, with both read()/write(), and mmap().
+
+/dev/mixer is an interface to the AC'97 codec on the Maestro3.  It is
+worth noting that there are a variety of AC'97s that can be wired to
+the Maestro3.  Which is used is entirely up to the hardware implementor.
+This should only be visible to the user by the presence, or lack, of
+'Bass' and 'Treble' sliders in the mixer.  Not all AC'97s have them.
+The Allegro has an onchip AC'97.
+
+The driver doesn't support MIDI or FM playback at the moment.
+
+Compiling and Installing
+------------------------
+
+With the drivers inclusion into the kernel, compiling and installing
+is the same as most OSS/Lite modular sound drivers.  Compilation
+of the driver is enabled through the CONFIG_SOUND_MAESTRO3 variable
+in the config system.  
+
+It may be modular or statically linked.  If it is modular it should be
+installed with the rest of the modules for the kernel on the system.
+Typically this will be in /lib/modules/ somewhere.  'alias sound-slot-0
+maestro3' should also be added to your module configs (typically
+/etc/modules.conf) if you're using modular OSS/Lite sound and want to
+default to using a maestro3 chip.
+
+There are very few options to the driver.  One is 'debug' which will 
+tell the driver to print minimal debugging information as it runs.  This
+can be collected with 'dmesg' or through the klogd daemon.
+
+The other is 'external_amp', which tells the driver to attempt to enable
+an external amplifier.  This defaults to '1', you can tell the driver
+not to bother enabling such an amplifier by setting it to '0'.
+
+Power Management
+----------------
+
+This driver has a minimal understanding of PCI Power Management.  It will
+try and power down the chip when the system is suspended, and power
+it up with it is resumed.  It will also try and power down the chip
+when the machine is shut down.
diff -u --recursive --new-file v2.4.1/linux/Documentation/sound/NM256 linux/Documentation/sound/NM256
--- v2.4.1/linux/Documentation/sound/NM256	Mon Oct 25 08:26:52 1999
+++ linux/Documentation/sound/NM256	Sun Feb  4 10:05:29 2001
@@ -53,7 +53,7 @@
 compatible OSS driver with these chipsets.  I cannot provide any
 assistance with machines using the SB16, AD1848 or CS4232 compatible
 versions.  (The driver now attempts to detect the mixer version, and
-will refuse to load if it believes the hardware is not not
+will refuse to load if it believes the hardware is not
 AC97-compatible.)
 
 The sound support is very basic, but it does include simultaneous
diff -u --recursive --new-file v2.4.1/linux/Documentation/sound/OPL3-SA2 linux/Documentation/sound/OPL3-SA2
--- v2.4.1/linux/Documentation/sound/OPL3-SA2	Wed May 24 19:28:05 2000
+++ linux/Documentation/sound/OPL3-SA2	Sun Feb  4 10:05:29 2001
@@ -2,22 +2,26 @@
 ---------------------------------------------------------------
 
 Scott Murray, scott@spiteful.org
-January 5, 1999
+January 7, 2001
 
 NOTE: All trade-marked terms mentioned below are properties of their
       respective owners.
 
+
+Supported Devices
+-----------------
+
 This driver is for PnP soundcards based on the following Yamaha audio
 controller chipsets:
 
 YMF711 aka OPL3-SA2
-YMF715 aka OPL3-SA3
-YMF719 aka OPL3-SAx (?)
+YMF715 and YMF719 aka OPL3-SA3
 
-I'm a little fuzzy on what exactly is classified a SAx, as I've seen
-the label used to refer to the whole 7xx family and as a specific
-identifier for the 719 on my no-name soundcard.  To make matters
-worse, there seem to be several revisions of the 715 chipset.
+Up until recently (December 2000), I'd thought the 719 to be a
+different chipset, the OPL3-SAx.  After an email exhange with
+Yamaha, however, it turns out that the 719 is just a re-badged
+715, and the chipsets are identical.  The chipset detection code
+has been updated to refkect this.
 
 Anyways, all of these chipsets implement the following devices:
 
@@ -31,75 +35,142 @@
 device and the MSS device.  Since the MSS device has better
 capabilities, I have implemented the driver to use it.
 
-Being PnP cards, some configuration is required.  There are two ways
-of doing this.  The most common is to use the isapnptools package to
-initialize the card, and use the kernel module form of the sound
-subsystem and sound drivers.  Alternatively, some BIOS's allow manual
-configuration of installed PnP devices in a BIOS menu, which should
-allow using the non-modular sound drivers, i.e. built into the kernel.
+
+Mixer Channels
+--------------
+
+Older versions of this driver (pre-December 2000) had two mixers,
+an OPL3-SA2 or SA3 mixer and a MSS mixer.  The OPL3-SA[23] mixer
+device contained a superset of mixer channels consisting of its own
+channels and all of the MSS mixer channels.  To simplify the driver
+considerably, and to partition functionality better, the OPL3-SA[23]
+mixer device now contains has its own specific mixer channels.  They
+are:
+
+Volume     - Hardware master volume control
+Bass       - SA3 only, now supports left and right channels
+Treble     - SA3 only, now supports left and right channels
+Microphone - Hardware microphone input volume control
+Digital1   - Yamaha 3D enhancement "Wide" mixer
+
+All other mixer channels (e.g. "PCM", "CD", etc.) now have to be
+controlled via the "MS Sound System (CS4231)" mixer.  To facilitate
+this, the mixer device creation order has been switched so that
+the MSS mixer is created first.  This allows accessing the majority
+of the useful mixer channels even via single mixer-aware tools
+such as "aumix".
+
+
+Plug 'n Play
+------------
+
+In previous kernels (2.2.x), some configuration was required to
+get the driver to talk to the card.  Being the new millenium and
+all, the 2.4.x kernels now support auto-configuration if ISA PnP
+support is configured in.  Theoretically, the driver even supports
+having more than one card in this case.
+
+With the addition of PnP support to the driver, two new parameters
+have been added to control it:
+
+isapnp   - set to 0 to disable ISA PnP card detection
+
+multiple - set to 0 to disable multiple PnP card detection
+
+
+Optional Parameters
+-------------------
+
+Recent (December 2000) additions to the driver (based on a patch
+provided by Peter Englmaier) are two new parameters:
+
+ymode -    Set Yamaha 3D enhancement mode:
+           0 = Desktop/Normal  5-12 cm speakers
+           1 = Notebook PC (1) 3 cm speakers
+           2 = Notebook PC (2) 1.5 cm speakers
+           3 = Hi-Fi           16-38 cm speakers
+
+loopback - Set A/D input source. Useful for echo cancellation:
+           0 = Mic Right channel (default)
+           1 = Mono output loopback
+
+The ymode parameter has been tested and does work.  The loopback
+parameter, however, is untested.  Any feedback on its usefulness
+would be appreciated.
+
+
+Manual Configuration
+--------------------
+
+If for some reason you decide not to compile ISA PnP support into
+your kernel, or disabled the driver's usage of it by setting the
+isapnp parameter as discussed above, then you will need to do some
+manual configuration.  There are two ways of doing this.  The most
+common is to use the isapnptools package to initialize the card, and
+use the kernel module form of the sound subsystem and sound drivers.
+Alternatively, some BIOS's allow manual configuration of installed
+PnP devices in a BIOS menu, which should allow using the non-modular
+sound drivers, i.e. built into the kernel.
 
 I personally use isapnp and modules, and do not have access to a PnP
-BIOS machine to test.  If you have such a beast, try building both the
-MSS driver and this driver into the kernel (appropriately configured,
-of course).  I have received reports of this working, so it should be
-possible for most people with PnP BIOS.  If it does not work for you,
-then email me if you are willing to experiment in an effort to make it
-work.
-
-************************************************************************
-* I have now had two such machines, and I have fixed this to work
-* properly when built into the kernel.  The Toshiba Libretto series, or
-* at least models 70CT and 110CT which I have owned, use a Yamaha
-* OPL3-SAx (OPL3-SA3 according to documentation) sound chip, IRQ 5,
-* IO addresses 220/530/388/330/370 and DMA 1,0 (_not_ 0,1).  All these
-* configuration settings can be gathered by booting another OS which
-* recognizes the card already.
-*
-* I have made things 'just work' for the non-modular case on such
-* machines when configured properly.
-*
-* David Luyer <luyer@ucs.uwa.edu.au>
-************************************************************************
-
-If you are using isapnp, follow the directions in its documentation to
-produce a configuration file.  Here is the relevant excerpt I use for
-my SAx card from my isapnp.conf:
+BIOS machine to test.  If you have such a beast, configuring the
+driver to be built into the kernel should just work (thanks to work
+done by David Luyer <luyer@ucs.uwa.edu.au>).  You will still need
+to specify settings, which can be done by adding:
+
+opl3sa2=<io>,<irq>,<dma>,<dma2>,<mssio>,<mpuio>
+
+to the kernel command line.  For example:
+
+opl3sa2=0x370,5,0,1,0x530,0x330
+
+If you are instead using the isapnp tools (as most people have been
+before Linux 2.4.x), follow the directions in their documentation to
+produce a configuration file.  Here is the relevant excerpt I used to
+use for my SA3 card from my isapnp.conf:
 
 (CONFIGURE YMH0800/-1 (LD 0
 
-# Instead of (IO 0 (BASE 0x0220)), disable SB:
-(IO 0 (BASE 0x0000))
+# NOTE: IO 0 is for the unused SoundBlaster part of the chipset.
+(IO 0 (BASE 0x0220))
 (IO 1 (BASE 0x0530))
 (IO 2 (BASE 0x0388))
 (IO 3 (BASE 0x0330))
 (IO 4 (BASE 0x0370))
-(INT 0 (IRQ 7 (MODE +E)))
+(INT 0 (IRQ 5 (MODE +E)))
 (DMA 0 (CHANNEL 0))
-(DMA 1 (CHANNEL 3))
+(DMA 1 (CHANNEL 1))
 
 Here, note that:
 
 Port  Acceptable Range  Purpose
 ----  ----------------  -------
-IO 0  0x0220 - 0x0280   SB base address, I set to 0 just to be safe.
+IO 0  0x0220 - 0x0280   SB base address, unused.
 IO 1  0x0530 - 0x0F48   MSS base address
 IO 2  0x0388 - 0x03F8   OPL3 base address
 IO 3  0x0300 - 0x0334   MPU base address
 IO 4  0x0100 - 0x0FFE   card's own base address for its control I/O ports
 
-The IRQ and DMA values can be any that considered acceptable for a
+The IRQ and DMA values can be any that are considered acceptable for a
 MSS.  Assuming you've got isapnp all happy, then you should be able to
 do something like the following (which matches up with the isapnp
 configuration above):
 
-insmod mpu401
-insmod ad1848
-insmod opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=7 dma=0 dma2=3
-insmod opl3 io=0x388
-
-Remember that the opl3sa2 module's io argument is for it's own control
-port, which handles the card's master mixer for volume (on all cards),
-and bass and treble (on SA3 and SAx cards).
+modprobe mpu401
+modprobe ad1848
+modprobe opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=5 dma=0 dma2=1
+modprobe opl3 io=0x388
+
+See the section "Automatic Module Loading" below for how to set up
+/etc/modules.conf to automate this.
+
+An important thing to remember that the opl3sa2 module's io argument is
+for it's own control port, which handles the card's master mixer for
+volume (on all cards), and bass and treble (on SA3 cards).
+
+
+Troubleshooting
+---------------
 
 If all goes well and you see no error messages, you should be able to
 start using the sound capabilities of your system.  If you get an
@@ -112,29 +183,27 @@
 
 If you still cannot get the module to load, look at the contents of
 your system log file, usually /var/log/messages.  If you see the
-message "Unknown Yamaha audio controller version", then you have a
-different chipset than I've encountered so far.  Look for a line in
-the log file that says "opl3sa2.c: chipset version = <some number>".
-If you want me to add support for your card, send me the number from
-this line and any information you have on the make and chipset of your
-sound card, and I should be able to work up a permanent fix.
-
-If you do not see the chipset version message, and none of the other
-messages present in the system log are helpful, email me some details
-and I'll try my best to help.
+message "opl3sa2: Unknown Yamaha audio controller version", then you
+have a different chipset version than I've encountered so far.  Look
+for all messages in the log file that start with "opl3sa2: " and see
+if they provide any clues.  If you do not see the chipset version
+message, and none of the other messages present in the system log are
+helpful, email me some details and I'll try my best to help.
+
+
+Automatic Module Loading
+------------------------
 
 Lastly, if you're using modules and want to set up automatic module
 loading with kmod, the kernel module loader, here is the section I
 currently use in my modules.conf file:
 
 # Sound
-alias char-major-14 opl3sa2
-pre-install opl3sa2 modprobe "-k" "ad1848"
-post-install opl3sa2 modprobe "-k" "opl3"
+alias sound-slot-0 opl3sa2
 options opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=7 dma=0 dma2=3
 options opl3 io=0x388
 
-That's all it currently takes to get an OPL3-SAx card working on my
+That's all it currently takes to get an OPL3-SA3 card working on my
 system.  Once again, if you have any other problems, email me at the
 address listed above.
 
diff -u --recursive --new-file v2.4.1/linux/Documentation/usb/usb-serial.txt linux/Documentation/usb/usb-serial.txt
--- v2.4.1/linux/Documentation/usb/usb-serial.txt	Sat Feb  3 19:51:21 2001
+++ linux/Documentation/usb/usb-serial.txt	Thu Feb  8 16:30:40 2001
@@ -73,6 +73,11 @@
   the port to use for the HotSync transfer. The "Generic" port can be used
   for other device communication, such as a PPP link.
 
+  If after pressing the sync button, nothing shows up in the system log,
+  try resetting the Visor, first a hot reset, and then a cold reset if
+  necessary.  Some Visors need this before they can talk to the USB port
+  properly.
+  
   There is a webpage and mailing lists for this portion of the driver at: 
   http://usbvisor.sourceforge.net/
 
@@ -103,22 +108,22 @@
 
 Keyspan USA-series Serial Adapters
 
-  Single and Dual port adapters - driver uses Keyspan supplied 
+  Single, Dual and Quad port adapters - driver uses Keyspan supplied 
   firmware and is being developed with their support.
   
-  Driver isn't as far advanced as Keyspan PDA driver mentioned above.
-  
 Current status:
- Things that work:
-   Firmware upload for USA-18X, USA-28, USA-28X, USA-19 and USA-19W 
-   Simple character I/O fixed at 9600 baud on USA-19 only
-   
- Things that don't:
-   Everything else. (for now...)
+  The USA-18X, USA-28X, USA-19, USA-19W and USA-49W are supported and
+  have been pretty throughly tested at various baud rates with 8-N-1
+  character settings.  Other character lengths and parity setups are
+  presently untested.
+
+  The USA-28 isn't yet supported though doing so should be pretty
+  straightforward.  Contact the maintainer if you require this
+  functionality.
+  
+  More information is available at:
+        http://www.linuxcare.com.au/hugh/keyspan.html
    
- Big Things on the todo list:
-   Driver is in infancy, much functionality remains to be added
-
 
 FTDI Single Port Serial Driver
 
@@ -157,6 +162,7 @@
 Belkin USB Serial Adapter F5U103
 
   Single port DB-9/PS-2 serial adapter from Belkin with firmware by eTEK Labs.
+  The Peracom single port serial adapter also works with this driver.
 
 Current status:
   The following have been tested and work:
@@ -210,6 +216,11 @@
  The driver is generally working, though it still needs some more
  testing. It is derived from the Belkin USB Serial Adapter F5U103
  driver and its TODO list is valid for this driver as well.
+
+ This driver has also been found to work for other products, which have 
+ the same Vendor ID but different Product IDs. Sitecom's U232-P25 
+ serial converter uses Product ID 0x230 and Vendor ID 0x711 and works with 
+ this driver. Also, D-Link's DU-H3SP USB BAY also works with this driver.
 
 
 Generic Serial driver
diff -u --recursive --new-file v2.4.1/linux/MAINTAINERS linux/MAINTAINERS
--- v2.4.1/linux/MAINTAINERS	Sat Feb  3 19:51:21 2001
+++ linux/MAINTAINERS	Sun Feb  4 21:34:18 2001
@@ -857,6 +857,12 @@
 M:	pavel@atrey.karlin.mff.cuni.cz
 S:	Maintained
 
+NETWORK DEVICE DRIVERS
+P:	Jeff Garzik
+M:	jgarzik@mandrakesoft.com
+L:	linux-net@vger.kernel.org
+S:	Maintained
+
 NETWORKING [GENERAL]
 P:	Networking Team
 M:	netdev@oss.sgi.com
diff -u --recursive --new-file v2.4.1/linux/Makefile linux/Makefile
--- v2.4.1/linux/Makefile	Sat Feb  3 19:51:21 2001
+++ linux/Makefile	Thu Feb  8 16:33:13 2001
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 4
-SUBLEVEL = 1
-EXTRAVERSION =
+SUBLEVEL = 2
+EXTRAVERSION =-pre2
 
 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
@@ -110,7 +110,7 @@
 export SVGA_MODE = -DSVGA_MODE=NORMAL_VGA
 
 #
-# if you want the RAM disk device, define this to be the size in blocks.
+# If you want the RAM disk device, define this to be the size in blocks.
 # This is i386 specific.
 #
 
@@ -138,7 +138,7 @@
 DRIVERS-$(CONFIG_ISDN) += drivers/isdn/isdn.a
 DRIVERS-$(CONFIG_NET_FC) += drivers/net/fc/fc.o
 DRIVERS-$(CONFIG_APPLETALK) += drivers/net/appletalk/appletalk.o
-DRIVERS-$(CONFIG_TR) += drivers/net/tokenring/tr.a
+DRIVERS-$(CONFIG_TR) += drivers/net/tokenring/tr.o
 DRIVERS-$(CONFIG_WAN) += drivers/net/wan/wan.o
 DRIVERS-$(CONFIG_ARCNET) += drivers/net/arcnet/arcnet.a
 DRIVERS-$(CONFIG_ATM) += drivers/atm/atm.o
diff -u --recursive --new-file v2.4.1/linux/arch/alpha/kernel/alpha_ksyms.c linux/arch/alpha/kernel/alpha_ksyms.c
--- v2.4.1/linux/arch/alpha/kernel/alpha_ksyms.c	Sun Nov 12 19:27:11 2000
+++ linux/arch/alpha/kernel/alpha_ksyms.c	Thu Feb  8 12:56:29 2001
@@ -98,6 +98,8 @@
 EXPORT_SYMBOL(__memset);
 EXPORT_SYMBOL(__memsetw);
 EXPORT_SYMBOL(__constant_c_memset);
+EXPORT_SYMBOL(copy_page);
+EXPORT_SYMBOL(clear_page);
 
 EXPORT_SYMBOL(__direct_map_base);
 EXPORT_SYMBOL(__direct_map_size);
diff -u --recursive --new-file v2.4.1/linux/arch/alpha/kernel/osf_sys.c linux/arch/alpha/kernel/osf_sys.c
--- v2.4.1/linux/arch/alpha/kernel/osf_sys.c	Sat Feb  3 19:51:21 2001
+++ linux/arch/alpha/kernel/osf_sys.c	Thu Feb  8 12:56:29 2001
@@ -74,8 +74,10 @@
 	mm = current->mm;
 	mm->end_code = bss_start + bss_len;
 	mm->brk = bss_start + bss_len;
+#if 0
 	printk("set_program_attributes(%lx %lx %lx %lx)\n",
 		text_start, text_len, bss_start, bss_len);
+#endif
 	unlock_kernel();
 	return 0;
 }
diff -u --recursive --new-file v2.4.1/linux/arch/alpha/kernel/process.c linux/arch/alpha/kernel/process.c
--- v2.4.1/linux/arch/alpha/kernel/process.c	Tue Sep  5 13:50:02 2000
+++ linux/arch/alpha/kernel/process.c	Thu Feb  8 10:40:25 2001
@@ -416,22 +416,20 @@
  * Don't do this at home.
  */
 asmlinkage int
-sys_execve(unsigned long a0, unsigned long a1, unsigned long a2,
-	unsigned long a3, unsigned long a4, unsigned long a5,
-	struct pt_regs regs)
+sys_execve(char *ufilename, char **argv, char **envp,
+	   unsigned long a3, unsigned long a4, unsigned long a5,
+	   struct pt_regs regs)
 {
 	int error;
-	char * filename;
+	char *filename;
 
-	lock_kernel();
-	filename = getname((char *) a0);
+	filename = getname(ufilename);
 	error = PTR_ERR(filename);
 	if (IS_ERR(filename))
 		goto out;
-	error = do_execve(filename, (char **) a1, (char **) a2, &regs);
+	error = do_execve(filename, argv, envp, &regs);
 	putname(filename);
 out:
-	unlock_kernel();
 	return error;
 }
 
diff -u --recursive --new-file v2.4.1/linux/arch/alpha/kernel/sys_ruffian.c linux/arch/alpha/kernel/sys_ruffian.c
--- v2.4.1/linux/arch/alpha/kernel/sys_ruffian.c	Mon Nov 27 17:50:12 2000
+++ linux/arch/alpha/kernel/sys_ruffian.c	Thu Feb  8 12:56:29 2001
@@ -92,14 +92,80 @@
 #endif
 }
 
+/*
+ *  Interrupt routing:
+ *
+ *		Primary bus
+ *	  IdSel		INTA	INTB	INTC	INTD
+ * 21052   13		  -	  -	  -	  -
+ * SIO	   14		 23	  -	  -	  -
+ * 21143   15		 44	  -	  -	  -
+ * Slot 0  17		 43	 42	 41	 40
+ *
+ *		Secondary bus
+ *	  IdSel		INTA	INTB	INTC	INTD
+ * Slot 0   8 (18)	 19	 18	 17	 16
+ * Slot 1   9 (19)	 31	 30	 29	 28
+ * Slot 2  10 (20)	 27	 26	 25	 24
+ * Slot 3  11 (21)	 39	 38	 37	 36
+ * Slot 4  12 (22)	 35	 34	 33	 32
+ * 53c875  13 (23)	 20	  -	  -	  -
+ *
+ */
+
 static int __init
 ruffian_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
 {
-	/* We don't know anything about the PCI routing, so leave
-	   the IRQ unchanged.  */
-	return dev->irq;
+        static char irq_tab[11][5] __initdata = {
+	      /*INT  INTA INTB INTC INTD */
+		{-1,  -1,  -1,  -1,  -1},  /* IdSel 13,  21052	     */
+		{-1,  -1,  -1,  -1,  -1},  /* IdSel 14,  SIO	     */
+		{44,  44,  44,  44,  44},  /* IdSel 15,  21143	     */
+		{-1,  -1,  -1,  -1,  -1},  /* IdSel 16,  none	     */
+		{43,  43,  42,  41,  40},  /* IdSel 17,  64-bit slot */
+		/* the next 6 are actually on PCI bus 1, across the bridge */
+		{19,  19,  18,  17,  16},  /* IdSel  8,  slot 0	     */
+		{31,  31,  30,  29,  28},  /* IdSel  9,  slot 1	     */
+		{27,  27,  26,  25,  24},  /* IdSel 10,  slot 2	     */
+		{39,  39,  38,  37,  36},  /* IdSel 11,  slot 3	     */
+		{35,  35,  34,  33,  32},  /* IdSel 12,  slot 4	     */
+		{20,  20,  20,  20,  20},  /* IdSel 13,  53c875	     */
+        };
+	const long min_idsel = 13, max_idsel = 23, irqs_per_slot = 5;
+	return COMMON_TABLE_LOOKUP;
 }
 
+static u8 __init
+ruffian_swizzle(struct pci_dev *dev, u8 *pinp)
+{
+	int slot, pin = *pinp;
+
+	if (dev->bus->number == 0) {
+		slot = PCI_SLOT(dev->devfn);
+	}		
+	/* Check for the built-in bridge.  */
+	else if (PCI_SLOT(dev->bus->self->devfn) == 13) {
+		slot = PCI_SLOT(dev->devfn) + 10;
+	}
+	else 
+	{
+		/* Must be a card-based bridge.  */
+		do {
+			if (PCI_SLOT(dev->bus->self->devfn) == 13) {
+				slot = PCI_SLOT(dev->devfn) + 10;
+				break;
+			}
+			pin = bridge_swizzle(pin, PCI_SLOT(dev->devfn));
+
+			/* Move up the chain of bridges.  */
+			dev = dev->bus->self;
+			/* Slot of the next bridge.  */
+			slot = PCI_SLOT(dev->devfn);
+		} while (dev->bus->self);
+	}
+	*pinp = pin;
+	return slot;
+}
 
 #ifdef BUILDING_FOR_MILO
 /*
@@ -164,6 +230,6 @@
 	init_pci:		cia_init_pci,
 	kill_arch:		ruffian_kill_arch,
 	pci_map_irq:		ruffian_map_irq,
-	pci_swizzle:		common_swizzle,
+	pci_swizzle:		ruffian_swizzle,
 };
 ALIAS_MV(ruffian)
diff -u --recursive --new-file v2.4.1/linux/arch/alpha/kernel/traps.c linux/arch/alpha/kernel/traps.c
--- v2.4.1/linux/arch/alpha/kernel/traps.c	Mon Jun 19 17:59:33 2000
+++ linux/arch/alpha/kernel/traps.c	Thu Feb  8 12:56:29 2001
@@ -1093,7 +1093,9 @@
 {
 	/* We only get here for OSF system calls, minus #112;
 	   the rest go to sys_ni_syscall.  */
+#if 0
 	printk("<sc %ld(%lx,%lx,%lx)>", regs.r0, a0, a1, a2);
+#endif
 	return -ENOSYS;
 }
 
diff -u --recursive --new-file v2.4.1/linux/arch/alpha/lib/Makefile linux/arch/alpha/lib/Makefile
--- v2.4.1/linux/arch/alpha/lib/Makefile	Sat Dec 30 11:13:36 2000
+++ linux/arch/alpha/lib/Makefile	Thu Feb  8 12:56:29 2001
@@ -42,6 +42,8 @@
 	$(ev6)strncpy_from_user.o \
 	$(ev67)strlen_user.o \
 	$(ev6)csum_ipv6_magic.o \
+	$(ev6)clear_page.o \
+	$(ev6)copy_page.o \
 	strcasecmp.o \
 	fpreg.o \
 	callback_srm.o srm_puts.o srm_printk.o
diff -u --recursive --new-file v2.4.1/linux/arch/alpha/lib/clear_page.S linux/arch/alpha/lib/clear_page.S
--- v2.4.1/linux/arch/alpha/lib/clear_page.S	Wed Dec 31 16:00:00 1969
+++ linux/arch/alpha/lib/clear_page.S	Thu Feb  8 12:56:29 2001
@@ -0,0 +1,39 @@
+/*
+ * arch/alpha/lib/clear_page.S
+ *
+ * Zero an entire page.
+ */
+
+	.text
+	.align 4
+	.global clear_page
+	.ent clear_page
+clear_page:
+	.prologue 0
+
+	lda	$0,128
+	nop
+	unop
+	nop
+
+1:	stq	$31,0($16)
+	stq	$31,8($16)
+	stq	$31,16($16)
+	stq	$31,24($16)
+
+	stq	$31,32($16)
+	stq	$31,40($16)
+	stq	$31,48($16)
+	subq	$0,1,$0
+
+	stq	$31,56($16)
+	addq	$16,64,$16
+	unop
+	bne	$0,1b
+
+	ret
+	nop
+	unop
+	nop
+
+	.end clear_page
diff -u --recursive --new-file v2.4.1/linux/arch/alpha/lib/copy_page.S linux/arch/alpha/lib/copy_page.S
--- v2.4.1/linux/arch/alpha/lib/copy_page.S	Wed Dec 31 16:00:00 1969
+++ linux/arch/alpha/lib/copy_page.S	Thu Feb  8 12:56:29 2001
@@ -0,0 +1,49 @@
+/*
+ * arch/alpha/lib/copy_page.S
+ *
+ * Copy an entire page.
+ */
+
+	.text
+	.align 4
+	.global copy_page
+	.ent copy_page
+copy_page:
+	.prologue 0
+
+	lda	$18,128
+	nop
+	unop
+	nop
+
+1:	ldq	$0,0($17)
+	ldq	$1,8($17)
+	ldq	$2,16($17)
+	ldq	$3,24($17)
+
+	ldq	$4,32($17)
+	ldq	$5,40($17)
+	ldq	$6,48($17)
+	ldq	$7,56($17)
+
+	stq	$0,0($16)
+	subq	$18,1,$18
+	stq	$1,8($16)
+	addq	$17,64,$17
+
+	stq	$2,16($16)
+	stq	$3,24($16)
+	stq	$4,32($16)
+	stq	$5,40($16)
+
+	stq	$6,48($16)
+	stq	$7,56($16)
+	addq	$16,64,$16
+	bne	$18, 1b
+
+	ret
+	nop
+	unop
+	nop
+
+	.end copy_page
diff -u --recursive --new-file v2.4.1/linux/arch/alpha/lib/ev6-clear_page.S linux/arch/alpha/lib/ev6-clear_page.S
--- v2.4.1/linux/arch/alpha/lib/ev6-clear_page.S	Wed Dec 31 16:00:00 1969
+++ linux/arch/alpha/lib/ev6-clear_page.S	Thu Feb  8 12:56:29 2001
@@ -0,0 +1,54 @@
+/*
+ * arch/alpha/lib/ev6-clear_page.S
+ *
+ * Zero an entire page.
+ */
+
+        .text
+        .align 4
+        .global clear_page
+        .ent clear_page
+clear_page:
+        .prologue 0
+
+	lda	$0,128
+	lda	$1,125
+	addq	$16,64,$2
+	addq	$16,128,$3
+
+	addq	$16,192,$17
+	wh64	($16)
+	wh64	($2)
+	wh64	($3)
+
+1:	wh64	($17)
+	stq	$31,0($16)
+	subq	$0,1,$0
+	subq	$1,1,$1
+
+	stq	$31,8($16)
+	stq	$31,16($16)
+	addq	$17,64,$2
+	nop
+
+	stq	$31,24($16)
+	stq	$31,32($16)
+	cmovgt	$1,$2,$17
+	nop
+
+	stq	$31,40($16)
+	stq	$31,48($16)
+	nop
+	nop
+
+	stq	$31,56($16)
+	addq	$16,64,$16
+	nop
+	bne	$0,1b
+
+	ret
+	nop
+	nop
+	nop
+
+	.end clear_page
diff -u --recursive --new-file v2.4.1/linux/arch/alpha/lib/ev6-copy_page.S linux/arch/alpha/lib/ev6-copy_page.S
--- v2.4.1/linux/arch/alpha/lib/ev6-copy_page.S	Wed Dec 31 16:00:00 1969
+++ linux/arch/alpha/lib/ev6-copy_page.S	Thu Feb  8 12:56:29 2001
@@ -0,0 +1,203 @@
+/*
+ * arch/alpha/lib/ev6-copy_page.S
+ *
+ * Copy an entire page.
+ */
+
+/* The following comparison of this routine vs the normal copy_page.S
+   was written by an unnamed ev6 hardware designer and forwarded to me
+   via Steven Hobbs <hobbs@steven.zko.dec.com>.
+ 
+   First Problem: STQ overflows.
+   -----------------------------
+
+	It would be nice if EV6 handled every resource overflow efficiently,
+	but for some it doesn't.  Including store queue overflows.  It causes
+	a trap and a restart of the pipe.
+
+	To get around this we sometimes use (to borrow a term from a VSSAD
+	researcher) "aeration".  The idea is to slow the rate at which the
+	processor receives valid instructions by inserting nops in the fetch
+	path.  In doing so, you can prevent the overflow and actually make
+	the code run faster.  You can, of course, take advantage of the fact
+	that the processor can fetch at most 4 aligned instructions per cycle.
+
+	I inserted enough nops to force it to take 10 cycles to fetch the
+	loop code.  In theory, EV6 should be able to execute this loop in
+	9 cycles but I was not able to get it to run that fast -- the initial
+	conditions were such that I could not reach this optimum rate on
+	(chaotic) EV6.  I wrote the code such that everything would issue
+	in order. 
+
+   Second Problem: Dcache index matches.
+   -------------------------------------
+
+	If you are going to use this routine on random aligned pages, there
+	is a 25% chance that the pages will be at the same dcache indices.
+	This results in many nasty memory traps without care.
+
+	The solution is to schedule the prefetches to avoid the memory
+	conflicts.  I schedule the wh64 prefetches farther ahead of the
+	read prefetches to avoid this problem.
+
+   Third Problem: Needs more prefetching.
+   --------------------------------------
+
+	In order to improve the code I added deeper prefetching to take the
+	most advantage of EV6's bandwidth.
+
+	I also prefetched the read stream. Note that addingtched the pages 
+
+er ahead cler Driv r svl