Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/elinkxlvar.h
RevisionDateAuthorComments
 1.26  13-Sep-2019  msaitoh if_flags is neither int nor short. It's unsigned short.
 1.25  13-Apr-2015  riastradh branches: 1.25.18;
Convert sys/dev to use <sys/rndsource.h>.
 1.24  02-Feb-2012  tls branches: 1.24.6; 1.24.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.23  19-Nov-2011  tls branches: 1.23.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.22  22-Mar-2010  dyoung branches: 1.22.8;
ex_softc.ex_bustype is written but never read. Just get rid of it.
 1.21  22-Mar-2010  dyoung Add a self-suspensor. It's not used, yet.

In ex_detach(), call ex_stop(), first. ex_stop() stops the callout.
Destroy the callout in ex_detach().
 1.20  28-Apr-2008  martin branches: 1.20.20; 1.20.22;
Remove clause 3 and 4 from TNF licenses
 1.19  14-Apr-2008  spz branches: 1.19.2; 1.19.4;
pretty up if_ex: pmf'ify, device split, and improve printing a bit too.

Reviewed and function-tested on if_ex_cardbus by cube (thanks).
Function-tested on if_ex_pci by myself.
 1.18  04-Mar-2007  christos branches: 1.18.36;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.17  11-Dec-2005  christos branches: 1.17.26;
merge ktrace-lwp.
 1.16  06-Feb-2005  kim branches: 1.16.6;
If the interface is up and running, only modify the receive filter
when setting promiscuous or debug mode. This avoids resetting the
chip unnecessarily.

Fixes PR kern/29126.
 1.15  04-Feb-2005  perry de-__P
 1.14  05-Jun-2003  dogcow branches: 1.14.2; 1.14.10; 1.14.12;
Some models of the 556B don't turn on the transmitter without magic
values getting written. Fix from FreeBSD; cf sys/pci/if_xl.c, rev 1.110
 1.13  20-Jun-2002  itojun more proper fix to ex_disable.
 1.12  28-Dec-2001  christos branches: 1.12.8;
Clean up the C_ and S_ constants. We don't really need two sets of them.
Also make the interrupt handler for older 3com cards look like the xl one.
I.e. don't ack the interrupt latch bit before checking if it is set.
At the same time, introduce constants for the watched interrupts, so that
we don't copy them all over the place.
 1.11  25-Oct-2001  haya Prevent hang-up when a CardBus card is removed during the card is working.
 1.10  30-Jan-2001  thorpej branches: 1.10.2; 1.10.4; 1.10.8;
Power management support for the CardBus Etherlink XL cards.
From Masanori Kanaoka <kanaoka@ann.hi-ho.ne.jp>.
 1.9  11-Oct-2000  thorpej Use ether_ioctl().
 1.8  19-Sep-2000  fvdl Add support for the 3c555, 556 and 556B MiniPCI cards. Based on the
cardbus code and the FreeBSD xl driver.
 1.7  24-Aug-2000  haya Add flag defines for 3CCFE575BT and 3CCCFE575CT (CardBus cards).
 1.6  29-May-2000  jhawk branches: 1.6.2;
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.5  23-Mar-2000  thorpej branches: 1.5.2;
New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.4  05-Feb-2000  augustss Support detach.
 1.3  15-Oct-1999  haya branches: 1.3.2;
This is the first check-in of CardBus driver. CardBus driver contains
CardBus bus stub, YENTA PCI-CardBus bridge (cbb), 3Com 3C575TX driver
(ex) and Intel fxp driver.

TODO:
o Conform to the KNF more strictly.
o Be unified with pcmcia code as much as possible.
o Add more drivers for CardBus card, such as APA-1480 or USB card.

The affected files are listed below.

sys/arch/i386/conf/files.i386
sys/arch/macppc/conf/files.macppc
sys/conf/files
sys/dev/ic/elinkxl.c
sys/dev/ic/elinkxlvar.h
sys/dev/ic/i82365.c
sys/dev/ic/i82365var.h
sys/dev/isa/i82365_isasubr.c
sys/dev/pci/files.pci
sys/dev/pcmcia/pcmcia.c
sys/dev/pcmcia/pcmciachip.h

