Uses apipes and no alarms for random numbers
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 21 Jan 2014 18:49:29 +0000 (10:49 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 21 Jan 2014 19:04:03 +0000 (11:04 -0800)
commitcf83e139e482d73cabc593636d58dfa919d98480
tree7fed510f3b719f7cf42a118ea213aa0f2e2812ac
parentf41780111b721b4e55b7213af999bb82536ec4d7
Uses apipes and no alarms for random numbers

This is better than my old 9ns change to devrandom, in which I didn't
fully understand how the original random code worked.

It's also faster than the our inferno version (due mostly to not taking
13 ms for 2 bits of randomness), and much simpler, due to the apipes.

It also passes the extremely rigorous test for randomness, established
in the old 9ns commit 7f63102c: I can't see a pattern in a bunch of 16
byte random reads:

b42b0a02 1f0740d0 9064d97d ae2a0a02
dd37e3b8 d6f57d77 fd2f8b62 6759d5f5
3d4fd39d dd6d5bd6 e779d775 354dd39d
f39f6759 5f5735cd dff7fd7f f39fe7f9
244934cd 89a22892 59d5759d ce739765
384e9339 b78b2288 8ee37edf e0b8ae3a
f7ef3b0e 82a07ade d7759d09 d39de779
ecfb3f4f 8b2208b0 d9ddf7bd b82e9264
320c03e0 3283a028 751d21c8 9f6759d5
3d23c8f2 8ae2def7 ea3a8e28 ae1a86a1
8a62e6b9 d7759d29 1231cc73 a0282248
0a022008 280a8228 77771d87 4ad27ddf
kern/src/ns/random.c