Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/dp8390var.h
RevisionDateAuthorComments
 1.38  05-Feb-2024  andvar fix various typos in comments.
 1.37  02-Feb-2024  andvar s/tranceiver/transceiver/ in comment and definition.
 1.36  09-Aug-2021  andvar fix various typos in compatibility, mainly in comments.
 1.35  30-Jun-2021  thorpej Fix a couple of problems with MII-equipped NE2000 derivatives reported by
Björn Johannesson on current-users@:

- Re-factor dp8390_stop() into dp8390_halt() (that does the stuff to
halt the hardware) and dp8390_stop() (which alls dp8390_halt() before
calling mii_down() via sc->sc_stop_card()). This prevents us from
calling mii_down() before all of the interface data structures have
been set up, which these days can trip a KASSERT().

- Add a 1-second timer to call mii_tick(), and enable it in the
sc->sc_init_card() callback, and cancel it in the sc->sc_stop_card()
and sc->sc_media_fini() callbacks. This is actually a long-standing
bug that previously didn't have much practical effect, but causes
problems with dhcpcd's link live-ness detection logic.
 1.34  15-Jul-2018  maxv branches: 1.34.18;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.33  13-Apr-2015  riastradh branches: 1.33.16; 1.33.18;
Convert sys/dev to use <sys/rndsource.h>.
 1.32  02-Feb-2012  tls branches: 1.32.6; 1.32.24;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.
 1.31  19-Nov-2011  tls branches: 1.31.2;
First step of random number subsystem rework described in
<20111022023242.BA26F14A158@mail.netbsd.org>. This change includes
the following:

An initial cleanup and minor reorganization of the entropy pool
code in sys/dev/rnd.c and sys/dev/rndpool.c. Several bugs are
fixed. Some effort is made to accumulate entropy more quickly at
boot time.

A generic interface, "rndsink", is added, for stream generators to
request that they be re-keyed with good quality entropy from the pool
as soon as it is available.

The arc4random()/arc4randbytes() implementation in libkern is
adjusted to use the rndsink interface for rekeying, which helps
address the problem of low-quality keys at boot time.

An implementation of the FIPS 140-2 statistical tests for random
number generator quality is provided (libkern/rngtest.c). This
is based on Greg Rose's implementation from Qualcomm.

A new random stream generator, nist_ctr_drbg, is provided. It is
based on an implementation of the NIST SP800-90 CTR_DRBG by
Henric Jungheim. This generator users AES in a modified counter
mode to generate a backtracking-resistant random stream.

An abstraction layer, "cprng", is provided for in-kernel consumers
of randomness. The arc4random/arc4randbytes API is deprecated for
in-kernel use. It is replaced by "cprng_strong". The current
cprng_fast implementation wraps the existing arc4random
implementation. The current cprng_strong implementation wraps the
new CTR_DRBG implementation. Both interfaces are rekeyed from
the entropy pool automatically at intervals justifiable from best
current cryptographic practice.

In some quick tests, cprng_fast() is about the same speed as
the old arc4randbytes(), and cprng_strong() is about 20% faster
than rnd_extract_data(). Performance is expected to improve.

The AES code in src/crypto/rijndael is no longer an optional
kernel component, as it is required by cprng_strong, which is
not an optional kernel component.

The entropy pool output is subjected to the rngtest tests at
startup time; if it fails, the system will reboot. There is
approximately a 3/10000 chance of a false positive from these
tests. Entropy pool _input_ from hardware random numbers is
subjected to the rngtest tests at attach time, as well as the
FIPS continuous-output test, to detect bad or stuck hardware
RNGs; if any are detected, they are detached, but the system
continues to run.

A problem with rndctl(8) is fixed -- datastructures with
pointers in arrays are no longer passed to userspace (this
was not a security problem, but rather a major issue for
compat32). A new kernel will require a new rndctl.

The sysctl kern.arandom() and kern.urandom() nodes are hooked
up to the new generators, but the /dev/*random pseudodevices
are not, yet.

Manual pages for the new kernel interfaces are forthcoming.
 1.30  12-May-2009  cegger branches: 1.30.12;
struct device * -> device_t, no functional changes intended.
 1.29  12-Mar-2008  cube branches: 1.29.4; 1.29.18;
Split device_t and softc for the NE2000 Ethernet chip and all its variants
and attachments. Use device_t accessors, correct types, and ANSIfy when
appropriate.
 1.28  04-Mar-2007  christos branches: 1.28.16; 1.28.32; 1.28.36;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.27  11-Dec-2005  christos branches: 1.27.26;
merge ktrace-lwp.
 1.26  26-Feb-2005  bsh branches: 1.26.4;
ASIX AX88796 is an NE2000 compatible ethernet chip, but doesn't seem to
have "remote DMA complete bit" is ISR. So, don't wait for ISR.RDC bit
after writing a packet.
 1.25  04-Feb-2005  perry de-__P
 1.24  02-Nov-2003  wiz branches: 1.24.8; 1.24.10;
Fix some typos. From Tom Cosgrove via jmc@openbsd.
 1.23  12-Feb-2001  thorpej branches: 1.23.24;
Add a "stop_card", which is the opposite of "init_card", and
call it from dp8390_stop().
 1.22  12-Feb-2001  thorpej Adjust the way that media is initialized on DP8390-compatible
chips. The dp8390_softc now has media_init and media_fini
function pointers that do the work.
 1.21  10-Feb-2001  thorpej Include MII glue here -- some DP8390-compatible chips have MII
interfaces on them (scary, eh?)
 1.20  28-Sep-2000  tsutsui 6 -> ETHER_ADDR_LEN
 1.19  29-May-2000  jhawk For all network drivers that call ether_ifattach(), and also
have _detach() functions:
Ensure that softc keeps state about whether the attach succeeded,
and make the detach function return immediately if the attach did
not complete.
 1.18  22-Mar-2000  ws branches: 1.18.2;
Make IPKDB working again.
Add support for i386 debugging and pci-based ne2000 boards.
 1.17  22-Mar-2000  ws Add bus_space_barrier.
Add DELAY in some busy loops to allow the dma engine to actually do something
(neccessary on fast processors).
 1.16  09-Feb-2000  enami ASIX AX88190 support (Planex FNW-3700-T and Melco LPC3-TX) from FreeBSD/PAO3.
 1.15  09-Feb-2000  enami - Since all resources are mandatory, no need to manage individually.
- KNF some code.
- Factor out some code into function.
- Disestablish an interrupt handler when failed to enable card power.
 1.14  02-Feb-2000  itojun handle attach failure in ne/pcmcia more carefully. (otherwise we'll
have trouble on detach)
 1.13  02-Feb-2000  itojun use a bit more standard (sys/device.h) prototype for {dp8390,ne2000}_detach().
 1.12  02-Feb-2000  itojun implement if_detach code for ne/pcmcia.
XXX still incomplete, ne_pcmcia_detach() commented out for safery - please test
 1.11  07-Feb-1999  thorpej branches: 1.11.8;
Add entropy gathering.
 1.10  18-Nov-1998  thorpej branches: 1.10.2;
Now that the *_activate() functions don't do things which are attachment
specific, move them into the chipset drivers.
 1.9  17-Nov-1998  thorpej Expose the "enable" and "disable" functions so that the front-ends can
access them.
 1.8  12-Aug-1998  scottr Support Cabletron Ethernet card, from John Marohn in PR 5762.
 1.7  05-Nov-1997  thorpej is790 u_char -> int.
 1.6  02-Nov-1997  thorpej Add ifmedia support via callbacks to the front-end.
 1.5  15-Oct-1997  thorpej branches: 1.5.2;
Pulldown from marc-pcmcia branch: minor tweaks to make this a completely
bus-independent driver, and garbage collect a few unnecessary things
from the softc.
 1.4  15-Oct-1997  explorer back out previous change (committed in error)
 1.3  15-Oct-1997  explorer minor formatting change
 1.2  30-Apr-1997  scottr branches: 1.2.4;
Remove the use16bit softc field, replacing the functionality with dcr_reg.
This allows the front end to override the default DCR (byte-wide DMA,
x86 byte order, 8-byte FIFO) with different transfer size, byte order, DMA
parameters, and FIFO threshhold. If the loopback select bit is not set for
normal operation, the default is used instead.

Inspired by thoughts from Bernd Ernesti.
 1.1  29-Apr-1997  scottr Machine-independent driver for DP8390/WD83C690-based Ethernet controller.
Derived from the ISA if_ed driver and the mac68k if_ae driver.
 1.2.4.2  14-Oct-1997  thorpej Add power management hooks.
 1.2.4.1  14-Oct-1997  thorpej - Don't assume NIC-addressable memory starts at 0. Compute the first
transmit page based on mem_start.
- Garbage-collect the "typestr" and "type" stuff. Let the front-end
print information about the card model, and the "type" stuff has all
been replaced by function pointers, anyhow.
- Generalize the interrupt handler (i.e. don't take mac68k-specific
arguements; that front-end should set up a wrapper interrupt handler).
- Fix the NIC_GET() and NIC_PUT() macros so that they work with more
implementations of bus_space(9).
 1.5.2.1  05-Nov-1997  thorpej Pull up from trunk: Add ifmedia support.
 1.10.2.1  11-Dec-1998  kenh The beginnings of interface detach support. Still some bugs, but mostly
works for me.

This work was originally by Bill Studenmund, and cleaned up by me.
 1.11.8.3  12-Mar-2001  bouyer Sync with HEAD.
 1.11.8.2  11-Feb-2001  bouyer Sync with HEAD.
 1.11.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.18.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.23.24.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.23.24.4  04-Feb-2005  skrll Sync with HEAD.
 1.23.24.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.23.24.2  18-Sep-2004  skrll Sync with HEAD.
 1.23.24.1  03-Aug-2004  skrll Sync with HEAD
 1.24.10.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.24.10.1  12-Feb-2005  yamt sync with head.
 1.24.8.1  29-Apr-2005  kent sync with -current
 1.26.4.2  17-Mar-2008  yamt sync with head.
 1.26.4.1  03-Sep-2007  yamt sync with head.
 1.27.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.28.36.1  03-Apr-2008  mjf Sync with HEAD.
 1.28.32.1  24-Mar-2008  keiichi sync with head.
 1.28.16.1  23-Mar-2008  matt sync with HEAD
 1.29.18.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.29.4.1  16-May-2009  yamt sync with head
 1.30.12.1  17-Apr-2012  yamt sync with head
 1.31.2.1  18-Feb-2012  mrg merge to -current.
 1.32.24.1  06-Jun-2015  skrll Sync with HEAD
 1.32.6.1  03-Dec-2017  jdolecek update from HEAD
 1.33.18.1  10-Jun-2019  christos Sync with HEAD
 1.33.16.1  28-Jul-2018  pgoyette Sync with HEAD
 1.34.18.1  01-Aug-2021  thorpej Sync with HEAD.

RSS XML Feed