Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/mvme68k/dev/if_le.c
RevisionDateAuthorComments
 1.37  29-May-2022  rin le(4): Fix resource leaks for error paths.

XXX
Compile test only (at least one arch per driver).
 1.36  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.35  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.34  04-Apr-2008  tsutsui branches: 1.34.2; 1.34.4;
Split device_t/softc for le(4) and variants and misc cosmetic changes.
 1.33  12-Jan-2008  tsutsui branches: 1.33.6;
Misc cleanup:
- KNF, ANSIfy, remove __P()
- use __func__ to print function names
- use __arraycount()
- include "ioconf.h" for struct cfdriver
- u_intNN_t -> uintNN_t
- wrap long lines
etc.
 1.32  04-Mar-2007  christos branches: 1.32.20; 1.32.26; 1.32.32;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.31  11-Dec-2005  christos branches: 1.31.26;
merge ktrace-lwp.
 1.30  07-Aug-2003  agc branches: 1.30.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.29  15-Jul-2003  lukem __KERNEL_RCSID()
 1.28  02-Apr-2003  thorpej branches: 1.28.2;
Use PAGE_SIZE rather than NBPG.
 1.27  02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.26  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.25  31-May-2001  scw branches: 1.25.2; 1.25.8;
Deprecate intrcnt/intrnames in favour of the generic evcnt(9) interface.
 1.24  30-May-2001  mrg use _KERNEL_OPT
 1.23  15-Sep-2000  scw branches: 1.23.2;
Use the complete ethernet address stored in nvram on mvme162/mvme167
instead of faking the first 5 nibbles a'la mvme147.

Apparently recent mvme16x boards have a new 5 nibble prefix...
 1.22  25-Jul-2000  scw Nuke __BROKEN_DK_ESTABLISH, and add __HAVE_DEVICE_REGISTER.
 1.21  18-Mar-2000  scw branches: 1.21.4;
Merge 'scw_mvme68k_bus_space' branch with the trunk.
These changes add support for:

o The MI VMEbus framework on both MVME147 and MVME167.
o Enhancements to the existing MD bus_space(9) implementation.
o Most of the bus_dma(9) API.
 1.20  14-Feb-1999  scw branches: 1.20.8; 1.20.16;
Merge support for mvme167 into main tree.
 1.19  22-Aug-1998  scw branches: 1.19.6;
vm_offset -> [vp]addr_t and vm_size_t -> [vp]size_t
While I'm here, expunge use of 'register' storage class.
 1.18  15-Aug-1998  mycroft Assign my copyrights to TNF.
 1.17  21-Jul-1998  drochner adapt to LANCE driver split
 1.16  05-Jul-1998  jonathan defopt INET, NETATALK.
 1.15  12-Jan-1998  thorpej Update for changes to config.
 1.14  19-Mar-1997  gwr Change arg two of all the match functions back to struct cfdata
now that __BROKEN_INDIRECT_CONFIG has been removed.
 1.13  17-Mar-1997  thorpej #include <net/if_media.h>
 1.12  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.11  31-Jan-1997  thorpej branches: 1.11.4;
bootdv -> booted_device
 1.10  29-May-1996  chuck branches: 1.10.2;
detect if we are the boot device (to fix generic kernel)
 1.9  08-May-1996  thorpej branches: 1.9.4;
RCS id police.
 1.8  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.7  26-Apr-1996  chuck - zs: switch to MI driver
- clock, le, pcc, wdsc, zs: convert to new autoconfig scheme
- vme: add vme support

Contributed by: Jason R. Thorpe <thorpej@og.org>
 1.6  22-Apr-1996  christos Add a hardware dependent initialization function lehwinit()
 1.5  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.4  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.3  03-Feb-1996  mycroft Make sure to pull in the MI code.
 1.2  11-Dec-1995  mycroft Use the MI LANCE code.
 1.1  25-Jul-1995  chuck branches: 1.1.1;
Initial revision
 1.1.1.1  25-Jul-1995  chuck mvme68k port -- for the motorola vme147 m68030 card
 1.9.4.1  29-May-1996  chuck import generic boot bug fix
 1.10.2.1  14-Jan-1997  thorpej Snapshot of work-in-progress, committed to private branch.

These changes implement machine-independent root device and file system
selection. Notable features:

