Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/mac68k/dev/if_ae.c
RevisionDateAuthorComments
 1.80  19-Jan-2010  pooka Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client. This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached. However, callers of bpf can
now be modularized.

Dynamically loadable bpf could probably be done fairly easily with
coordination from the stub driver and the real driver by registering
attachments in the stub before the real driver is loaded and doing
a handoff. ... and I'm not going to ponder the depths of unload
here.

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
 1.79  06-Jan-2007  martin branches: 1.79.48;
If we have a single byte left over after filling in all mbuf data, we need
to increase the "totlen" count too. From Sungwon Chung.
 1.78  09-Sep-2006  tsutsui branches: 1.78.4;
Apply patch from Scott Reynolds in PR port-mac68k/32583
with some tweaks (add a comment and macro):
Handle odd byte case correctly in (ETHER_MIN_LEN-ETHER_CRC_LEN) padding
so that bus_space_set_region_2() won't be called with count==0.
 1.77  11-Dec-2005  christos branches: 1.77.8; 1.77.18; 1.77.20;
merge ktrace-lwp.
 1.76  15-Jan-2005  chs branches: 1.76.8; 1.76.10;
de-__P, remove register, ansify, b* -> mem*.
 1.75  15-Jul-2003  lukem branches: 1.75.6;
__KERNEL_RCSID()
 1.74  22-Jan-2003  bouyer branches: 1.74.2;
We want bus_space_set_region_2(), not _1() here.
 1.73  21-Jan-2003  jdolecek fix pasto in previous to make this compile
 1.72  15-Jan-2003  bouyer Zero out the NIC memory when padding packet to ETHER_MIN_LEN-ETHER_CRC_LEN
sc->write_mbuf now return len of buffer, including padding.
Tested with a PCI ne2000.
 1.71  10-Nov-2001  jklos branches: 1.71.10;
Now properly probes for cards with 64k of buffer. Reversed order
of tests in case space isn't fully decoded.
 1.70  13-Sep-2000  scottr branches: 1.70.4; 1.70.6; 1.70.8;
Resolve bus_space_write_region_2() type mismatches.
 1.69  13-Sep-2000  scottr ae_write_mbuf() broke with the last change; revert.
 1.68  30-Jul-2000  briggs Make bus_space_write_region_2 usage match prototype.
 1.67  12-Jan-1998  thorpej branches: 1.67.16; 1.67.26;
Update for changes to config.
 1.66  02-Nov-1997  thorpej Adjust for ifmedia-related changes to dp8390 driver.
 1.65  11-Aug-1997  scottr branches: 1.65.4;
Make #include directives consistent. All MD headers are of the form:

#include <mac68k/{dev,mac68k}/foo.h>
 1.64  29-Apr-1997  scottr branches: 1.64.4;
Use the new MI 8390 driver, and garbage collect.
 1.63  28-Apr-1997  scottr From Mycroft: Oops; forgot to GC the last mbuf allocated when
out of clusters.
 1.62  24-Apr-1997  scottr From Mycroft: If we fail to allocate a cluster to hold a large packet,
simply drop it rather than using a chain of tiny mbufs.
 1.61  14-Apr-1997  scottr Purely cosmetic cleanup:

- Remove unused `register' modifier on declarations
- Reverse the sense of some tests to make the code more clear
- Type casts per KNF
- Move a static variable into the only function that uses it (perhaps
we can eliminate it entirely, someday?)
 1.60  19-Mar-1997  scottr Several more changes to move us toward MI-ness:

- Use more consistent and portable types in the softc.
- Map registers using an array of bus_size_t offsets, and set up the
mapping in the attach code (thanks to Jason Thorpe for suggesting
this!).
- Disable the ae-specific watchdog, which is no longer necessary in
the general case.

Still remaining: split out functions used to copy data to/from the
card, and retain a way to have a local driver name with the MI code.
 1.59  17-Mar-1997  scottr Clean up some missed pieces of the new ARP conversion.
 1.58  15-Mar-1997  is New ARP system, supports IPv4 over any hardware link.

Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
 1.57  04-Mar-1997  scottr Correct offsets in the memory size probe; bus_space uses byte offsets. Fix suggested by
Ken Nakata.
 1.56  28-Feb-1997  scottr Define aesetup() to return an int, so that the attach function can
determine whether there was an error (if so, we unmap the slot space
for this device). Use this functionality to tell the attach function
that we couldn't clear the card's buffer.

Also in aesetup(), eliminate the bogus repetition of the error message
we print when the buffer clear actually fails. Noticed by Hauke Fath.
 1.55  28-Feb-1997  scottr Move the NuBus-specific watchdog function from if_ae.c to if_ae_nubus.c,
and allow the attach function to override the default watchdog. Also,
do some minor cosmetic surgery (rename bus space tags/handles and some
KNFing I missed the first time around).
 1.54  25-Feb-1997  scottr Move bus-independent setup code back into if_ae.c; enable the use of
configuration flags. For NuBus cards, attempt to find the MAC address
in the declaration ROM resources.
 1.53  24-Feb-1997  scottr Add support for the Kinetics EtherPort SE/30, from Ken Nakata.
 1.52  24-Feb-1997  scottr Split out the NuBus attachment code, and convert to bus.h
 1.51  22-Feb-1997  scottr Add bus.h, in light of recent nubus_attach_args changes
 1.50  18-Dec-1996  scottr branches: 1.50.6;
Work around uninitialized variable warning
 1.49  16-Dec-1996  scottr Convert all foo_match() functions to use a `struct cfdata *' for their
second argument. The NuBus autoconfig code had to be reorganized as a
result of this, and looks much more like a directly-attached bus now.
These changes eliminate __BROKEN_INDIRECT_CONFIG.
 1.48  13-Oct-1996  christos backout previous kprintf change
 1.47  11-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.46  15-May-1996  briggs print the failure if we do not correctly determine the amount of RAM
on the ethernet card.
 1.45  07-May-1996  thorpej Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit. Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
 1.44  06-May-1996  briggs Do not depend on the nubus being mapped in one huge segment.
 1.43  05-May-1996  briggs Prototype for -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized
Also change the device probing scheme to use something a bit more rational.
A current side-effect is that nubus cards are double-mapped. I expect
to fix that shortly.
Also change splclock() to block everything but serial hardware interrupts.
 1.42  29-Mar-1996  briggs via.h -> machine/viareg.h.
 1.41  17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.40  02-Feb-1996  briggs Force the talley counters to be read when we get the interrupt. GCC was
nicely optimizing the reads out for us. Kudos for this one go to
Steven R. Weiss <srw@hvcn.org>.
 1.39  13-Jan-1996  briggs Fix typo in last change.
 1.38  12-Jan-1996  briggs Patch to at least recognise FOCUS EtherLAN. From Erik Bertelson
<erik@sockdev.uni-c.dk>
 1.37  24-Dec-1995  mycroft The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
 1.36  24-Sep-1995  briggs Add Technology Works ethernet card. From
Kazunari Nakamura <kazu@nkk.co.jp>.
 1.35  09-Aug-1995  briggs Missing increment operator for if_opackets in last change.
 1.34  30-Jul-1995  briggs Fix signed/unsigned gaff in last.
Bring up-to-date with latest rash of changes to if_ed.c.
 1.33  30-Jul-1995  briggs Add support for Farallon from Brian Gaeke (brg@dgate.org).
 1.32  30-Jul-1995  briggs Read the packet header count in bytes, not as a word--word reads return
invalid data on some cards (notably old Apple Ethernet NB and Farallon
cards at least).
 1.31  28-Jun-1995  cgd note that most of dev/ic's contents have changed names
 1.30  21-Jun-1995  briggs Treat 0 as a failure case for ae_id_card() and take out
null-op check for a 0 addrlist in init.
 1.29  05-May-1995  briggs Add some code/defines to differentiate Asante and Interlan/Gator cards
correctly with the new nubus code.
 1.28  29-Apr-1995  briggs Add new nubus handling that's much more robust.
Update via, if_ae, and grf accordingly.
Revamp grf.
 1.27  22-Apr-1995  briggs Add some multicast byteorder-related changes from djh@mulga.cs.mu.OZ.AU.
 1.26  21-Apr-1995  briggs Enable nubus interrupts after registering.
 1.25  21-Apr-1995  briggs First pass of KNFication. Needs more.
 1.24  19-Apr-1995  briggs Initialize totlen in ae_put. Thanks to chopps for pointing it out!
