#include #include /* * Note: rng_save is really REAL_RNG_SAVE_LEN, BUT, we want to use the * uninitalized SRAM after it as entropy. */ extern uint8_t rng_save[2*1048]; extern int rng_save_len; #define REAL_RNG_SAVE_LEN ((int)&rng_save_len) void strobe_rng_init(void) { int r; /* * Seed RNG * On first boot, SRAM is uninitialized and randomness from * it is used. On reset, the previously saved state is used. */ strobe_seed_prng(rng_save, 2*1024); /* * Save entropy for next reset. */ r = strobe_randomize(rng_save, REAL_RNG_SAVE_LEN); (void)r; }