- All ports behave in a consistent manner regarding root
device selection.
- No more "options GENERIC"; all kernels have the ability
to boot with RB_ASKNAME to select root device and file system
type.
- Root file system type can be wildcarded; a machine-independent
function will try all possible file systems for the selected
root device until one succeeds.
- If the root file system fails to mount, the operator will
be given the chance to select a new root device and file
system type, rather than having the machine simply panic.
- nfs_mountroot() no longer panics if any part of the NFS
mount process fails; it now returns an error, giving the
operator a chance to recover.
- New, more consistent, config(8) grammar. The constructs:

config netbsd swap generic
config netbsd root on nfs

have been replaced with:

config netbsd root on ? type ?
config netbsd root on ? type nfs

Additionally, the operator may select or wildcard root file
system type in the kernel configuration file:

config netbsd root on cd0a type cd9660

config(8) now requires that a "root" specification be
made. "root" may be wired down or wildcarded. "swap" and
"dump" specifications are optional, and follow previous
semantics.

- config(8) has a new "file-system" keyword, used to configure
file systems into the kernel. Eventually, this will be used
to generate the default vfssw[].

- "options NFSCLIENT" is obsolete, and is replaced by
"file-system NFS". "options NFSSERVER" still exists, since
NFS server support is independent of the NFS file system
client.

- sys/arch/<foo>/<foo>/swapgeneric.c is no longer used, and
will be removed; all information is now generated by config(8).

As of this commit, all ports except arm32 have been updated to use
the new setroot(). Only SPARC, i386, and Alpha ports have been
tested at this time. Port masters should test these changes on their
ports, and report any problems back to me.

More changes are on their way, including RB_ASKNAME support in
nfs_mountroot() (to prompt for server address and path) and, potentially,
the ability to select rarp/bootparam or bootp in nfs_mountroot().
 1.11.4.2  10-Mar-1997  is netinet/if_ether.h => netinet/if_inarp.h
 1.11.4.1  05-Mar-1997  is Change to new ARP code.
 1.19.6.2  31-Jan-1999  scw Add mvme68k/machdep.h and start populating with external
declarations for a couple of mvme68k globals.
Include the above file where necessary.
 1.19.6.1  31-Jan-1999  scw Make the ethernet packet buffer shared between the Lance and i82596
drivers.

While I'm here, make the packet buffer size adjustable, either with
a config file option or by patching a variable. Make sure to mark all
packet buffer pages as non-cacheable.
 1.20.16.3  18-Mar-2000  scw Houston, we have VMEbus interrupts.
Also address some KNF issues.
 1.20.16.2  13-Mar-2000  scw Add constraints for bus_dmamem_map() to allow allocation from onboard
RAM only, and/or restricting physical addresses to 24-bits.

Also make bus_dmamem_map() actually honour the BUS_DMA_COHERENT flag.
 1.20.16.1  11-Mar-2000  scw Checkpoint of development of the following features of mvme68k:

. Preliminary support for the MI VMEbus framework.
. Full bus_space* and "mostly-there" bus_dma* support.

At this time, MI VMEbus drivers may well work 'as is' on an MVME147 board.
Work to get the MVME167 to this stage is ongoing.

Testers will be required at some point as I have no VMEbus boards which
have existing MI drivers! (Although I am able to test things in a limited
fashion using a noddy driver and a VMEbus RAM card).

TODO:

. Expunge all remaining use of IIOV() and freinds.
. Flag the 'boot device' using bus_space_tag_t and offset.
. Add a 24bit address constraint to bus_dmamem_alloc() (for le/ie)
. VMEChip2 support on MVME167/MVME177
. Support the mvme68k boards in VMEbus slave mode.
. Anything else I can thing of, besides having another beer. ;-)
 1.20.8.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.21.4.1  17-Oct-2000  scw Pullup 1.22 - 1.23 (approved by tv)
Bring support for MVME162 into the 1.5 branch.
 1.23.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.25.8.2  18-Oct-2002  nathanw Catch up to -current.
 1.25.8.1  31-May-2001  nathanw file if_le.c was added on branch nathanw_sa on 2002-10-18 02:38:57 +0000
 1.25.2.1  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.28.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.28.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.28.2.1  03-Aug-2004  skrll Sync with HEAD
 1.30.16.2  21-Jan-2008  yamt sync with head
 1.30.16.1  03-Sep-2007  yamt sync with head.
 1.31.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.32.32.1  19-Jan-2008  bouyer Sync with HEAD
 1.32.26.1  18-Feb-2008  mjf Sync with HEAD.
 1.32.20.1  23-Mar-2008  matt sync with HEAD
 1.33.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.34.4.2  11-Mar-2010  yamt sync with head
 1.34.4.1  16-May-2008  yamt sync with head.
 1.34.2.1  18-May-2008  yamt sync with head.

RSS XML Feed