Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/pckbc.c
RevisionDateAuthorComments
 1.65  17-Nov-2022  riastradh pckbc(4): Stop waiting 8us before reading each data byte.

This appears to have copied from pccons(4), where it was introduced
by mycroft@ in 1994 in sys/arch/i386/isa/pccons.c rev. 1.63 with the
commit message `Rename two files.'. No justification was given.

This delay was in a hard interrupt handler, and an MP-unsafe one to
boot, so it could hold up system responsiveness by delaying interrupt
handling and blocking other users of the legacy kernel lock.

The delay remains in the pckbc_wait_output loop to set a command
byte, which is not used in the interrupt path (and I suspect is used
only on boot during attach anyway).
 1.64  28-Oct-2022  riastradh pckbc(4): Simplify the (disabled) logic to check keyboard port.

No functional change intended -- just reduces code duplication (and
fixes wrong-number-of-arguments in #if 0 logic).
 1.63  28-Oct-2022  riastradh pckbport(4): C99 initializers

No functional change intended.
 1.62  01-May-2020  riastradh Zero rndsource before using it.

XXX pullup
 1.61  10-Nov-2019  chs in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.60  01-May-2019  mlelstv slotdata might not be attached, don't use it then.
 1.59  14-Jul-2016  msaitoh branches: 1.59.18;
- Use aprint*() more in xxx_attach().
- Add missing aprint_naive("\n").
- Remove extra spaces and tabs.
- KNF.
 1.58  13-Apr-2015  riastradh Convert sys/dev to use <sys/rndsource.h>.
 1.57  10-Aug-2014  tls branches: 1.57.4;
Merge tls-earlyentropy branch into HEAD.
 1.56  11-Jan-2014  jakllsch branches: 1.56.2;
Do not take data from the controller in interrupt handler if we are polling.
 1.55  15-Sep-2013  martin Remove unused variable
 1.54  13-Oct-2012  jdc branches: 1.54.2;
Add two flags to keyboard/mouse attachment:
PCKBC_CANT_TRANSLATE for keyboards that cannot translate to XT scancodes
PCKBC_NEED_AUXWRITE for mice that don't probe first time
These flags can be set by the port-specific attachments.

Add the translation table and function to handle set 2 to set 1 keyboard
translation in software.

Based on OpenBSD sys/dev/ic/pckbc.c revisions 1.10, 1.16, 1.17, and
sys/dev/pckbc/pckbd.c revision 1.15, and 8042 scan code information at:

http://www.computer-engineering.org/ps2keyboard/

Note, that this changes the signature of pckbc_cnattach(), so ride the
kernel version bump for namei.
 1.53  02-Feb-2012  tls branches: 1.53.2; 1.53.6;
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.52  19-Nov-2011  tls branches: 1.52.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.51  08-Aug-2010  isaki branches: 1.51.8;
white space -> tab.
 1.50  19-Apr-2010  dyoung Add default implementations for bus_space_is_equal(9),
bus_space_tag_create(9), and bus_space_tag_destroy(9). Use
bus_space_is_equal(9) throughout the kernel to compare
bus_space_tag_t's. Tested on i386 and on sparc64.
 1.49  22-Mar-2010  dyoung pckbc.c, vga.c: It doesn't appear to be helpful to compare two
bus_space_tag_t's in pckbc_is_console() and vga_is_console(), and MI
code should never do such a thing, so don't do it.

tcic2.c: #if 0 some diagnostic code that compares two bus_space_tag_t's.
 1.48  24-Feb-2010  dyoung branches: 1.48.2;
A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.
 1.47  08-Jan-2010  dyoung branches: 1.47.2;
Expand PMF_FN_* macros.
 1.46  12-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.45  04-Jun-2008  drochner branches: 1.45.12;
Reduce polling of the keyboard controller status by a factor of 1000.
While on real hardware hardware a poll cycle takes time in the
microsecond order of magnitude, a "legacy-free" system which emulates
the KBC in BIOS code takes milliseconds -- I'm seeing a multi-minute
delay in booting where the KBC is probed. So poll less and use delay()
to compensate so that the total wait time stays about the same.
 1.44  26-Apr-2008  cegger branches: 1.44.2; 1.44.4;
ansify
 1.43  08-Apr-2008  cegger branches: 1.43.2;
use aprint_*_dev and device_xname
 1.42  15-Mar-2008  cube Split device_t and softc for pckbc(4) and its attachments.
 1.41  29-Feb-2008  dyoung Use PMF_FN_ARGS, PMF_FN_PROTO.
 1.40  04-Jan-2008  ad branches: 1.40.2; 1.40.6;
Start detangling lock.h from intr.h. This is likely to cause short term
breakage, but the mess of dependencies has been regularly breaking the
build recently anyhow.
 1.39  09-Dec-2007  jmcneill branches: 1.39.2;
Merge jmcneill-pm branch.
 1.38  19-Oct-2007  ad branches: 1.38.2; 1.38.4; 1.38.6;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.37  09-Jul-2007  ad branches: 1.37.6; 1.37.8; 1.37.12;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.36  24-Jun-2007  christos PR/36538: Greg A. Woods: fix printfs to match driver name.
 1.35  11-Dec-2005  christos branches: 1.35.30; 1.35.32;
merge ktrace-lwp.
 1.34  27-Feb-2005  perry branches: 1.34.4;
nuke trailing whitespace
 1.33  04-Feb-2005  perry de-__P
 1.32  24-Mar-2004  drochner branches: 1.32.8; 1.32.10;
remove license clauses 3 and 4 from my cpoyright notices
 1.31  13-Mar-2004  bjh21 Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it. This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111. The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers. To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned. Thy just use rather more function pointers than before. Tested
on i386 and (with a new host driver) acorn32. Compiled on several other
affected architectures.
 1.30  14-Feb-2004  bjh21 Add a new MI attribute, pckbc_machdep_cnattach, and change pckbc_cnattach()
to only call pckbc_machdep_cnattach() if this is present. This allows
pckbc_machdep_cnattach() to be omitted entirely on most ports, where it only
returns ENXIO anyway.

The devices with this attribute at the moment are pc(4) on i386 and bebox, and
pckbc on sparc, where pckbc_machdep_cnattach() mysteriously returns 0 rather
than ENXIO.
 1.29  12-Dec-2003  martin Fix compilation for ports w/o __GENERIC_SOFT_INTERRUPTS_ALL_LEVELS.
 1.28  12-Dec-2003  martin In parallel to the interrupt handler pckbcintr provide two functions
pckbcintr_hard and pckbcintr_soft, which, together, do the same as
pckbcintr. The first is called from the interrupt handler, the second
from a softinterrupt at arbitrary protection level (lower or equal to
IPL_TTY). They pass data via a small ringbuffer.

The new functions are intended for platforms that, due to
hardware/firmware restrictions are not able to make pckbcintr called at
IPL_TTY, like Krups javastations. Using the monolithic pckbcintr on
these plattforms leads to the input handlers for the slot data to be
run at elevated priority, causing various race conditions.
 1.27  02-Nov-2003  wiz Fix some typos. From Tom Cosgrove via jmc@openbsd.
 1.26  12-Jun-2003  uwe branches: 1.26.2;
Request KBC_SELFTEST in pckbc_cnattach(), hidden under #ifdef
PCKBC_CNATTACH_SELFTEST. On machines where we boot on cold iron
(e.g. netwinder) we need this to init the pckbc.
 1.25  10-Jun-2003  grant wrap a debug message in #ifdef PCKBCDEBUG.

ok'd by simonb. fixes my PR kern/18441.
 1.24  01-Jan-2003  thorpej Use aprint_normal() in cfprint routines.
 1.23  01-Nov-2002  jdolecek pckbc_poll_data1(): make sure the loop variable is always initialized
this potential problem found by Krister Walfridsson
 1.22  27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.21  18-Dec-2001  soren Previous was committed by mistake; revert.
 1.20  15-Dec-2001  soren To make dev/pcmcia work on platforms with 64-bit bus_addr_t and
32-bit bus_size_t (sparc), change the pcmcia_mem_map(9) offsetp
argument to bus_size_t as it is used as a bus_space offset.
 1.19  06-Dec-2001  augustss Small change to Christos' fix: allow malloc() to return NULL, but complain
if it does.
 1.18  06-Dec-2001  christos change the malloc arg from NOWAIT to WAITOK; pointed out by lennard.
 1.17  06-Dec-2001  christos PR/14852: Martin Husemann: Allocate the slotdata the the probed slot before
we call the configuration function. Thanks lennard for pointing it out.
XXX: Someone should look this over and make sure that the current strategy
makes sense.
 1.16  13-Nov-2001  lukem add/cleanup RCSID
 1.15  31-Jul-2001  jdolecek Make console polling (cnpollc/cngetc) work on IBM PS/2 keyboard controller
using level triggered interrupts, which livelocks calling intr routine
if the data register is not read in the interrupt routine, as it's case
when polling after interrupts are enabled during boot.

Block all interrupts when polling for keypress, and modify intr routine
to read and store value from data register. The latter one is to avoid
losing a keypress when one would manage to press a key when kernel is
not in spl-guarded code section.

Tested with classic pccons, 'pcconskbd at pckbc' and 'pckbd at pckbc'
configurations, on i386.
 1.14  23-Jul-2001  jdolecek Since ~all pckbc_poll_data1() callers had the appropriate pckbc
tag handy and we are going to need more of it in pckbc_poll_data1() soon,
change pckbc_poll_data1() to accept it as first arg. iot, ioh_d, ioh_c are
no longer passed separately. Use fabricated pckbc tag for calls from
arch/arc/jazz/pckbc_jazzio.c and dev/isa/pckbc_isa.c.
 1.13  07-Jul-2001  thorpej branches: 1.13.2;
bzero -> memset
 1.12  07-Jul-2001  thorpej bcopy -> memcpy
 1.11  17-Jun-2001  jdolecek make pckbc_slot_names[], pckbc_portcmd const
 1.10  02-Jun-2001  jdolecek Back the last revision off, upon Bill Sommerfeld's request
 1.9  02-Jun-2001  jdolecek When polling, raise priority level to tty, to block keyboard interrupts
when the system is "warm", i.e. interrupts are not blocked anymore.
This seems to be necessary on my PS/2 Model 70 keyboard - without this,
system ends up in endless loop calling the keyboard intr routine if a key
is pressed when polling. This _may_ be just specific to level-triggered
interrupts PS/2 MCA uses, though it's more likely it's just the way the
particular keyboard controller works.

Discussed on tech-kern@.
 1.8  17-May-2001  drochner Revert previous change; this breaks for the old controllers which 1.6
should help for. Instead, weaken the "echo" test: don't insist in
getting the same value back which was written.
 1.7  15-May-2001  christos Try the kbc_auxtest if the random write/read to the aux port fails (it returns
0xfe on my gateway 2000 circa 1993). That should not affect broken controllers
that choke on the kbc_auxtest, because for those the write/read test succeeds.
 1.6  09-Apr-2001  drochner Change the way the aux port is probed for. Some older chipsets w/o
mouse port seem to interpret the "test aux port" (0xa9) command differently,
leading to a non-working keyboard.
Now we try to echo a byte through the aux port by means of the "echo aux"
(0xd3) command, which is what Linux does.
Thanks to Christoph Badura for detailed reports and testing.
 1.5  09-Jun-2000  soda branches: 1.5.2; 1.5.4; 1.5.6;
increase number of parameters of pckbc_cnattach(), since offset of command port
is not 4 (KBCMDP), but 1 on jazz based platforms of arc port.
 1.4  06-Jun-2000  sommerfeld Fix previous change: guard against missing subdevices of pckbc.
 1.3  05-Jun-2000  sommerfeld If rnd is configured into the kernel, do rnd(4) entropy collection
from devices connected to pckbc:
- Do actual sample collection in pckbc.
- Add rndsource_element_t to the slot data.
- Change pckbc_set_inputhandler() to take an additional argument,
the name of the device, which is (eventually) passed into
rnd_attach_source() to identify the source.
- Change callers of pckbc_set_inputhander() appropriately.
 1.2  23-Mar-2000  thorpej branches: 1.2.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.1  03-Dec-1999  thorpej branches: 1.1.2;
Split the PC-like keyboard controller driver into chip back-end and
bus front-end.
 1.1.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.5.6.7  03-Jan-2003  thorpej Sync with HEAD.
 1.5.6.6  11-Nov-2002  nathanw Catch up to -current
 1.5.6.5  18-Oct-2002  nathanw Catch up to -current.
 1.5.6.4  08-Jan-2002  nathanw Catch up to -current.
 1.5.6.3  14-Nov-2001  nathanw Catch up to -current.
 1.5.6.2  24-Aug-2001  nathanw Catch up with -current.
 1.5.6.1  21-Jun-2001  nathanw Catch up to -current.
 1.5.4.3  21-Apr-2001  bouyer Sync with HEAD
 1.5.4.2  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.4.1  09-Jun-2000  bouyer file pckbc.c was added on branch thorpej_scsipi on 2000-11-20 11:40:51 +0000
 1.5.2.1  16-Aug-2001  tv Pullup [drochner]:

sys/dev/ic/pckbc.c 1.6-1.8

Change the way the aux port is probed for. Some older chipsets w/o
mouse port seem to interpret the "test aux port" (0xa9) command differently,
leading to a non-working keyboard.
 1.13.2.3  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.13.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.13.2.1  03-Aug-2001  lukem update to -current
 1.26.2.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.26.2.4  04-Feb-2005  skrll Sync with HEAD.
 1.26.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.26.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.26.2.1  03-Aug-2004  skrll Sync with HEAD
 1.32.10.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.32.10.1  12-Feb-2005  yamt sync with head.
 1.32.8.1  29-Apr-2005  kent sync with -current
 1.34.4.4  17-Mar-2008  yamt sync with head.
 1.34.4.3  21-Jan-2008  yamt sync with head
 1.34.4.2  27-Oct-2007  yamt sync with head.
 1.34.4.1  03-Sep-2007  yamt sync with head.
 1.35.32.1  11-Jul-2007  mjf Sync with head.
 1.35.30.3  23-Oct-2007  ad Sync with head.
 1.35.30.2  15-Jul-2007  ad Sync with head.
 1.35.30.1  01-Jul-2007  ad Adapt to callout API change.
 1.37.12.1  25-Oct-2007  bouyer Sync with HEAD.
 1.37.8.3  23-Mar-2008  matt sync with HEAD
 1.37.8.2  09-Jan-2008  matt sync with HEAD
 1.37.8.1  06-Nov-2007  matt sync with HEAD
 1.37.6.3  06-Nov-2007  joerg Refactor PNP API:
- Make suspend/resume directly a device functionality. It consists of
three layers (class logic, device logic, bus logic), all of them being
optional. This replaces D0/D3 transitions.
- device_is_active returns true if the device was not disabled and was
not suspended (even partially), device_is_enabled returns true if the
device was enabled.
- Change pnp_global_transition into pnp_system_suspend and
pnp_system_resume. Before running any suspend/resume handlers, check
that all currently attached devices support power management and bail
out otherwise. The latter is not done for the shutdown/panic case.
- Make the former bus-specific generic network handlers a class handler.
- Make PNP message like volume up/down/toogle PNP events. Each device
can register what events they are interested in and whether the handler
should be global or not.
- Introduce device_active API for devices to mark themselve in use from
either the system or the device. Use this to implement the idle handling
for audio and input devices. This is intended to replace most ad-hoc
watchdogs as well.
- Fix somes situations in which audio resume would lose mixer settings.
- Make USB host controllers better deal with suspend in the light of
shared interrupts.
- Flush filesystem cache on suspend.
- Flush disk caches on suspend. Put ATA disks into standby on suspend as
well.
- Adopt drivers to use the new PNP API.
- Fix a critical bug in the generic cardbus layer that made D0->D3
break.
- Fix ral(4) to set if_stop.
- Convert cbb(4) to the new PNP API.
- Apply the PCI Express SCI fix on resume again.
 1.37.6.2  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.37.6.1  03-Aug-2007  jmcneill Pull in power management changes from private branch.
 1.38.6.1  11-Dec-2007  yamt sync with head.
 1.38.4.1  26-Dec-2007  ad Sync with head.
 1.38.2.1  18-Feb-2008  mjf Sync with HEAD.
 1.39.2.1  08-Jan-2008  bouyer Sync with HEAD
 1.40.6.3  05-Jun-2008  mjf Sync with HEAD.

Also fix build.
 1.40.6.2  02-Jun-2008  mjf Sync with HEAD.
 1.40.6.1  03-Apr-2008  mjf Sync with HEAD.
 1.40.2.1  24-Mar-2008  keiichi sync with head.
 1.43.2.2  17-Jun-2008  yamt sync with head.
 1.43.2.1  18-May-2008  yamt sync with head.
 1.44.4.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.44.2.4  11-Aug-2010  yamt sync with head.
 1.44.2.3  11-Mar-2010  yamt sync with head
 1.44.2.2  16-May-2009  yamt sync with head
 1.44.2.1  04-May-2009  yamt sync with head.
 1.45.12.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.47.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.47.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.48.2.2  05-Mar-2011  rmind sync with head
 1.48.2.1  30-May-2010  rmind sync with head
 1.51.8.3  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.51.8.2  30-Oct-2012  yamt sync with head
 1.51.8.1  17-Apr-2012  yamt sync with head
 1.52.2.1  18-Feb-2012  mrg merge to -current.
 1.53.6.3  03-Dec-2017  jdolecek update from HEAD
 1.53.6.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.53.6.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.53.2.1  07-Feb-2014  sborrill Pull up the following revisions(s) (requested by skrll in ticket #1014):
sys/dev/ic/pckbc.c: revision 1.56

Do not take data from the keyboard controller in interrupt handler if
we are polling. Fixes PR/47406
 1.54.2.1  18-May-2014  rmind sync with head
 1.56.2.1  07-Apr-2014  tls Be a little more clear and consistent about harvesting entropy from devices:

1) deprecate RND_FLAG_NO_ESTIMATE

2) define RND_FLAG_COLLECT_TIME, RND_FLAG_COLLECT_VALUE

3) define RND_FLAG_ESTIMATE_TIME, RND_FLAG_ESTIMATE_VALUE

4) define RND_FLAG_DEFAULT: RND_FLAG_COLLECT_TIME|
RND_FLAG_COLLECT_VALUE|RND_FLAG_ESTIMATE_TIME

5) Make entropy harvesting from environmental sensors a little more generic
and remove it from individual sensor drivers.

6) Remove individual open-coded delta-estimators for values from a few
places in the tree (uvm, environmental drivers).

7) 0 -> RND_FLAG_DEFAULT, actually gather entropy from various drivers
that had stubbed out code, other minor cleanups.
 1.57.4.2  05-Oct-2016  skrll Sync with HEAD
 1.57.4.1  06-Jun-2015  skrll Sync with HEAD
 1.59.18.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.59.18.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed