diff options
Diffstat (limited to 'src/kernel/random.c')
-rw-r--r-- | src/kernel/random.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/kernel/random.c b/src/kernel/random.c index 404223a..c959f6c 100644 --- a/src/kernel/random.c +++ b/src/kernel/random.c @@ -7,10 +7,9 @@ static bool hw_random = false; static unsigned long int seed = -1; void randinit() { - unsigned int unused, eax, ecx; - eax = 0; + unsigned int unused, ecx; ecx = 0; - __get_cpuid(1, &eax, &unused, &ecx, &unused); + __get_cpuid(1, &unused, &unused, &ecx, &unused); hw_random = (ecx >> 30) & 1; printf("Kernel random source: %s.\n", (hw_random) ? "rdrand" : "pseudo"); } @@ -31,6 +30,6 @@ unsigned int randint() { seed = 1103515245 * seed + 12345; return(unsigned int)(seed / 65536) % 32768; } - return 0; + return random_long; } |