| History log of /src/sys/dev/ic/elink3var.h |
| Revision | | Date | Author | Comments |
| 1.39 |
| 13-Apr-2015 |
riastradh | Convert sys/dev to use <sys/rndsource.h>.
|
| 1.38 |
| 02-Feb-2012 |
tls | branches: 1.38.6; 1.38.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.37 |
| 19-Nov-2011 |
tls | branches: 1.37.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.36 |
| 05-Sep-2009 |
tsutsui | branches: 1.36.12; Replace shutdownhook_establish(9) with pmf_device_register1(9) in MI epconfig() and ep_detach(), and remove pmf(9) calls in pcmcia attachment. Tested on ep0 at pci, but pcmcia attachment is untested.
|
| 1.35 |
| 27-Aug-2008 |
christos | device_t changes, pmf, minor knf.
|
| 1.34 |
| 11-Jul-2006 |
peter | branches: 1.34.54; 1.34.58; 1.34.60; 1.34.64; Add power hooks for "ep* at pcmcia?".
ok christos@
|
| 1.33 |
| 11-Dec-2005 |
christos | branches: 1.33.4; 1.33.8; 1.33.16; merge ktrace-lwp.
|
| 1.32 |
| 04-Feb-2005 |
perry | branches: 1.32.6; de-__P
|
| 1.31 |
| 08-Jul-2003 |
itojun | branches: 1.31.8; 1.31.10; function prototype must not have variable name
|
| 1.30 |
| 03-May-2003 |
wiz | branches: 1.30.2; DMA, not dma nor Dma.
|
| 1.29 |
| 23-Jul-2001 |
thorpej | Some whitespace cleanup.
|
| 1.28 |
| 22-Mar-2001 |
jdolecek | branches: 1.28.2; Add MCA ep(4) attachment, for 3Com 3c529-type cards. Tested with 3c529-TP, provided to me by David Brownlee (thanks!).
Performance of this card is quite poor on my PS/2 with 386DX, like 100KB/s at best, but as low as 5KB/s when transferring bigger files due to packet overruns. It would be good to revisit this later, probably by teaching the ic code to use RX Early.
|
| 1.27 |
| 22-Mar-2001 |
jdolecek | convert to use ether_ioctl() fix bunch of typos
|
| 1.26 |
| 29-May-2000 |
jhawk | branches: 1.26.4; 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.25 |
| 23-Mar-2000 |
thorpej | branches: 1.25.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.24 |
| 08-Feb-2000 |
enami | - Bail out from attach stage if failed to enable card, number of iospace or memspace is unexpected, failed to map iospace or failed to configure the controller properly. - Disestablish an interrupt handler if failed to enable card.
|
| 1.23 |
| 02-Feb-2000 |
augustss | Make sure to untimeout() things on detach.
|
| 1.22 |
| 02-Feb-2000 |
augustss | Make sure to get rid of shutdown hook and ttach media on detach.
|
| 1.21 |
| 18-Nov-1998 |
thorpej | branches: 1.21.2; 1.21.10; Now that the *_activate() functions don't do things which are attachment specific, move them into the chipset drivers.
|
| 1.20 |
| 17-Nov-1998 |
thorpej | Expose the "enable" and "disable" functions so that the front-ends can access them.
|
| 1.19 |
| 04-Nov-1998 |
fvdl | 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.18 |
| 17-Aug-1998 |
thorpej | First-crack at RoadRunner (3c574-TX 10/100Mbps PCMCIA). Doens't yet use any of the RoadRunner speed hacks.
|
| 1.17 |
| 15-Aug-1998 |
thorpej | Define the Corkscrew chipset - used by the 3c515 ISA 10/100mbps cards.
|
| 1.16 |
| 15-Aug-1998 |
thorpej | Define the 3Com "RoadRunner" chipset; like the Boomerang, but for PCMCIA. No DMA is wired up, it has a shared memory interface, and a FIFO buffer which can be used to speed up PIO transfers. (The latter two are PCMCIA-specific speed hacks to deal hide the performance lossage from using a PCMCIA->PCI bridge internally.)
|
| 1.15 |
| 12-Aug-1998 |
thorpej | Completely rewrite media selection. Add support for the MII/PHY on the 3Com 3c905-TX and 3c905-T4. Fix handling of the MII on the 3c595-MII and 3c597-MII (can't talk to the PHYs on these cards; just use "manual" for the external MII port).
Fixes kern/4782 (Chris Demetriou).
|
| 1.14 |
| 15-Oct-1997 |
explorer | Add and/or update rnd_*() hooks
|
| 1.13 |
| 14-Oct-1997 |
thorpej | Pull down from marc-pcmcia branch:
Minor tweaks to deal with PCMCIA differences, and support for power management.
|
| 1.12 |
| 30-Mar-1997 |
jonathan | branches: 1.12.4; Add ifmedia hooks: include <ifmedia.h> and add sc_media to softc.
|
| 1.11 |
| 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.10 |
| 18-Feb-1997 |
jonathan | Move if_ep media-sense code from front ends to inside back end, to prepare for if_media, and to support EISA 3c59x cards:
* change epconfig() to take a short that encodes the chipset type (3c509, or Demon/Vortex/Boomerang). * add distinct 3c509 and Demon/Vortex/Boomerang media-sense functions to back end. * Add EISA match/attach support for the 3c592 and 3c597 (Demon) cards as well as the 3c509-comatibl EISA 3c509/3c579.
* Assume that ISA and ISA PnP cards are 3c509-style, until proof to the contrary (e.g. large packet support).
Tested on 3c595, 3c590, and 3c509b. Not tested on 3c515 or Demon.
|
| 1.9 |
| 30-Dec-1996 |
jonathan | branches: 1.9.4; * make sure 100mbit media-present bits don't collied with 3c509 CONFIG_CNTRL bits by making the "conn" argument to epconfig() a u_int, not a u_int16_t, and by defining 100mbit media bits in the upper 16 bits.
A redesigned interface that fixes this properly is in the pipeline.
|
| 1.8 |
| 29-Dec-1996 |
jonathan | * Expand softc sc_connectors field to 16 bits. For now, we really only need 8 bits of media type.
* Add bogus definitions for 100mbit transcievers, to be set in the "conn" argument to ep_config(). Should really use the same bits as in EP_W0_CONFIG_CTRL bits, but I don't know what bits the 3c515 &c use for 100mbit media.
* Define bitflags for 100Mbit transceiver options in ep_connectors.
* Add definitions of powerup/powerdown commands. for interfaces with power management. Should send a powerup after APM resume?
* Add definition of fragment-busmaster (vortex) START_DMA command.
* Add definition of PCI configuration-space media-present bits. (really just EP_W3_RESET_OPTIONS remapped into pci config space.)
* Add comments describing what the #define's above are used for.
|
| 1.7 |
| 17-Nov-1996 |
jonathan | Fix for hanging 3com ``large packet'' (100Mbit) Etherlink-III devices: * Add a slot in the softc, ep_pktlenshift, to indicate that a board implements ``large packets'' (FDDI-sized frames) and therefore implicitly shifts the argument to packet-length commands by two bits to fit a 13-bit length in an 11-bit command argument field.
* Change the reset of station-mask filterto be independent of bus-type (e.g.,. for 3c515)
* Replace the "2044" constant used to disable TX threshold interrupts on 3c509-generation cards with a #define. Use 2047 instead, since that works on the large-packet cards (Vortex, Demon, Boomerang) and 2044 doesn't.
* Add code to epconfing to probe for large-packet support, set the softc appropriately, and shift packet sizes in commands by ep_pktlenshift to compensate for the implicit shift.
* Tweak the epconfig() code to avoid hanging on startup. Set the Tx threshold to interrupt when there's space for a maximal-sized ether frame, then do epinit() then epstop(), instead of just the Tx and Rx reset. Required on at least a 3c595.
Tested on a 3c595, but not on 3c509-generation hardware.
|
| 1.6 |
| 21-Oct-1996 |
thorpej | New bus.h implementation/interface: - No more distinction between i/o-mapped and memory-mapped devices. It's all "bus space" now, and space tags differentiate the space with finer grain than the bus chipset tag. - Add memory barrier methods. - Implement space alloc/free methods. - Implement region read/write methods (like memcpy to/from bus space). This interface provides a better abstraction for dealing with machine-independent chipset drivers.
|
| 1.5 |
| 14-May-1996 |
thorpej | branches: 1.5.4; Be more careful with types, and pull in <machine/intr.h>
|
| 1.4 |
| 10-May-1996 |
thorpej | Update Herb's e-mail address; beer.org feels a lot more friendly.
|
| 1.3 |
| 03-May-1996 |
christos | Move epstop prototype to the header file.
|
| 1.2 |
| 30-Apr-1996 |
thorpej | Convert the Etherlink III (ep) driver to use <machine/bus.h>.
|
| 1.1 |
| 25-Apr-1996 |
thorpej | Break up the ep driver into isa, eisa, and pci front-ends and a bus-independent core driver. Tested on all three bus types, including an isa 3c509 masquerading as an eisa device (use ep* at eisa? slot ? in your kernel config file to catch this one). XXX Driver still needs to be converted to <machine/bus.h>
|
| 1.5.4.1 |
| 04-Mar-1997 |
mycroft | Recognize 3c900 and 3c905 cards.
|
| 1.9.4.2 |
| 20-Feb-1997 |
is | Merged in recent changes from Trunk.
|
| 1.9.4.1 |
| 07-Feb-1997 |
is | Snapshot of new ARP code.
Our old ARP code was hardwired for 6-byte length medium addresses, while the protocol is designed for any size.
This snapshot contains a first hack at getting rid of Ethernet specific data structures. The ep driver is updated (and tested on the PCI bus), the iy and fpa drivers have been updated, but not real life tested yet.
If you want to test this with other drivers, you have to update them first yourself, and probably tag the relevant directories. Better contact me if you want to do this.
|
| 1.12.4.4 |
| 29-Sep-1997 |
thorpej | Make the "enable" and "disable" hooks take pointers to the softc, rather than void * and a separately specified argument.
|
| 1.12.4.3 |
| 27-Sep-1997 |
marc | add __P where needed
|
| 1.12.4.2 |
| 27-Sep-1997 |
marc | add enable/disable hooks to the ep softc
|
| 1.12.4.1 |
| 30-Jul-1997 |
marc | added pcmcia infrastructure and a few devices
|
| 1.21.10.2 |
| 27-Mar-2001 |
bouyer | Sync with HEAD.
|
| 1.21.10.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.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.25.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
| 1.26.4.2 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
| 1.26.4.1 |
| 09-Apr-2001 |
nathanw | Catch up with -current.
|
| 1.28.2.1 |
| 03-Aug-2001 |
lukem | update to -current
|
| 1.30.2.4 |
| 04-Feb-2005 |
skrll | Sync with HEAD.
|
| 1.30.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
| 1.30.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
| 1.30.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
| 1.31.10.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
| 1.31.8.1 |
| 29-Apr-2005 |
kent | sync with -current
|
| 1.32.6.1 |
| 30-Dec-2006 |
yamt | sync with head.
|
| 1.33.16.1 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
| 1.33.8.1 |
| 11-Aug-2006 |
yamt | sync with head
|
| 1.33.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
| 1.34.64.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
| 1.34.60.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
| 1.34.58.2 |
| 16-Sep-2009 |
yamt | sync with head
|
| 1.34.58.1 |
| 04-May-2009 |
yamt | sync with head.
|
| 1.34.54.1 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
| 1.36.12.1 |
| 17-Apr-2012 |
yamt | sync with head
|
| 1.37.2.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
| 1.38.24.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
| 1.38.6.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|