diff options
Diffstat (limited to 'sys/dev/random')
-rw-r--r-- | sys/dev/random/harvest.c | 3 | ||||
-rw-r--r-- | sys/dev/random/randomdev.c | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/sys/dev/random/harvest.c b/sys/dev/random/harvest.c index 93ce35b..59495d7 100644 --- a/sys/dev/random/harvest.c +++ b/sys/dev/random/harvest.c @@ -45,6 +45,9 @@ static u_int read_random_phony(void *, u_int); +/* Structure holding the desired entropy sources */ +struct harvest_select harvest = { 0, 0, 0 }; + /* hold the address of the routine which is actually called if * the randomdev is loaded */ diff --git a/sys/dev/random/randomdev.c b/sys/dev/random/randomdev.c index bb602b1..8358877 100644 --- a/sys/dev/random/randomdev.c +++ b/sys/dev/random/randomdev.c @@ -81,7 +81,7 @@ static dev_t random_dev; static dev_t urandom_dev; /* XXX Temporary */ /* To stash the sysctl's until they are removed */ -static struct sysctl_oid *random_sysctl[10]; /* magic # is sysctl count */ +static struct sysctl_oid *random_sysctl[12]; /* magic # is sysctl count */ static int sysctlcount = 0; static int @@ -190,6 +190,18 @@ random_modevent(module_t mod, int type, void *data) SYSCTL_ADD_INT(NULL, SYSCTL_CHILDREN(node1), OID_AUTO, "seeded", CTLFLAG_RW, &random_state.seeded, 0, "Seeded State"); + random_sysctl[sysctlcount++] = + SYSCTL_ADD_INT(NULL, SYSCTL_CHILDREN(node1), + OID_AUTO, "harvest_ethernet", CTLFLAG_RW, + &harvest.ethernet, 0, "Harvest NIC entropy"); + random_sysctl[sysctlcount++] = + SYSCTL_ADD_INT(NULL, SYSCTL_CHILDREN(node1), + OID_AUTO, "harvest_point_to_point", CTLFLAG_RW, + &harvest.point_to_point, 0, "Harvest serial net entropy"); + random_sysctl[sysctlcount++] = + SYSCTL_ADD_INT(NULL, SYSCTL_CHILDREN(node1), + OID_AUTO, "harvest_interrupt", CTLFLAG_RW, + &harvest.interrupt, 0, "Harvest IRQ entropy"); random_sysctl[sysctlcount++] = node2 = SYSCTL_ADD_NODE(NULL, SYSCTL_CHILDREN(node_base), OID_AUTO, "yarrow", CTLFLAG_RW, 0, |