Commit Graph

108 Commits

Author SHA1 Message Date
jkh
808a36ef65 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
wollman
19e2ac904f Use the new if_multiaddrs list for multicast addresses rather than the
previous hackery involving struct in_ifaddr and arpcom.  Get rid of the
abominable multi_kludge.  Update all network interfaces to use the
new machanism.  Distressingly few Ethernet drivers program the multicast
filter properly (assuming the hardware has one, which it usually does).
1997-01-13 21:26:53 +00:00
rgrimes
33c2e639e1 Cosmetic code cleanup from Matt's latest driver.
a)  Removal of private typedefs tulip_uint*_t, use standard u_int_*_t.

b)  Change [Dd][Cc]21.4. to just 21.4., seems Dec has done this to all
    of the drivers for all OS's.  (Did they get in trouble with someone?)
    [The few that remain can either not be eliminated, or are waiting for
    additional driver functional changes that will remove them.]

c)  Move some code from dc21040.h into the driver, later a whole block of that
    code and more will move to devar.h, but for now this makes it easier
    to study diffs.

d)  Add a big bold comment to the README.de file about it not reflecting
    reality anymore.

Note that these are all cosmetic changes and should be no functional
change in the driver whatsoever.  If _anyone_ spots a problem introduced
by this please let me know ASAP!
1996-12-01 06:01:00 +00:00
dg
92ac74cfde Put the packet error printf inside #ifdef DIAGNOSTIC. 1996-11-10 13:36:46 +00:00
bde
b49ecb9108 Updated #includes to 4.4lite style. 1996-10-15 19:22:46 +00:00
wollman
a21642397b Implement the 802.3 MIB in a way that uses the generic interface
defined in if_mib.h.
1996-10-10 19:44:10 +00:00
dg
42b84ad67d Add back shutdown support, this time using the at_shutdown() mechanism. 1996-09-20 04:35:15 +00:00
dg
bd03b16ed6 Updated driver to a newer version from Matt Thomas, preserving our local
changes. This version should fix a number of bugs such as with auto-
speed sensing and at least one known panic.

Submitted by:	Matt Thomas (matt@3am-software.com)
1996-09-18 14:44:31 +00:00
phk
bca885205d Remove devconf, it never grew up to be of any use. 1996-09-06 23:09:20 +00:00
phk
954270700f Use ether_ioctl() to do a lot of grunt work. 1996-08-06 21:09:25 +00:00
dg
4912c461e8 Updated this driver to a newer version from Matt. This should fix several
bugs related to support of dc21041 chips and other problems.

Submitted by:	Matt Thomas <matt@3am-software.com>
1996-06-14 05:25:32 +00:00
wollman
8cff178a4c Let the user know what errors are experienced on received packets.
I spent the better part of a day trying to figure out why my
experiment didn't work the way I expected, only to find out that
the router was dropping huge numbers of packets because of PCI bus
priblems.  This does not fix the bug that errors are counted as
input packets because my patch doesn't apply cleanly.
1996-05-21 19:05:31 +00:00
phk
5d01dc3d50 Another sweep over the pmap/vm macros, this time with more focus on
the usage.  I'm not satisfied with the naming, but now at least there is
less bogus stuff around.
1996-05-03 21:01:54 +00:00
phk
5a6fb3a7da removed:
CLBYTES PD_SHIFT PGSHIFT NBPG PGOFSET CLSIZELOG2 CLSIZE pdei()
        ptei() kvtopte() ptetov() ispt() ptetoav() &c &c
new:
        NPDEPG

Major macro cleanup.
1996-05-02 14:21:14 +00:00
fenner
ad1e6f97bc Eliminate reference to ac_ipaddr in FreeBSD case. 1996-03-23 19:29:10 +00:00
wollman
25ee6cca2a Clean up Ethernet drivers:
- fill in and use ifp->if_softc
	- use if_bpf rather than private cookie variables
	- change bpf interface to take advantage of this
	- call ether_ifattach() directly from Ethernet drivers
	- delete kludge in if_attach() that did this indirectly
1996-02-06 18:51:28 +00:00
phk
2dd896405c The last part of the ether_sprint -> %6D change.
Sorry for the delay.
(%D is for hexdumping.)
1996-01-26 09:29:29 +00:00
se
9516aa2caf Make PCI interrupt handlers return void like everybody else does.
Reviewed by:	davidg
1996-01-23 21:48:28 +00:00
phk
9cb413a93c Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
dg
c30f46c534 Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
asami
e6b331e558 'see" -> "see" (in the comment).
Noticed by:	hilit19.el (stop laughing! ;)
1995-11-29 11:19:02 +00:00
dg
6a1863f80c Set flag to stop backoff counter from counting when carrier activity is
detected. This dramatically reduces the collision rate (about 1/10th of
what is was previously).

