Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/hp300/dev/if_le.c
RevisionDateAuthorComments
 1.63  16-Jan-2024  thorpej Several years ago, the interrupt priority levels for devices were "flattened"
such that IPL_BIO, IPL_NET, and IPL_TTY (logical interrupt priority levels)
became aliases of IPL_VM (the logical interrupt priority level above which
memory allocation is not allowed). Unfortuantely, this meant that any
use of these logical interrupt priority levels to differentiate between
different interrupt service routines at the same auto-vectored interrupt
level was pointless... "when everyone is special, no one is".

Before this flattening happened, these distinct logical interrupt priority
levels levels were dynamically mapped to physical auto-vectored interrupt
levels based on which types of devices registered themselves at which auto-
vectored level. Now, splbio(), splnet(), etc. are all equivalent to splvm(),
which effectively blocks all device interrupts.

Switch to using the ISRPRI_* values provided by the common m68k interrupt
dispatch code, which allows interrupt handlers for devices that are more
latency-sensitive to be sorted earlier in the list of handlers at a given
auto-vectored interrupt level, as was originally intended.
 1.62  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.61  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.60  04-Apr-2008  tsutsui branches: 1.60.2; 1.60.4;
Split device_t/softc for le(4) and variants and misc cosmetic changes.
 1.59  21-Jul-2006  tsutsui branches: 1.59.58;
Some KNF.
 1.58  11-Dec-2005  christos branches: 1.58.4; 1.58.8;
merge ktrace-lwp.
 1.57  02-Jan-2005  tsutsui branches: 1.57.10;
u_intNN_t -> uintNN_t
 1.56  28-Aug-2004  thorpej Use ANSI function decls, static, and const.
 1.55  17-Nov-2003  tsutsui TAB/space cleanup.
 1.54  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.53  24-May-2003  gmcgarry branches: 1.53.2;
Clean-up the DIO bus. Includes two main changes:

1) Pass address and ipl locators at attachment;
2) Remove hack which made the internal HP-IB controller
look like a DIO device.

The hack to allow the nhpib driver to support internal and DIO
controllers appears to be a leftover from 4.3BD where it was not
possible to have a driver attach to different busses. NetBSD has
supported bus-dependent attachments for a long time.
 1.52  20-Oct-2002  gmcgarry - merge if_levar.h into if_le.c
- de-__P(), ansify
- remove unnecessary headers
 1.51  02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.50  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.49  15-Mar-2002  gmcgarry Add RCSIDs.
 1.48  30-May-2001  mrg branches: 1.48.2; 1.48.8;
use _KERNEL_OPT
 1.47  15-Aug-1998  mycroft branches: 1.47.24;
Assign my copyrights to TNF.
 1.46  21-Jul-1998  drochner adapt to LANCE driver split
 1.45  05-Jul-1998  jonathan defopt INET, NETATALK.
 1.44  11-Jan-1998  thorpej Convert the hp300 LANCE driver to use bus.h
 1.43  05-May-1997  thorpej - Use dio_intr_establish().
- Update for USELEDS changes.
 1.42  03-May-1997  mycroft Eliminate unused variable when !USELEDS.
 1.41  14-Apr-1997  thorpej Update for interrupt function and header name changes.
 1.40  31-Mar-1997  scottr Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.
 1.39  17-Mar-1997  thorpej #include <net/if_media.h>
 1.38  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.37  30-Jan-1997  thorpej branches: 1.37.4;
Garbage-collect all old-style autoconfiguration support; it is no
longer supported. The hp300 port uses new config now.
 1.36  17-Dec-1996  thorpej Snapshot of new config for NetBSD/hp300. This isn't quite finished yet.
We're about 75% there. SCSI and HP-IB are not yet supported in a new
config kernel; some autoconfiguration hackery has to be done there, yet.
These changes are enough to network boot a diskless kernel.

New config glue is enabled with the "NEWCONFIG" kernel option. If that
option is not present, an old config kernel will be built. Any kernel
configured with config(8) will automatically pick up the NEWCONFIG
option from std.hp300.
 1.35  09-Dec-1996  thorpej isrlink() now returns a cookie. We're not interested in the cookie, so
cast to (void).
 1.34  14-Oct-1996  thorpej Set the device class on non-dull devices. This is a transitional thing.
 1.33  13-Oct-1996  christos backout previous kprintf changes
 1.32  11-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.31  09-May-1996  thorpej Correct typos, PR #2382.
 1.30  07-May-1996  thorpej Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

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.29  22-Apr-1996  christos Add a hardware dependent initialization function lehwinit()
 1.28  18-Apr-1996  cgd change LANCE copy & zero functions' names to start with amd7990_, and