Also, switch back from using struct ed_ring to using struct ae_ring
because BYTE_ORDER == BIG_ENDIAN, but the card is in x86 byte order
mode because NuBUS does the swap "for us" on 16- and 32-bit transfers.
We should probably figure some way to use the std ed_ring if/when
all the 8390 drivers are all fully merged.
 1.23  16-Apr-1995  briggs Get this working. Mainly, don't always round to word transfers on
receive.
 1.22  13-Apr-1995  briggs Update to use dev/ic/dp8390.h. Mostly from mycroft.
Still get extra data on either transmit or recieve, but want to
checkpoint this work.
 1.21  12-Apr-1995  briggs Almost working synch with if_ed.c. Much by mycroft. Fixups by me.
Inserts garbage characters--this driver isn't ready for use quite yet.
 1.20  08-Apr-1995  briggs Fixup types of a few functions to match if.h structure.
 1.19  08-Apr-1995  briggs Print a diagnostic if we do hit the watchdog and recover w/o resetting.
 1.18  23-Mar-1995  briggs Serious kludge around network timeouts. Network timeouts seem to be
caused by the VIA missing the ethernet slot interrupt. If we get a
watchdog, try calling the via's nubus interrupt function. If that
causes an interrupt, don't reset anything. If it doesn't, use old
behavior (log timeout and reset).

Yuck.
 1.17  01-Mar-1995  briggs Raise watchdog timer a tad.
 1.16  04-Dec-1994  briggs Nuke Log in if_aereg.h and remove duplicate (and benign) sc->smem_size
assignment from Brad Parker (brad@fcr.com).
 1.15  03-Dec-1994  briggs At least somewhat functional ethernet driver from Brad Parker
(brad@fcr.com). Requires changes to via.c which are coming with
other changes in a moment...
 1.14  26-Oct-1994  cgd new RCS ID format.
 1.13  26-Jun-1994  briggs MIN -> min. This needs a lot of work.
 1.12  20-Mar-1994  lkestel Fixed a few major bugs. add_nubus_intr() was getting the wrong address,
and bcopy and bzero were being used. The latter use longs to copy/zero,
and some ethernet cards can't handle longs. I've added bbcopy and bbzero
as a temporary hack, but these should later be added to locore and maybe
changed to use shorts. Still doesn't work: I can now get an interrupt on
the first transmit, but further transmits don't generate more interrupts.
 1.11  20-Mar-1994  briggs Goof. Missed some mods in the changes to config.new a long time ago.
Thanks go to kesteloo@cs.unc.edu (Lawrence Kesteloot) for finding this.
 1.10  01-Mar-1994  briggs More Dayna separation.
 1.9  27-Feb-1994  briggs A little clean-up.
 1.8  26-Feb-1994  briggs Cleaned up the probe a little by actually using data from the decl. ROMs.
 1.7  23-Feb-1994  briggs Bail out in the probe since it's not safe at the moment (hangs on my
DaynaPort card). Will fix when I get docs for the card.
 1.6  22-Feb-1994  briggs Get rid of if_init assignment.
 1.5  30-Jan-1994  briggs Include-cop strikes again.
 1.4  24-Jan-1994  briggs Apply patch as suggested by Theo.
 1.3  21-Dec-1993  briggs Update ethernet driver to use config.new. At least, it's a first stab
working from mycroft's magnum changes to if_ed.c.
 1.2  15-Dec-1993  briggs Get rid of IFF_ALTPHYS and hence IFF_LLC0 reference. It doesn't appear
to have been used in this driver ;-)
 1.1  29-Nov-1993  briggs Update to current work in progress. This includes an update to
use config.new.
Numerous updates to console so it works better on the SE/30 screen.
Some nice changes from Brad Parker for handling NuBUS and an ethernet
driver that I haven't worked on, yet.
 1.50.6.3  12-Mar-1997  is Merge in changes from The Trunk, partially just reimplementing newarp.
 1.50.6.2  10-Mar-1997  is netinet/if_ether.h => netinet/if_inarp.h
 1.50.6.1  04-Mar-1997  is Convert to the new world order.
 1.64.4.1  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.65.4.1  05-Nov-1997  thorpej Pull up from trunk: update for ifmedia changes to dp8390.c
 1.67.26.3  23-Feb-2002  he Pull up revision 1.71 (requested by jklos):
