diff options
| author | Damien George <damien@micropython.org> | 2022-06-02 17:13:03 +1000 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2022-06-07 23:41:49 +1000 |
| commit | ac3fb974bc1b1a3e202b11c9e68a1c3422372182 (patch) | |
| tree | c7d295eeed51e7446b7ff9e37a5e6115666c7a84 | |
| parent | d2f018bff1deb78c35fcfb4cee508d4899e03dff (diff) | |
unix/variants: Enable seeding random module on import in dev, coverage.
Signed-off-by: Damien George <damien@micropython.org>
| -rw-r--r-- | ports/unix/mpconfigport.h | 11 | ||||
| -rw-r--r-- | ports/unix/variants/coverage/mpconfigvariant.h | 2 | ||||
| -rw-r--r-- | ports/unix/variants/dev/mpconfigvariant.h | 2 |
3 files changed, 13 insertions, 2 deletions
diff --git a/ports/unix/mpconfigport.h b/ports/unix/mpconfigport.h index ca050b414..a483c3e08 100644 --- a/ports/unix/mpconfigport.h +++ b/ports/unix/mpconfigport.h @@ -253,6 +253,17 @@ void mp_unix_mark_exec(void); #define MICROPY_FORCE_PLAT_ALLOC_EXEC (1) #endif +#ifdef MICROPY_PY_URANDOM_SEED_INIT_FUNC +// Support for seeding the random module on import. +#include <stddef.h> +void mp_hal_get_random(size_t n, void *buf); +static inline unsigned long mp_urandom_seed_init(void) { + unsigned long r; + mp_hal_get_random(sizeof(r), &r); + return r; +} +#endif + #ifdef __linux__ // Can access physical memory using /dev/mem #define MICROPY_PLAT_DEV_MEM (1) diff --git a/ports/unix/variants/coverage/mpconfigvariant.h b/ports/unix/variants/coverage/mpconfigvariant.h index 054c07af3..bf68dcb63 100644 --- a/ports/unix/variants/coverage/mpconfigvariant.h +++ b/ports/unix/variants/coverage/mpconfigvariant.h @@ -31,7 +31,6 @@ #define MICROPY_CONFIG_ROM_LEVEL (MICROPY_CONFIG_ROM_LEVEL_EXTRA_FEATURES) // Disable some features that come enabled by default with the feature level. -#define MICROPY_MODULE_BUILTIN_INIT (0) #define MICROPY_PY_BUILTINS_EXECFILE (0) #define MICROPY_PY_SYS_STDIO_BUFFER (0) #define MICROPY_PY_USELECT (0) @@ -50,6 +49,7 @@ #define MICROPY_PY_SYS_GETSIZEOF (1) #define MICROPY_PY_SYS_TRACEBACKLIMIT (1) #define MICROPY_PY_IO_BUFFEREDWRITER (1) +#define MICROPY_PY_URANDOM_SEED_INIT_FUNC (mp_urandom_seed_init()) #define MICROPY_PY_URE_DEBUG (1) #define MICROPY_PY_URE_MATCH_GROUPS (1) #define MICROPY_PY_URE_MATCH_SPAN_START_END (1) diff --git a/ports/unix/variants/dev/mpconfigvariant.h b/ports/unix/variants/dev/mpconfigvariant.h index 87e89dc2a..61092394c 100644 --- a/ports/unix/variants/dev/mpconfigvariant.h +++ b/ports/unix/variants/dev/mpconfigvariant.h @@ -28,7 +28,6 @@ #define MICROPY_CONFIG_ROM_LEVEL (MICROPY_CONFIG_ROM_LEVEL_EXTRA_FEATURES) // Disable some features that come enabled by default with the feature level. -#define MICROPY_MODULE_BUILTIN_INIT (0) #define MICROPY_PY_BUILTINS_EXECFILE (0) #define MICROPY_PY_SYS_STDIO_BUFFER (0) #define MICROPY_PY_USELECT (0) @@ -37,3 +36,4 @@ #define MICROPY_REPL_EMACS_WORDS_MOVE (1) #define MICROPY_REPL_EMACS_EXTRA_WORDS_MOVE (1) #define MICROPY_PY_SYS_SETTRACE (1) +#define MICROPY_PY_URANDOM_SEED_INIT_FUNC (mp_urandom_seed_init()) |
