Go to the documentation of this file.
36 #include <linux/types.h>
38 #include <linux/export.h>
40 #include <linux/random.h>
53 #define TAUSWORTHE(s,a,b,c,d) ((s&c)<<d) ^ (((s <<a) ^ s)>>b)
59 return (state->
s1 ^ state->
s2 ^ state->
s3);
95 state->
s1 = __seed(state->
s1 ^ entropy, 1);
104 static int __init random32_init(
void)
111 #define LCG(x) ((x) * 69069)
112 state->
s1 = __seed(
LCG(i + jiffies), 1);
113 state->
s2 = __seed(
LCG(state->
s1), 7);
114 state->
s3 = __seed(
LCG(state->
s2), 15);
132 static int __init random32_reseed(
void)
141 state->
s1 = __seed(seeds[0], 1);
142 state->
s2 = __seed(seeds[1], 7);
143 state->
s3 = __seed(seeds[2], 15);