remove their 'integrate' (usually defined to be 'static') keywords.
when lance drivers are split up by attachment, more than one file will
reference the copy/zero functions (i.e. not just the file that pulls in
am7990.c... and eventually inclusion of am7990.c should go away entirely).
 1.27  14-Feb-1996  thorpej All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".
 1.26  02-Jan-1996  thorpej Implement a suggestion from Charles; use a wrapper function before
leintr() to deal with das blinkenlights. Also squishes the need
for LEINTR_UNIT.
 1.25  30-Dec-1995  thorpej Fix something the switch to the MI LANCE code broke: use LE_TINT_HOOK
and LE_RINT_HOOK to blink the "LAN transmit" and "LAN receive" LEDs on
the front panels of 400-series machines iff the CPP symbol USELEDS is
defined in the kernel config file.
 1.24  10-Dec-1995  mycroft Use the MI LANCE code.
 1.23  02-Dec-1995  thorpej Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.
 1.22  04-Aug-1995  thorpej Kill bogus if_addrlist check.
 1.21  19-Apr-1995  mycroft Update for global changes.
 1.20  26-Oct-1994  cgd new RCS ID format.
 1.19  29-Sep-1994  mycroft Fix byte order problem in multicast filter calculation.
 1.18  18-Sep-1994  mycroft Add LED frobnication code, from 4.4-Lite.
 1.17  25-Jul-1994  mycroft Look for errors in the right place in a transmit descriptor, and count
collisions.
 1.16  15-Jul-1994  mycroft Fix a bogon relating to >16-bit addresses that I introduced. Fix up BPF
support for received packets.
 1.15  10-Jul-1994  mycroft Clean up a bit.
 1.14  07-Jul-1994  mycroft branches: 1.14.2;
This #endif got truncated...
 1.13  06-Jul-1994  mycroft Speed this up a bit, do multiple transmit buffers, etc.
 1.12  13-May-1994  mycroft Update to match other code.
 1.11  16-Feb-1994  mycroft Fix a couple of bogons I just created.
 1.10  16-Feb-1994  mycroft Use IFF_ALLMULTI correctly.
 1.9  14-Feb-1994  mycroft Fix some weirdness in the multicast initialization.
 1.8  06-Feb-1994  mycroft Strict prototyping and a couple of other nits.
 1.7  05-Feb-1994  mycroft Remember to set txcnt before it bites me.
 1.6  05-Feb-1994  mycroft Allow multiple transmit buffers to be outstanding. Original code by Hibler;
some cleanup by me.
 1.5  05-Feb-1994  mycroft Add multicast support. Lots of other cleanup, mostly from the SPARC port.
 1.4  30-Jan-1994  mycroft Fix Theo's typos.
 1.3  24-Jan-1994  deraadt delete RMP code
ether_input() takes ether_type in net byte order now
 1.2  22-May-1993  cgd add rcsids to everything and clean up headers
 1.1  13-May-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  13-May-1993  cgd add hp300 kernel files. generic kernel files might need some help...
 1.14.2.5  01-Oct-1994  cgd from trunk
 1.14.2.4  26-Jul-1994  cgd from trunk.
 1.14.2.3  15-Jul-1994  cgd update from trunk.
 1.14.2.2  12-Jul-1994  cgd from trunk, per mycroft
 1.14.2.1  07-Jul-1994  cgd file if_le.c was added on branch netbsd-1-0 on 1994-07-12 23:30:21 +0000
 1.37.4.2  10-Mar-1997  is netinet/if_ether.h => netinet/if_inarp.h
 1.37.4.1  03-Mar-1997  is change to new world order.
 1.47.24.1  21-Jun-2001  nathanw Catch up to -current.
 1.48.8.4  11-Nov-2002  nathanw Catch up to -current
 1.48.8.3  18-Oct-2002  nathanw Catch up to -current.
 1.48.8.2  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.48.8.1  30-May-2001  nathanw file if_le.c was added on branch nathanw_sa on 2002-04-01 07:39:52 +0000
 1.48.2.2  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.48.2.1  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.53.2.5  17-Jan-2005  skrll Sync with HEAD.
 1.53.2.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.53.2.3  18-Sep-2004  skrll Sync with HEAD.
 1.53.2.2  03-Sep-2004  skrll Sync with HEAD
 1.53.2.1  03-Aug-2004  skrll Sync with HEAD
 1.57.10.1  30-Dec-2006  yamt sync with head.
 1.58.8.1  11-Aug-2006  yamt sync with head
 1.58.4.1  09-Sep-2006  rpaulo sync with head
 1.59.58.1  02-Jun-2008  mjf Sync with HEAD.
 1.60.4.2  11-Mar-2010  yamt sync with head
 1.60.4.1  16-May-2008  yamt sync with head.
 1.60.2.1  18-May-2008  yamt sync with head.

RSS XML Feed