freebsd kernel with SKQ
Go to file
wpaul 86f0f2b26f Updates for the ThunderLAN driver:
- probe for PHYs by checking the BMSR (phy status) register instead
  of the vendor ID register.

- fix the autonegotiation routine so that it figures out the autonegotiated
  modes correctly.

- add tweaks to support the Olicom OC-2326 now that I've actually had
  a chance to test one

	o Olicom appears to encode the ethernet address in the EEPROM
	  in 16-bit chunks in network byte order. If we detect an
	  Olicom card (based on the PCI vendor ID), byte-swap the station
	  address accordingly.

	  XXX The Linux driver does not do this. I find this odd since
	  the README from the Linux driver indicates that patches to
	  support the Olicom cards came from somebody at Olicom; you'd
	  think if anyone would get that right, it'd be them. Regardless,
	  I accepted the word of the disgnoatic program that came bundled
	  with the card as gospel and fixed the attach routine to make
	  the station address match what it says.

	o The version of the 2326 card that I got for testing is a
	  strange beast: the card does not look like the picture on
	  the box in which it was packed. For one thing, the picture
	  shows what looks like an external NS 83840A PHY, but the
	  actual card doesn't have one. The card has a TNETE100APCM
	  chip, which appears to have not only the usual internal
	  tlan 10Mbps PHY at MII address 32, but also a 10/100 PHY
	  at MII address 0. Curiously, this PHY's vendor and device ID
	  registers always return 0x0000. I suspect that this is
	  a mutant version of the ThunderLAN chip with 100Mbps support.
	  This combination behaves a little strangely and required the
	  following changes:

		- The internal PHY has to be enabled in tl_softreset().
		- The internal PHY doesn't seem to come to life after
		  detecting the 100Mbps PHY unless it's reset twice.
		- If you want to use 100Mbps modes, you have to isolate
		  the internal PHY.
		- If you want to use 10Mbps modes, you have to un-isolate
		  the internal PHY.

	The latter two changes are handled at the end of tl_init(): if
	the PHY vendor ID is 0x0000 (which should not be possible if we
	have a real external PHY), then tl_init() forces the internal
	PHY's BMCR register to the proper values.
1998-08-03 01:33:12 +00:00
bin Add missing "else", without whom the prev. commit is a null change. 1998-08-02 22:47:11 +00:00
contrib Fixed printf format errors. 1998-08-02 16:44:18 +00:00
crypto Fix nasty typo that randomly caused kinit to not properly deduce the 1998-03-29 07:27:43 +00:00
etc Introduce KRB5_HOME variable. 1998-08-01 19:55:32 +00:00
games Remove comment relevant to 16bit integers only. 1998-07-26 16:49:20 +00:00
gnu Fixed printf format warnings for non-errors. This change is null unless 1998-08-02 14:35:35 +00:00
include Added iso646.h as defined by the Single UNIX Specification, version 2. 1998-08-01 13:42:12 +00:00
kerberos5 Fix a break in the includes where the build blows chunks if it is 1997-10-02 15:03:23 +00:00
kerberosIV Debogotify. ln -f should be ln -s to allow the obj/ dir to be 1998-03-28 07:47:05 +00:00
lib The pthreads standard has been published. Change: 1998-08-03 00:58:37 +00:00
libexec Fixed printf format errors. 1998-08-02 16:44:18 +00:00
lkm A better solution to the rm_at_exit problem: Register the exit function 1998-07-27 01:07:01 +00:00
release MF22: various fixes for new XFree86 dist and cdrom warnings. 1998-07-21 06:44:42 +00:00
sbin Fixed printf format errors. 1998-08-02 16:06:35 +00:00
secure Staticise a variable. 1997-10-08 07:02:48 +00:00
share The pthreads standard has been published. Change: 1998-08-03 00:58:37 +00:00
sys Updates for the ThunderLAN driver: 1998-08-03 01:33:12 +00:00
tools Add mid scripts. Mid is a tool which create a Message-ID database 1998-05-20 09:20:02 +00:00
usr.bin Fixed printf format errors. 1998-08-02 15:18:45 +00:00
usr.sbin Fixed printf format errors. 1998-08-02 16:06:35 +00:00
COPYRIGHT This is the official 4.4 Lite copyright. 1994-09-11 07:53:28 +00:00
Makefile Malformed conditional if MACHINE_ARCH is not defined. From rev 1.195. 1998-08-02 09:24:59 +00:00
Makefile.alpha Add perl to the list of build tools because it is needed to build the 1998-05-12 23:11:58 +00:00
README Re-alphabetize and update the subdir descriptions. 1998-06-30 08:08:05 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.11 1997/08/09 14:36:20 jkh 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 - also export controlled.

lib		System libraries.

libexec		System daemons.

lkm		Loadable Kernel Modules.

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