|
- #include <strobe.h>
-
- #include <strobe_rng_init.h>
-
- /*
- * 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;
- }
|