From 59019d7f759c78dedd8d353d24c8d64a7a9981c7 Mon Sep 17 00:00:00 2001 From: robert Date: Sun, 23 Aug 2020 12:14:23 +0200 Subject: [PATCH] stm32/mpconfigport.h: Seed the urandom module on import. For seeding the rng_get function is used, which is also the heart of uos.urandom and pyb.rng, and is a hardware RNG where available. --- ports/stm32/mpconfigport.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ports/stm32/mpconfigport.h b/ports/stm32/mpconfigport.h index 7ea41bb6f4..5f8e7ec2de 100644 --- a/ports/stm32/mpconfigport.h +++ b/ports/stm32/mpconfigport.h @@ -79,6 +79,7 @@ #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_FLOAT) #endif #define MICROPY_STREAMS_NON_BLOCK (1) +#define MICROPY_MODULE_BUILTIN_INIT (1) #define MICROPY_MODULE_WEAK_LINKS (1) #define MICROPY_CAN_OVERRIDE_BUILTINS (1) #define MICROPY_USE_INTERNAL_ERRNO (1) @@ -167,6 +168,7 @@ #endif #ifndef MICROPY_PY_URANDOM #define MICROPY_PY_URANDOM (1) +#define MICROPY_PY_URANDOM_SEED_INIT_FUNC (rng_get()) #endif #ifndef MICROPY_PY_URANDOM_EXTRA_FUNCS #define MICROPY_PY_URANDOM_EXTRA_FUNCS (1) @@ -427,3 +429,6 @@ static inline mp_uint_t disable_irq(void) { // We need to provide a declaration/definition of alloca() #include + +// Needed for MICROPY_PY_URANDOM_SEED_INIT_FUNC. +uint32_t rng_get(void);