summaryrefslogtreecommitdiff
path: root/src/kernel/random.c
diff options
context:
space:
mode:
authorBrett Weiland <brett_weiland@bpcspace.com>2021-09-21 10:50:33 -0500
committerBrett Weiland <brett_weiland@bpcspace.com>2021-09-21 10:50:33 -0500
commitcf7cd8be60c254b44b444c97dcb238d7cf3afd4c (patch)
treee86fe62827f4dbc5f1b6b74cf7bd89c78e797711 /src/kernel/random.c
parent907fb823bf8329066b1bcff60ea6c4faa54a3642 (diff)
palloc smp safe (testing required, NOT pfree)
Diffstat (limited to 'src/kernel/random.c')
-rw-r--r--src/kernel/random.c7
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;
}