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.
#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.
- remove powerhook_establish(9) because all stuff in cs_power()
will be handled in pmf_class_network
Briefly tested on CS8900 at ofisa on DNARD compatible.
it optional as I'm not able to confirm the eeprom format is the same on
earlier cs89x0's. Certainly the my 8920M and the data sheet for 8900A use the
same format.
This allows my RiscStation to examine the cs's eeprom to find it's mac
address, previously it was unable to do this, as the eeprom offsets were hard
coded for locating the mac address.
"true" at the appropriate times for non-PCMCIA interfaces. This
means that the ENETRESET path in cs_ioctl() now runs, thus fixing
multicast (and IPv6) on my Shark. Yay.
* Simplify cs_hash_index(): Rather than taking the bottom 6 bits of
a big-endian CRC32 and reversing them, just take the top 6 bits of
a little-endian CRC32.