The added files are listed below.

sys/arch/i386/conf/CARDBUS
sys/arch/i386/include/rbus_machdep.h
sys/arch/i386/i386/rbus_machdep.c
sys/arch/macppc/include/rbus_machdep.h
sys/arch/macppc/macppc/rbus_machdep.c
sys/dev/cardbus/if_ex_cardbus.c
sys/dev/cardbus/Makefile.cardbusdevs
sys/dev/cardbus/cardbus.c
sys/dev/cardbus/cardbus_map.c
sys/dev/cardbus/cardbusdevs
sys/dev/cardbus/cardbusdevs.h
sys/dev/cardbus/cardbusdevs_data.h
sys/dev/cardbus/cardbusvar.h
sys/dev/cardbus/cardslot.c
sys/dev/cardbus/cardslotvar.h
sys/dev/cardbus/devlist2h.awk
sys/dev/cardbus/files.cardbus
sys/dev/cardbus/if_fxp_cardbus.c
sys/dev/cardbus/pccardcis.h
sys/dev/cardbus/rbus.c
sys/dev/cardbus/rbus.h
sys/dev/pci/pccbb.c
sys/dev/pci/pccbbreg.h
sys/dev/pci/pccbbvar.h
 1.2  13-Apr-1999  jonathan branches: 1.2.2;
Fix ex_read_eeprom() for 3c57x.
 1.1  04-Nov-1998  fvdl branches: 1.1.6;
Add the 'ex' driver, a DMA driver for 3Com 90x and 90xB cards. Rename
constants from EP_ to ELINK_ since they're now used in the ex driver as well.
 1.1.6.1  27-Apr-1999  perry branches: 1.1.6.1.2;
pullup 1.1->1.2 (Jonathan Stone)
 1.1.6.1.2.1  21-Jun-1999  thorpej Sync w/ -current.
 1.2.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.2.2  11-Feb-2001  bouyer Sync with HEAD.
 1.3.2.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.5.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.6.2.3  01-Jan-2002  he Pull up revision 1.10 (requested by kanaoka):
Add Power Management support for Cardbus Etherlink XL cards, and
some cleanup.
 1.6.2.2  20-Mar-2001  he Pull up revision 1.8 (via patch, requested by chuck):
Add support for the 3Com 3c555, 3c556 and 3c556B MiniPCI Ethernet
cards.
 1.6.2.1  01-Sep-2000  haya Pull up rev 1.7: Support 3C[CX]FE575CT.
This pullup is approved by <thorpej@netbsd.org>.
 1.10.8.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.10.4.2  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.10.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.2.3  01-Aug-2002  nathanw Catch up to -current.
 1.10.2.2  08-Jan-2002  nathanw Catch up to -current.
 1.10.2.1  14-Nov-2001  nathanw Catch up to -current.
 1.12.8.1  15-Jul-2002  gehenna catch up with -current.
 1.14.12.1  12-Feb-2005  yamt sync with head.
 1.14.10.1  29-Apr-2005  kent sync with -current
 1.14.2.2  06-Feb-2005  skrll Sync with HEAD.
 1.14.2.1  04-Feb-2005  skrll Sync with HEAD.
 1.16.6.1  03-Sep-2007  yamt sync with head.
 1.17.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.18.36.1  02-Jun-2008  mjf Sync with HEAD.
 1.19.4.2  11-Aug-2010  yamt sync with head.
 1.19.4.1  16-May-2008  yamt sync with head.
 1.19.2.1  18-May-2008  yamt sync with head.
 1.20.22.1  30-May-2010  rmind sync with head
 1.20.20.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.22.8.1  17-Apr-2012  yamt sync with head
 1.23.2.1  18-Feb-2012  mrg merge to -current.
 1.24.24.1  06-Jun-2015  skrll Sync with HEAD
 1.24.6.1  03-Dec-2017  jdolecek update from HEAD
 1.25.18.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411

RSS XML Feed