FreeBSD src
c38c22251d
ADMtek AL981 "Comet" chipset. The AL981 is yet another DEC tulip clone, except with simpler receive filter options. The AL981 has a built-in transceiver, power management support, wake on LAN and flow control. This chip performs extremely well; it's on par with the ASIX chipset in terms of speed, which is pretty good (it can do 11.5MB/sec with TCP easily). I would have committed this driver sooner, except I ran into one problem with the AL981 that required a workaround. When the chip is transmitting at full speed, it will sometimes wedge if you queue a series of packets that wrap from the end of the transmit descriptor list back to the beginning. I can't explain why this happens, and none of the other tulip clones behave this way. The workaround this is to just watch for the end of the transmit ring and make sure that al_start() breaks out of its packet queuing loop and waiting until the current batch of transmissions completes before wrapping back to the start of the ring. Fortunately, this does not significantly impact transmit performance. This is one of those things that takes weeks of analysis just to come up with two or three lines of code changes. |
||
---|---|---|
bin | ||
contrib | ||
crypto | ||
etc | ||
games | ||
gnu | ||
include | ||
kerberos5 | ||
kerberosIV | ||
lib | ||
libexec | ||
release | ||
sbin | ||
secure | ||
share | ||
sys | ||
tools | ||
usr.bin | ||
usr.sbin | ||
COPYRIGHT | ||
Makefile | ||
Makefile.inc0 | ||
Makefile.inc1 | ||
Makefile.upgrade | ||
README | ||
UPDATING |
This is the top level of the FreeBSD source directory. This file was last revised on: $Id: README,v 1.13 1998/09/13 09:38:34 markm Exp $ For copyright information, please see the file COPYRIGHT in this directory (additional copyright information also exists for some sources in this tree - please see the specific source directories for more information). The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree, the most commonly used one being ``world'', which rebuilds and installs everything in the FreeBSD system from the source tree except the kernel and the contents of /etc. Please see the top of the Makefile in this directory for more information on the standard build targets and compile-time flags. Building a kernel with config(8) is a somewhat more involved process, documentation for which can be found at: http://www.freebsd.org/handbook/kernelconfig.html And in the config(8) man page. The sample kernel configuration files reside in the sys/i386/conf sub-directory (assuming that you've installed the kernel sources), the file named GENERIC being the one used to build your initial installation kernel. The file LINT contains entries for all possible devices, not just those commonly used, and is meant more as a general reference than an actual kernel configuration file (a kernel built from it wouldn't even run). Source Roadmap: --------------- bin System/User commands. contrib Packages contributed by 3rd parties. crypto Export controlled stuff (see crypto/README). etc Template files for /etc games Amusements. gnu Various commands and libraries under the GNU Public License. Please see gnu/COPYING* for more information. include System include files. kerberosIV Kerberos package. lib System libraries. libexec System daemons. release Release building Makefile & associated tools. sbin System commands. secure DES and DES-related utilities - NOT FOR EXPORT! share Shared resources. sys Kernel sources. tools Utilities for regression testing and miscellaneous tasks. usr.bin User commands. usr.sbin System administration commands. For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see: http://www.freebsd.org/handbook/synching.html