Detect the full 64KB of buffer on many Nubus ethernet cards.
Fixes PR#14455.
 1.67.26.2  14-Sep-2000  scottr Pull up revs 1.69 and 1.70 from scottr:
The last change causes garbage data to be sent. Revert and
implement a different solution.
 1.67.26.1  06-Aug-2000  briggs Pullups approved by thorpej --
Add byte-swap and stride options to bus_space. Allocate as normal, then
call mac68k_bus_space_handle_swapped() or mac68k_bus_space_handle_set_stride().
Stride is untested. Swapped code works for SMC ethernet.

Add bus_space_*_stream_N functions to bus_space.

Add a DIAGNOSTIC panic if (count-using) bus_space macros are called with
a count of zero. Some drivers do this accidentally and some bus_space
implementations will fail if count is passed as zero (they are set up in
a do-{}-while structure).

There were some bogus assumptions about bus_space_handle_t and some
function calls that didn't match prototypes--fix those here, too.
 1.67.16.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.70.8.2  17-Jan-2003  thorpej Sync with HEAD.
 1.70.8.1  08-Jan-2002  nathanw Catch up to -current.
 1.70.6.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.70.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.71.10.2  28-Jan-2003  jmc Pullup revisions 1.73-1.74 (requested by bouyer in ticket #1124)
We want bus_space_set_region_2(), not _1() here.
 1.71.10.1  27-Jan-2003  jmc Pullup revisions 1.71-1.73 (requested by bouyer in ticket #1096)
Zero out the NIC memory when padding packet to
ETHER_MIN_LEN-ETHER_CRC_LEN sc->write_mbuf now return len of
buffer, including padding.
 1.74.2.4  17-Jan-2005  skrll Sync with HEAD.
 1.74.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.74.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.74.2.1  03-Aug-2004  skrll Sync with HEAD
 1.75.6.1  11-Sep-2006  tron Pull up following revision(s) (requested by tsutsui in ticket #10692):
sys/arch/mac68k/dev/if_ae.c: revision 1.78
Apply patch from Scott Reynolds in PR port-mac68k/32583
with some tweaks (add a comment and macro):
Handle odd byte case correctly in (ETHER_MIN_LEN-ETHER_CRC_LEN) padding
so that bus_space_set_region_2() won't be called with count==0.
 1.76.10.2  26-Feb-2007  yamt sync with head.
 1.76.10.1  30-Dec-2006  yamt sync with head.
 1.76.8.1  16-Sep-2006  ghen Pull up following revision(s) (requested by tsutsui in ticket #1512):
sys/arch/mac68k/include/bus.h: revision 1.25
sys/arch/mac68k/dev/if_ae.c: revision 1.78
Apply patch from Scott Reynolds in PR port-mac68k/32583
with some tweaks (add a comment and macro):
Handle odd byte case correctly in (ETHER_MIN_LEN-ETHER_CRC_LEN) padding
so that bus_space_set_region_2() won't be called with count==0.
Apply patch in PR port-mac68k/33636 from Dave Huang (with wrapping long lines).
i.e. args in macro should be wrapped with parentheses.
 1.77.20.2  12-Jan-2007  ad Sync with head.
 1.77.20.1  18-Nov-2006  ad Sync with head.
 1.77.18.1  14-Sep-2006  riz Pull up following revision(s) (requested by tsutsui in ticket #154):
sys/arch/mac68k/include/bus.h: revision 1.25
sys/arch/mac68k/dev/if_ae.c: revision 1.78
Apply patch from Scott Reynolds in PR port-mac68k/32583
with some tweaks (add a comment and macro):
Handle odd byte case correctly in (ETHER_MIN_LEN-ETHER_CRC_LEN) padding
so that bus_space_set_region_2() won't be called with count==0.
Apply patch in PR port-mac68k/33636 from Dave Huang (with wrapping long lines).
i.e. args in macro should be wrapped with parentheses.
 1.77.8.1  14-Sep-2006  yamt sync with head.
 1.78.4.1  06-Jan-2007  bouyer Pull up following revision(s) (requested by martin in ticket #335):
sys/arch/mac68k/dev/if_ae.c: revision 1.79
If we have a single byte left over after filling in all mbuf data, we need
to increase the "totlen" count too. From Sungwon Chung.
 1.79.48.1  11-Mar-2010  yamt sync with head

RSS XML Feed