Date: Mon, 27 Jan 2014 13:05:58 -0600 From: Frank Zerangue <[email protected]>
I looked at hifn, amdpm, and bcm28335 RNG drivers and they all seem to do the same. They setup a callout to periodically call there RNG reader to prime the random pool with more bits; but I don't see how the polling is based on entropy needed. Could you clarify for me what I have missed in regard to your suggestion below. Perhaps you're not looking at the code in HEAD. See, e.g., http://nxr.netbsd.org/xref/src/sys/arch/arm/broadcom/bcm2835_rng.c#128 which sets up a callback so that when the system thinks it needs some more entropy, it will call bcmrng_get_cb, which schedules a softintr to actually read data from the hardware and feed it to the system entropy pool. This API is not yet stable -- at least, some months ago, Thor and I discussed changing it to render the softintr indirection and locking dance unnecessary -- but it will work for now.