Submitted by:	Matt Thomas <matt@lkg.dec.com>
1995-11-17 12:11:22 +00:00
phk
adf28f3330 statizice some internal magic. 1995-11-14 10:03:56 +00:00
dg
440393bb44 From Matt Thomas:
"I screwed the initialization of the burstsize.  Right now it will default
to 0 (which can cause corruption problems on high latency PCI buses).  It
should be set to 8 longwords to avoid problems with certain PCI chipsets."

Submitted by:	Matt Thomas <matt@lkg.dec.com>
1995-10-26 07:40:11 +00:00
wollman
234ef116d9 Say goodbye to IFF_NOTRAILERS. Support for trailers was officially
dropped for 4.4, but for some reason this flag lived on.  (Until
today, that is.)
1995-10-13 19:48:06 +00:00
dg
31dfaff825 Add SIOCGIFADDR support. 1995-10-07 20:34:30 +00:00
dg
0da9546df9 Check for failure to map the interrupt. Not doing so will guarantee that
the machine will wedge later.
1995-10-02 14:04:33 +00:00
dg
302aaf80d5 Latest version from Matt Thomas. This version works with the newer
DC21041 NICs and with ZNYX cards.

Submitted by:	Matt Thomas
1995-09-29 19:52:10 +00:00
dg
3a6fb45237 Fixed bug that was fixed in 1.28.2.1/1.29 a little differently; the
difference is more or less cosmetic.

Submitted by:	Matt Thomas
1995-06-28 05:46:19 +00:00
rgrimes
1b1ee55538 Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
rgrimes
c86f0c7a71 Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
dg
d625c1c9da Fixed bugs in multicast address handling (flag was set in wrong register,
etc.). The tulip_start routine was rewritten to use less stack space (I've
been having problems with wcarchive overflowing the stack and this should
help a little). This version also has preliminary NetBSD support.

Rod Grimes helped in testing this version of the driver. Thanks Rod. It's
additionally been extensively tested here and on wcarchive.

Submitted by:	Matt Thomas
1995-05-26 02:02:44 +00:00
dg
cf998003ee There are two serious bugs in if_de.c. The first should not matter
to most users (the wrong length is passed to ether_input).  The
second is more serious.  The multicast hash algorithm uses the wrong
(low) bits instead of the right (high) bits.  This is only an issue
if you use >12 multicast addresses but if you are using IP multicast
then it might affect you...

Submitted by:	Matt Thomas
1995-05-22 13:32:24 +00:00
dg
5f72b26c0a Fixed bug in bpf/multicast support that caused multicast packets to get
thrown out if bpfilter support and no BPF listener. (submitted by Bill
Fenner)
Removed unused variable and changed another from a stack variable to a
static - the variable was a rather large array of structs that consumed
a lot of stack space. (me)
1995-05-22 05:51:41 +00:00
dg
00d59a71a5 Fixed mbuf leak and panic that occurred when packets got too memory
fragmented.
Added support for Cogent em100 boards.
Fixed bug that caused BPF to toggle the card to UTP.
Various other improvements.

Submitted by:	Matt Thomas and David Greenman
1995-05-05 20:09:51 +00:00
jkh
50e5eb484b Matt says that no pre-2.3 pass boards were supposed to ship, but I certainly
got a 2.2 version DC21040 chip in my SMC ethernet card!  He suggests bumping
the check all the way down to 2.0 since it's pre-2.0 we're actually guarding
against.
Submitted by:   Matt Thomas <matt@lkg.dec.com>
1995-04-18 12:54:30 +00:00
dg
4bd79cb29a Changed minimum supported rev of DC21040 to pass 2.2. 1995-04-17 08:16:14 +00:00
dg
02e9c53b97 Various changes from Matt Thomas to improve media selection and fix
support for the DC21140.
1995-04-13 04:46:40 +00:00
dg
57ebd3303a From Matt Thomas: Added support for 100Mb cards (such as the DEC DE-500-XA
and SMC 9332).
1995-04-09 04:46:15 +00:00
se
dfcb9a5280 Cosmetic changes.
Submitted by:	Wolfgang Stnglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:41:19 +00:00
dg
b553215b12 Added a new field to the pci_device struct called pd_shutdown to specify
a device specific shutdown routine for devconf. Assign the value of this
to the kern_devconf struct. Implement a device shutdown routine for if_de
that disables the device. This will stop the device from corrupting memory
after a reboot.
1995-03-17 04:27:21 +00:00
se
4c4945abee Prepare for shared interrupts (required by the new PCI code that adds
support for PCI PCI bridges, e.g. found on 4ch. Ethernet cards).

Submitted by:   Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-16 17:41:20 +00:00
dg
54d8522bec Turn on "Capture Effect" avoidence. This modifies the collision algorithm
so that the interface won't have the effect of blocking other senders
during bulk transfers (i.e. hogging the ethernet). It improves performance
in all of my tests by reducing collisions and I believe it to be a Good
Thing.
1995-02-10 06:06:42 +00:00
dg
57e383cd4c Reapplied all of Stefan's changes. What a mess - the files were modified
and moved at the same time. This made it *very* difficult to fix the
revision log lossage that happend when the files were moved. SIGH.
1995-02-02 13:12:18 +00:00
dg
1cfe037240 Fixed up include paths after copying these in the repository. 1995-02-02 12:36:19 +00:00
dg
a88d789288 Restore my changes in rev 1.11 that Garrett killed in his commit. 1994-12-22 23:42:25 +00:00
wollman
e6ec63204f Move ARP interface initialization into if_ether.c:arp_ifinit(). 1994-12-22 21:56:22 +00:00
dg
76d9732fa9 Unbogify the size being passed to bzero when clearing struct softc. 1994-12-18 14:40:26 +00:00
dg
f89e56828a The physical memory allocated for input DMA must be contiguous. The driver
worked in the past only because of good fortune. Anyway, use the contig alloc
routine I wrote awhile ago (vm_page_alloc_contig) for the sound code to do
this allocation. Also, specify read+write on the permissions to pmap_enter().
Specifying just read can have unexpected consquences.
1994-12-11 01:45:41 +00:00
dg
74d1e69716 Fix bug I introduced that broke BPF support. Caused by a byte order problem
in an if () expression. Problem fixed by removing the test for ETHERTYPE_*
before passing packet to higher layers.
1994-11-30 12:08:23 +00:00
dg
68acac5e76 Moved conversion of ether_type to host byte order out of ethernet drivers
and into ether_input(). It was silly to have bpf want this one way and
ether_input want it another way. Ripped out trailer support from the few
remaining drivers that still had it.
1994-11-24 14:29:38 +00:00
dg
98cbcd3a01 Bunch of fixes from Matt Thomas:
1) make #includes correct
2) fix bugs in address check macros
3) fixed bugs in, and enabled, recopy if heavily fragmented code
4) moved call to bpf tap to be before enqueing packet (probably gratuitous)
5) fixed bug that caused "abnormal interrupt" at boot time/first use
6) added support for reading Zynx address ROM
7) fixed bug that caused broadcasts to not work shortly after booting (only
	manifested if not using multicast - e.g. not in FreeBSD 2.0)
8) fixed spelling errors in comments

Submitted by:	Matt Thomas
1994-11-22 09:47:31 +00:00
dg
05ff8934e3 Added support for SIOCSIFMTU ioctl. Fixed bug that caused panic at boot time
related to interrupts being enabled before the device attach. The interrupt
should be mapped *after* the device attach.
1994-11-13 12:39:38 +00:00
dg
233b360d13 Added missing call to bpf on the transmit side. Nuked revision log. 1994-11-10 02:56:48 +00:00
dg
f0b0ae21dd Fixed bug that somehow made it into here: the ifp must be stored in the
mbuf header for received packets. Minor performance optimizations. Removed
#ifdef MULTICAST's as this isn't optional in our kernel.
1994-11-09 15:12:44 +00:00
se
2c2e442f7b Submitted by: Matt Thomas <thomas@lkg.dec.com>
Preliminary FAST Ethernet support added (DEC21140).
1994-10-12 11:19:36 +00:00
se
bdd76ad243 Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Bug fixed, that caused system hang on first interrupt on some motherboards.

New version of PCI bus configuration code, now supports dynamic interrupt
configuration (using BIOS supplied values).
NCR SCSI and DEC Ethernet driver patched to use this feature.
*** Remove PCI IRQ specifications from your kernel config file ! ***
1994-10-12 02:33:23 +00:00
wollman
1fbb6a0bd3 Add Matt Thomas's DC21040 PCI Ethernet driver. (This is turning out
to be quite a popular chip, so expect to see a number of products
based on it.)
1994-10-01 20:16:47 +00:00