krndsource
static struct krndsource rndrrs_source;
struct krndsource sc_rndsource;
struct krndsource cr_rndsource;
static struct krndsource bootinfo_rndsource;
static struct krndsource cpu_rng_source __read_mostly;
static struct krndsource hvrs;
struct krndsource sc_rndsource;
static struct krndsource efirng_source;
struct krndsource sc_rnd;
struct krndsource source;
rndsource_setcb(struct krndsource *rs, void (*get)(size_t, void *),
rnd_attach_source(struct krndsource *rs, const char *name, uint32_t type,
rnd_detach_source(struct krndsource *rs)
LIST_HEAD(,krndsource) sources; /* list of entropy sources */
struct krndsource *rs;
rnd_dt_estimate(struct krndsource *rs, uint32_t t)
rnd_add_uint32(struct krndsource *rs, uint32_t value)
_rnd_add_uint32(struct krndsource *rs, uint32_t value)
_rnd_add_uint64(struct krndsource *rs, uint64_t value)
rnd_add_data(struct krndsource *rs, const void *buf, uint32_t len,
static struct krndsource seed_rndsource __read_mostly;
rnd_add_data_intr(struct krndsource *rs, const void *buf, uint32_t len,
rnd_add_data_internal(struct krndsource *rs, const void *buf, uint32_t len,
rnd_add_data_1(struct krndsource *rs, const void *buf, uint32_t len,
rnd_add_data_sync(struct krndsource *rs, const void *buf, uint32_t len,
rndsource_entropybits(struct krndsource *rs)
rndsource_to_user(struct krndsource *rs, rndsource_t *urs)
rndsource_to_user_est(struct krndsource *rs, rndsource_est_t *urse)
struct krndsource *rs;
static void rnd_add_data_internal(struct krndsource *, const void *,
static void rnd_add_data_1(struct krndsource *, const void *, uint32_t,
static unsigned rndsource_entropybits(struct krndsource *);
static void rndsource_to_user(struct krndsource *, rndsource_t *);
static void rndsource_to_user_est(struct krndsource *, rndsource_est_t *);
struct krndsource *rs;
LIST_ENTRY(krndsource) list; /* the linked list */
void (*enable)(struct krndsource *, bool); /* unused */
typedef struct krndsource krndsource_t;
void rndsource_setcb(struct krndsource *, void (*)(size_t, void *), void *);
void rnd_attach_source(struct krndsource *, const char *, uint32_t,
void rnd_detach_source(struct krndsource *);
void _rnd_add_uint32(struct krndsource *, uint32_t); /* legacy */
void _rnd_add_uint64(struct krndsource *, uint64_t); /* legacy */
void rnd_add_uint32(struct krndsource *, uint32_t);
void rnd_add_data(struct krndsource *, const void *, uint32_t, uint32_t);
void rnd_add_data_intr(struct krndsource *, const void *, uint32_t,
void rnd_add_data_sync(struct krndsource *, const void *, uint32_t,
struct krndsource uvm_fault_rndsource;
extern struct krndsource uvm_fault_rndsource;