Adding functions for calling random in core0.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
Pol Henarejos
2022-09-16 00:49:10 +02:00
parent 4c49e59edc
commit 68f43f3cb2
4 changed files with 26 additions and 2 deletions

View File

@@ -79,13 +79,13 @@ void random_get_salt(uint8_t *p) {
/*
* Random byte iterator
*/
int random_gen(void *arg, unsigned char *out, size_t out_len) {
int random_gen_ext(void *arg, unsigned char *out, size_t out_len, bool blocking) {
uint8_t *index_p = (uint8_t *)arg;
uint8_t index = index_p ? *index_p : 0;
size_t n;
while (out_len) {
neug_wait_full();
neug_wait_full_ext(blocking);
n = RANDOM_BYTES_LENGTH - index;
if (n > out_len)
@@ -107,3 +107,11 @@ int random_gen(void *arg, unsigned char *out, size_t out_len) {
return 0;
}
int random_gen(void *arg, unsigned char *out, size_t out_len) {
return random_gen_ext(arg, out, out_len, true);
}
int random_gen_core0(void *arg, unsigned char *out, size_t out_len) {
return random_gen_ext(arg, out, out_len, false);
}