Symbol: n2rng
usr/src/uts/sun4v/io/n2rng/n2rng.c
1003
n2rng->n_ctl_data = NULL;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1007
hverr = n2rng_check_ctl_access(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1011
DBG1(n2rng, DHEALTH, "n2rng_int_ctl: exceeded busy "
usr/src/uts/sun4v/io/n2rng/n2rng.c
1024
DBG0(n2rng, DATTACH,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1030
n2rng->n_ctl_data = kmem_alloc(sizeof (rng_ctl_data_t), KM_SLEEP);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1031
n2rng->n_ctl_data->n_num_rngs_online = 0;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1037
if (n2rng->n_hvapi_major_version < 2) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1038
n2rng->n_ctl_data->n_num_rngs = 1;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1040
n2rng->n_ctl_data->n_num_rngs =
usr/src/uts/sun4v/io/n2rng/n2rng.c
1041
ddi_getprop(DDI_DEV_T_ANY, n2rng->n_dip,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1044
if (n2rng->n_ctl_data->n_num_rngs == 0) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1052
n2rng->n_ctl_data->n_rngs =
usr/src/uts/sun4v/io/n2rng/n2rng.c
1053
kmem_zalloc(n2rng->n_ctl_data->n_num_rngs *
usr/src/uts/sun4v/io/n2rng/n2rng.c
1057
n2rng->n_ctl_data->n_accumulate_cycles =
usr/src/uts/sun4v/io/n2rng/n2rng.c
1058
ddi_getprop(DDI_DEV_T_ANY, n2rng->n_dip,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1063
n2rng->n_ctl_data->n_hc_secs = ddi_getprop(DDI_DEV_T_ANY, n2rng->n_dip,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1068
if ((n2rng->n_hvapi_major_version < 2) &&
usr/src/uts/sun4v/io/n2rng/n2rng.c
1069
(n2rng->n_ctl_data->n_hc_secs > 0)) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1072
n2rng->n_hvapi_major_version,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1073
n2rng->n_hvapi_minor_version);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1074
n2rng->n_ctl_data->n_hc_secs = 0;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1079
if (n2rng->n_ctl_data->n_hc_secs <= 0) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1080
n2rng->n_ctl_data->n_watchdog_cycles = 0;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1082
n2rng->n_ctl_data->n_watchdog_cycles =
usr/src/uts/sun4v/io/n2rng/n2rng.c
1084
n2rng->n_ctl_data->n_hc_secs) *
usr/src/uts/sun4v/io/n2rng/n2rng.c
1085
n2rng->n_sticks_per_usec * 1000000;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1092
for (rngid = 0; rngid < n2rng->n_ctl_data->n_num_rngs; rngid++) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1094
rng = &n2rng->n_ctl_data->n_rngs[rngid];
usr/src/uts/sun4v/io/n2rng/n2rng.c
1119
n2rng_setcontrol(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1120
DBG2(n2rng, DATTACH,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1122
n2rng->n_ctl_data->n_num_rngs,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1123
(n2rng->n_ctl_data->n_num_rngs == 1) ? "" : "s");
usr/src/uts/sun4v/io/n2rng/n2rng.c
1124
DBG2(n2rng, DCFG,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1126
n2rng->n_sticks_per_usec,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1127
n2rng->n_ctl_data->n_hc_secs);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1128
DBG2(n2rng, DCFG,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1130
"n_accumulate_cycles = %ld", n2rng->n_ctl_data->n_watchdog_cycles,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1131
n2rng->n_ctl_data->n_accumulate_cycles);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1137
n2rng_uninit_ctl(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng.c
1139
if (n2rng->n_ctl_data) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1140
if (n2rng->n_ctl_data->n_num_rngs) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1141
kmem_free(n2rng->n_ctl_data->n_rngs,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1142
n2rng->n_ctl_data->n_num_rngs *
usr/src/uts/sun4v/io/n2rng/n2rng.c
1144
n2rng->n_ctl_data->n_rngs = NULL;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1145
n2rng->n_ctl_data->n_num_rngs = 0;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1147
kmem_free(n2rng->n_ctl_data, sizeof (rng_ctl_data_t));
usr/src/uts/sun4v/io/n2rng/n2rng.c
1148
n2rng->n_ctl_data = NULL;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1159
n2rng_config_test(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng.c
1194
DBG1(n2rng, DHEALTH, "n2rng_config_test: "
usr/src/uts/sun4v/io/n2rng/n2rng.c
1199
cyclesleep(n2rng, tdelta);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1223
n2rng_config(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng.c
1233
if (n2rng_iscontrol(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1235
for (rngid = 0; rngid < n2rng->n_ctl_data->n_num_rngs;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1238
rng = &n2rng->n_ctl_data->n_rngs[rngid];
usr/src/uts/sun4v/io/n2rng/n2rng.c
1245
if ((n2rng->n_binding == N2RNG_CPU_VF) &&
usr/src/uts/sun4v/io/n2rng/n2rng.c
1246
(n2rng->n_hvapi_major_version < 2)) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1254
DBG1(n2rng, DCFG, "n2rng_config: "
usr/src/uts/sun4v/io/n2rng/n2rng.c
1257
rv = n2rng_do_health_check(n2rng, rngid);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1260
rv = n2rng_do_health_check(n2rng, rngid);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1269
DBG1(n2rng, DCFG, "n2rng_config: rng(%d) "
usr/src/uts/sun4v/io/n2rng/n2rng.c
1274
n2rng->n_ctl_data->n_num_rngs_online++;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1285
n2rng->n_ctl_data->n_num_rngs_online--;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1291
DBG2(n2rng, DCFG, "n2rng_config: %d rng%s online",
usr/src/uts/sun4v/io/n2rng/n2rng.c
1292
n2rng->n_ctl_data->n_num_rngs_online,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1293
(n2rng->n_ctl_data->n_num_rngs_online == 1) ? "" : "s");
usr/src/uts/sun4v/io/n2rng/n2rng.c
1296
if (n2rng->n_ctl_data->n_num_rngs_online == 0) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1298
n2rng->n_ctl_data->n_num_rngs,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1299
(n2rng->n_ctl_data->n_num_rngs == 1) ? "" : "s");
usr/src/uts/sun4v/io/n2rng/n2rng.c
1302
n2rng_setconfigured(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1306
rv = n2rng_config_test(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1309
n2rng_setconfigured(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1324
if (n2rng_isconfigured(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1326
if (n2rng_init(n2rng) != DDI_SUCCESS) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1335
if (n2rng_iscontrol(n2rng) &&
usr/src/uts/sun4v/io/n2rng/n2rng.c
1336
(n2rng->n_ctl_data->n_hc_secs > 0)) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1337
n2rng_config_retry(n2rng,
usr/src/uts/sun4v/io/n2rng/n2rng.c
1338
n2rng->n_ctl_data->n_hc_secs);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1340
} else if (!n2rng_isfailed(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
1342
n2rng_config_retry(n2rng, RNG_CFG_RETRY_SECS);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1348
(void) n2rng_unregister_provider(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1349
n2rng_setfailed(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1362
n2rng_t *n2rng = (n2rng_t *)targ;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1364
mutex_enter(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1365
n2rng->n_timeout_id = 0;
usr/src/uts/sun4v/io/n2rng/n2rng.c
1366
mutex_exit(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng.c
1367
(void) n2rng_config(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng.c
163
n2rng_t *n2rng = NULL;
usr/src/uts/sun4v/io/n2rng/n2rng.c
181
n2rng = (n2rng_t *)ddi_get_soft_state(n2rng_softstate,
usr/src/uts/sun4v/io/n2rng/n2rng.c
183
if (n2rng == NULL) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
187
return (n2rng_resume(n2rng));
usr/src/uts/sun4v/io/n2rng/n2rng.c
200
n2rng = (n2rng_t *)ddi_get_soft_state(n2rng_softstate, instance);
usr/src/uts/sun4v/io/n2rng/n2rng.c
201
ASSERT(n2rng != NULL);
usr/src/uts/sun4v/io/n2rng/n2rng.c
202
n2rng->n_dip = dip;
usr/src/uts/sun4v/io/n2rng/n2rng.c
204
mutex_init(&n2rng->n_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/sun4v/io/n2rng/n2rng.c
205
n2rng->n_flags = 0;
usr/src/uts/sun4v/io/n2rng/n2rng.c
206
n2rng->n_timeout_id = 0;
usr/src/uts/sun4v/io/n2rng/n2rng.c
207
n2rng->n_sticks_per_usec = sticks_per_usec();
usr/src/uts/sun4v/io/n2rng/n2rng.c
210
n2rng->n_binding_name = ddi_binding_name(dip);
usr/src/uts/sun4v/io/n2rng/n2rng.c
211
if (strncmp(n2rng->n_binding_name, N2RNG_BINDNAME_N2,
usr/src/uts/sun4v/io/n2rng/n2rng.c
216
n2rng->n_binding = N2RNG_CPU_N2;
usr/src/uts/sun4v/io/n2rng/n2rng.c
217
} else if (strncmp(n2rng->n_binding_name, N2RNG_BINDNAME_VF,
usr/src/uts/sun4v/io/n2rng/n2rng.c
222
n2rng->n_binding = N2RNG_CPU_VF;
usr/src/uts/sun4v/io/n2rng/n2rng.c
223
} else if (strncmp(n2rng->n_binding_name, N2RNG_BINDNAME_KT,
usr/src/uts/sun4v/io/n2rng/n2rng.c
228
n2rng->n_binding = N2RNG_CPU_KT;
usr/src/uts/sun4v/io/n2rng/n2rng.c
232
n2rng->n_binding_name);
usr/src/uts/sun4v/io/n2rng/n2rng.c
235
DBG1(n2rng, DCHATTY, "n2rng_attach: n2rng->n_binding_name = %s",
usr/src/uts/sun4v/io/n2rng/n2rng.c
236
n2rng->n_binding_name);
usr/src/uts/sun4v/io/n2rng/n2rng.c
244
DBG4(n2rng, DCHATTY, "n2rng_attach: grp: 0x%lx, maj: %ld, "
usr/src/uts/sun4v/io/n2rng/n2rng.c
263
DBG2(n2rng, DATTACH, "n2rng_attach: ncs api version (%ld.%ld)",
usr/src/uts/sun4v/io/n2rng/n2rng.c
265
n2rng->n_hvapi_major_version = ncs_hsvc[ncs_version_index].hsvc_major;
usr/src/uts/sun4v/io/n2rng/n2rng.c
266
n2rng->n_hvapi_minor_version = (uint_t)ncs_minor_ver;
usr/src/uts/sun4v/io/n2rng/n2rng.c
272
if ((n2rng->n_binding != N2RNG_CPU_N2) &&
usr/src/uts/sun4v/io/n2rng/n2rng.c
273
(n2rng->n_hvapi_major_version < 2)) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
275
"version %d.%d detected", n2rng->n_hvapi_major_version,
usr/src/uts/sun4v/io/n2rng/n2rng.c
276
n2rng->n_hvapi_minor_version);
usr/src/uts/sun4v/io/n2rng/n2rng.c
280
if (n2rng_init_ctl(n2rng) != DDI_SUCCESS) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
287
n2rng->n_taskq = ddi_taskq_create(dip, "n2rng_taskq", 1,
usr/src/uts/sun4v/io/n2rng/n2rng.c
290
if (n2rng->n_taskq == NULL) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
296
if (ddi_taskq_dispatch(n2rng->n_taskq, n2rng_config_task,
usr/src/uts/sun4v/io/n2rng/n2rng.c
297
(void *)n2rng, DDI_SLEEP) != DDI_SUCCESS) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
306
if (n2rng->n_taskq != NULL) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
307
ddi_taskq_destroy(n2rng->n_taskq);
usr/src/uts/sun4v/io/n2rng/n2rng.c
308
n2rng->n_taskq = NULL;
usr/src/uts/sun4v/io/n2rng/n2rng.c
311
n2rng_uninit_ctl(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng.c
313
(void) n2rng_uninit(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng.c
320
mutex_destroy(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng.c
331
n2rng_t *n2rng;
usr/src/uts/sun4v/io/n2rng/n2rng.c
335
n2rng = (n2rng_t *)ddi_get_soft_state(n2rng_softstate, instance);
usr/src/uts/sun4v/io/n2rng/n2rng.c
336
if (n2rng == NULL) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
343
return (n2rng_suspend(n2rng));
usr/src/uts/sun4v/io/n2rng/n2rng.c
351
if (n2rng->n_taskq != NULL) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
352
ddi_taskq_destroy(n2rng->n_taskq);
usr/src/uts/sun4v/io/n2rng/n2rng.c
353
n2rng->n_taskq = NULL;
usr/src/uts/sun4v/io/n2rng/n2rng.c
357
mutex_enter(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng.c
358
tid = n2rng->n_timeout_id;
usr/src/uts/sun4v/io/n2rng/n2rng.c
359
n2rng->n_timeout_id = 0;
usr/src/uts/sun4v/io/n2rng/n2rng.c
360
mutex_exit(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng.c
362
DBG1(n2rng, DCHATTY, "n2rng_detach: untimeout pending retry "
usr/src/uts/sun4v/io/n2rng/n2rng.c
367
n2rng_uninit_ctl(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng.c
370
rv = n2rng_uninit(n2rng) ? DDI_FAILURE : DDI_SUCCESS;
usr/src/uts/sun4v/io/n2rng/n2rng.c
377
mutex_destroy(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng.c
385
n2rng_suspend(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng.c
388
if (n2rng_uninit(n2rng) != DDI_SUCCESS) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
398
n2rng_resume(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng.c
403
return (n2rng_config(n2rng));
usr/src/uts/sun4v/io/n2rng/n2rng.c
448
cyclesleep(n2rng_t *n2rng, uint64_t delay_sticks)
usr/src/uts/sun4v/io/n2rng/n2rng.c
462
usecs_to_wait = sticks_to_wait / n2rng->n_sticks_per_usec;
usr/src/uts/sun4v/io/n2rng/n2rng.c
513
n2rng_collect_diag_bits(n2rng_t *n2rng, int rngid,
usr/src/uts/sun4v/io/n2rng/n2rng.c
557
hverr = n2rng_ctl_write(n2rng, rngid, setupphys,
usr/src/uts/sun4v/io/n2rng/n2rng.c
559
n2rng->n_ctl_data->n_watchdog_cycles, &tdelta);
usr/src/uts/sun4v/io/n2rng/n2rng.c
571
DBG1(n2rng, DHEALTH,
usr/src/uts/sun4v/io/n2rng/n2rng.c
577
cyclesleep(n2rng, tdelta);
usr/src/uts/sun4v/io/n2rng/n2rng.c
588
DBG1(n2rng, DHEALTH,
usr/src/uts/sun4v/io/n2rng/n2rng.c
618
hverr = n2rng_data_read_diag(n2rng, rngid,
usr/src/uts/sun4v/io/n2rng/n2rng.c
634
DBG1(n2rng, DHEALTH,
usr/src/uts/sun4v/io/n2rng/n2rng.c
641
cyclesleep(n2rng, tdelta);
usr/src/uts/sun4v/io/n2rng/n2rng.c
664
hverr = n2rng_ctl_write(n2rng, rngid, setupphys,
usr/src/uts/sun4v/io/n2rng/n2rng.c
665
exitstate, n2rng->n_ctl_data->n_watchdog_cycles,
usr/src/uts/sun4v/io/n2rng/n2rng.c
678
DBG1(n2rng, DHEALTH,
usr/src/uts/sun4v/io/n2rng/n2rng.c
684
cyclesleep(n2rng, tdelta);
usr/src/uts/sun4v/io/n2rng/n2rng.c
695
DBG1(n2rng, DHEALTH,
usr/src/uts/sun4v/io/n2rng/n2rng.c
721
n2rng_getentropy(n2rng_t *n2rng, void *buffer, size_t size)
usr/src/uts/sun4v/io/n2rng/n2rng.c
752
if (n2rng->n_hvapi_major_version < 2) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
761
DBG2(n2rng, DHEALTH,
usr/src/uts/sun4v/io/n2rng/n2rng.c
789
DBG1(n2rng, DHEALTH,
usr/src/uts/sun4v/io/n2rng/n2rng.c
795
cyclesleep(n2rng, tdelta);
usr/src/uts/sun4v/io/n2rng/n2rng.c
810
n2rng_ctl_read(n2rng_t *n2rng, int rngid, uint64_t ctlregs_pa, uint64_t *state,
usr/src/uts/sun4v/io/n2rng/n2rng.c
817
if (n2rng->n_hvapi_major_version == 2) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
832
n2rng_ctl_wait(n2rng_t *n2rng, int rngid)
usr/src/uts/sun4v/io/n2rng/n2rng.c
865
DBG1(n2rng, DHEALTH, "n2rng_ctl_wait: "
usr/src/uts/sun4v/io/n2rng/n2rng.c
870
cyclesleep(n2rng, tdelta);
usr/src/uts/sun4v/io/n2rng/n2rng.c
876
DBG1(n2rng, DHEALTH, "n2rng_ctl_wait: "
usr/src/uts/sun4v/io/n2rng/n2rng.c
894
n2rng_ctl_write(n2rng_t *n2rng, int rngid, uint64_t ctlregs_pa,
usr/src/uts/sun4v/io/n2rng/n2rng.c
900
if (n2rng->n_hvapi_major_version == 2) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
905
rv = n2rng_ctl_wait(n2rng, rngid);
usr/src/uts/sun4v/io/n2rng/n2rng.c
916
n2rng_data_read_diag(n2rng_t *n2rng, int rngid, uint64_t data_pa,
usr/src/uts/sun4v/io/n2rng/n2rng.c
922
if (n2rng->n_hvapi_major_version == 2) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
936
n2rng_check_ctl_access(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng.c
942
if (n2rng->n_hvapi_major_version == 2) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
962
n2rng_config_retry(n2rng_t *n2rng, clock_t seconds)
usr/src/uts/sun4v/io/n2rng/n2rng.c
964
mutex_enter(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng.c
966
if (n2rng->n_timeout_id) {
usr/src/uts/sun4v/io/n2rng/n2rng.c
967
DBG1(n2rng, DCFG, "n2rng_config_retry: retry pending "
usr/src/uts/sun4v/io/n2rng/n2rng.c
968
"id = %x", n2rng->n_timeout_id);
usr/src/uts/sun4v/io/n2rng/n2rng.c
970
n2rng->n_timeout_id = timeout(n2rng_config_task,
usr/src/uts/sun4v/io/n2rng/n2rng.c
971
(void *)n2rng, drv_usectohz(seconds * SECOND));
usr/src/uts/sun4v/io/n2rng/n2rng.c
972
DBG2(n2rng, DCFG, "n2rng_config_retry: retry scheduled in "
usr/src/uts/sun4v/io/n2rng/n2rng.c
973
"%d seconds, id = %x", seconds, n2rng->n_timeout_id);
usr/src/uts/sun4v/io/n2rng/n2rng.c
975
mutex_exit(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng.c
995
n2rng_init_ctl(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng_debug.c
48
n2rng_dprintf(n2rng_t *n2rng, int level, const char *fmt, ...)
usr/src/uts/sun4v/io/n2rng/n2rng_debug.c
55
if (n2rng == NULL) {
usr/src/uts/sun4v/io/n2rng/n2rng_debug.c
59
ddi_driver_name(n2rng->n_dip),
usr/src/uts/sun4v/io/n2rng/n2rng_debug.c
60
ddi_get_instance(n2rng->n_dip), fmt);
usr/src/uts/sun4v/io/n2rng/n2rng_debug.c
69
n2rng_error(n2rng_t *n2rng, const char *fmt, ...)
usr/src/uts/sun4v/io/n2rng/n2rng_debug.c
73
n2rng_dipverror(n2rng->n_dip, fmt, ap);
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
136
n2rng_logic_test(n2rng_t *n2rng, int rngid)
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
144
rng_entry_t *rng = &n2rng->n_ctl_data->n_rngs[rngid];
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
166
rv = n2rng_collect_diag_bits(n2rng, rngid, &logictest, buffer,
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
196
DBG2(n2rng, DHEALTH, "n2rng: logic error on rng(%d), only %d "
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
199
DBG3(n2rng, DHEALTH, "buffer[%d] %016llx, cycles = %d",
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
204
DBG3(n2rng, DHEALTH, "n2rng: rng(%d) logic test passed, "
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
207
DBG3(n2rng, DCHATTY, "buffer[%d] %016llx, cycles = %d",
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
220
n2rng_collect_metrics(n2rng_t *n2rng, int rngid, n2rng_setup_t *setupp,
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
236
rv = n2rng_collect_diag_bits(n2rng, rngid, setupp, buffer, bufsize,
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
256
collect_rng_perf(n2rng_t *n2rng, int rngid, n2rng_osc_perf_table_t ptable)
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
262
rng_entry_t *rng = &n2rng->n_ctl_data->n_rngs[rngid];
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
274
rv = n2rng_collect_metrics(n2rng, rngid, &rngstate,
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
307
n2rng_noise_gen_preferred(n2rng_t *n2rng, int rngid)
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
319
rng_entry_t *rng = &n2rng->n_ctl_data->n_rngs[rngid];
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
321
rv = collect_rng_perf(n2rng, rngid, rng->n_perftable);
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
386
rng_ctl.fields.rnc_cnt = n2rng->n_ctl_data->n_accumulate_cycles;
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
400
rng_ctl.fields.rnc_cnt = n2rng->n_ctl_data->n_accumulate_cycles;
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
413
DBG4(n2rng, DCHATTY,
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
437
n2rng_do_health_check(n2rng_t *n2rng, int rngid)
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
440
rng_entry_t *rng = &n2rng->n_ctl_data->n_rngs[rngid];
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
445
rv = n2rng_logic_test(n2rng, rngid);
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
453
DBG1(n2rng, DHEALTH,
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
459
rv = n2rng_noise_gen_preferred(n2rng, rngid);
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
461
DBG0(n2rng, DHEALTH,
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
467
rv = n2rng_collect_diag_bits(n2rng, rngid, NULL, NULL, 0,
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
470
DBG0(n2rng, DHEALTH,
usr/src/uts/sun4v/io/n2rng/n2rng_entp_setup.c
479
(void) n2rng_collect_diag_bits(n2rng, rngid, NULL, NULL, 0,
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
124
n2rng_t *n2rng = (n2rng_t *)prov;
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
155
ddi_driver_name(n2rng->n_dip),
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
156
ddi_get_instance(n2rng->n_dip));
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
181
n2rng_t *n2rng = (n2rng_t *)targ;
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
184
(void) n2rng_unregister_provider(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
191
n2rng_register_provider(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
195
if (n2rng_isregistered(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
196
DBG0(n2rng, DKCF, "n2rng_kcf: Crypto provider already "
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
201
&n2rng->n_prov);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
203
DBG0(n2rng, DKCF, "n2rng_kcf: Crypto provider "
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
208
n2rng->n_prov = 0;
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
212
n2rng_setregistered(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
213
crypto_provider_notification(n2rng->n_prov, CRYPTO_PROVIDER_READY);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
222
n2rng_unregister_provider(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
224
if (!n2rng_isregistered(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
225
DBG0(n2rng, DKCF, "n2rng_kcf: Crypto provider already "
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
228
if (crypto_unregister_provider(n2rng->n_prov) ==
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
230
DBG0(n2rng, DKCF, "n2rng_kcf: Crypto provider "
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
233
n2rng_error(n2rng, "unable to unregister from kcf");
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
237
n2rng->n_prov = 0;
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
238
n2rng_clrregistered(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
248
n2rng_failure(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
253
mutex_enter(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
255
if (n2rng_isfailed(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
256
mutex_exit(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
261
n2rng_setfailed(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
264
if (n2rng_iscontrol(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
265
for (rngid = 0; rngid < n2rng->n_ctl_data->n_num_rngs;
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
267
rng = &n2rng->n_ctl_data->n_rngs[rngid];
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
271
mutex_exit(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
274
if (ddi_taskq_dispatch(n2rng->n_taskq, unregister_task,
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
275
(void *)n2rng, DDI_SLEEP) != DDI_SUCCESS) {
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
285
n2rng_unconfigured(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
290
mutex_enter(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
292
if (!n2rng_isconfigured(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
293
mutex_exit(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
298
n2rng_clrconfigured(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
301
if (n2rng_iscontrol(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
302
for (rngid = 0; rngid < n2rng->n_ctl_data->n_num_rngs;
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
304
rng = &n2rng->n_ctl_data->n_rngs[rngid];
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
308
mutex_exit(&n2rng->n_lock);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
311
if (ddi_taskq_dispatch(n2rng->n_taskq, unregister_task,
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
312
(void *)n2rng, DDI_SLEEP) != DDI_SUCCESS) {
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
316
n2rng_config_retry(n2rng, RNG_CFG_RETRY_SECS);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
324
n2rng_init(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
330
dip = n2rng->n_dip;
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
333
if (!n2rng_isinitialized(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
335
n2rng_ksinit(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
338
ret = fips_init(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
340
n2rng_ksdeinit(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
354
n2rng_prov_info.pi_provider_handle = n2rng;
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
355
n2rng_setinitialized(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
356
ret = n2rng_register_provider(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
358
fips_fini(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
359
n2rng_ksdeinit(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
360
n2rng_clrinitialized(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
371
n2rng_uninit(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
374
if (n2rng_isinitialized(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
379
if (n2rng_unregister_provider(n2rng) != DDI_SUCCESS) {
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
383
fips_fini(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
386
n2rng_ksdeinit(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
387
n2rng_clrinitialized(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
412
n2rng_t *n2rng = (n2rng_t *)provider;
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
415
rv = fips_random(n2rng, buf, buflen);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
417
atomic_add_64(&n2rng->n_stats[DS_RNGBYTES], buflen);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
418
atomic_inc_64(&n2rng->n_stats[DS_RNGJOBS]);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
424
fips_init(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
429
n2rng->n_frs.fips_round_robin_j = 0;
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
431
rv = n2rng_fips_random_init(n2rng, &n2rng->n_frs.fipsarray[i]);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
436
&n2rng->n_frs.fipsarray[i]);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
445
fips_fini(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
450
n2rng_fips_random_fini(&n2rng->n_frs.fipsarray[i]);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
52
void n2rng_ksinit(n2rng_t *n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
53
void n2rng_ksdeinit(n2rng_t *n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
55
static int fips_init(n2rng_t *n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
56
static void fips_fini(n2rng_t *n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_kcf.c
57
int fips_random(n2rng_t *n2rng, uint8_t *out, size_t nbytes);
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
103
n2rng->n_ksp->ks_update = n2rng_ksupdate;
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
104
n2rng->n_ksp->ks_private = n2rng;
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
106
kstat_install(n2rng->n_ksp);
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
114
n2rng_ksdeinit(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
117
if (n2rng->n_ksp != NULL) {
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
118
kstat_delete(n2rng->n_ksp);
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
119
n2rng->n_ksp = NULL;
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
129
n2rng_t *n2rng;
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
134
n2rng = (n2rng_t *)ksp->ks_private;
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
139
n2rng->n_stats[i] = dkp->ns_algs[i].value.ull;
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
143
if (n2rng_isfailed(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
146
} else if (!n2rng_isconfigured(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
155
dkp->ns_algs[i].value.ull = n2rng->n_stats[i];
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
158
if (n2rng_iscontrol(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
161
for (i = 0; i < n2rng->n_ctl_data->n_num_rngs; i++) {
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
163
rng = &n2rng->n_ctl_data->n_rngs[i];
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
46
n2rng_ksinit(n2rng_t *n2rng)
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
53
if (ddi_getprop(DDI_DEV_T_ANY, n2rng->n_dip,
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
62
instance = ddi_get_instance(n2rng->n_dip);
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
67
n2rng->n_ksp = kstat_create(DRIVER, instance, NULL, "misc",
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
71
if (n2rng->n_ksp == NULL) {
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
72
n2rng_error(n2rng, "unable to create kstats");
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
74
n2rng_stat_t *dkp = (n2rng_stat_t *)n2rng->n_ksp->ks_data;
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
83
if (n2rng_iscontrol(n2rng)) {
usr/src/uts/sun4v/io/n2rng/n2rng_kstat.c
85
for (i = 0; i < n2rng->n_ctl_data->n_num_rngs; i++) {
usr/src/uts/sun4v/io/n2rng/n2rng_provider.c
118
frsp = &n2rng->n_frs.fipsarray[
usr/src/uts/sun4v/io/n2rng/n2rng_provider.c
119
atomic_inc_32_nv(&n2rng->n_frs.fips_round_robin_j) %
usr/src/uts/sun4v/io/n2rng/n2rng_provider.c
134
n2rng_unconfigured(n2rng);
usr/src/uts/sun4v/io/n2rng/n2rng_provider.c
162
n2rng_fips_random_init(n2rng_t *n2rng, fipsrandomstruct_t *frsp)
usr/src/uts/sun4v/io/n2rng/n2rng_provider.c
176
rv = n2rng_getentropy(n2rng, (void *)frsp->XKEY, ROUNDUP(SHA1BYTES, 8));
usr/src/uts/sun4v/io/n2rng/n2rng_provider.c
66
fips_random(n2rng_t *n2rng, uint8_t *out, size_t nbytes)
usr/src/uts/sun4v/io/n2rng/n2rng_provider.c
79
frsp = &n2rng->n_frs.fipsarray[
usr/src/uts/sun4v/io/n2rng/n2rng_provider.c
80
atomic_inc_32_nv(&n2rng->n_frs.fips_round_robin_j) %
usr/src/uts/sun4v/io/n2rng/n2rng_provider.c
87
if ((rv = n2rng_getentropy(n2rng, (void *)&entropy.as64[1],
usr/src/uts/sun4v/io/n2rng/n2rng_provider.c
97
n2rng_failure(n2rng);
usr/src/uts/sun4v/sys/n2rng.h
157
#define n2rng_setcontrol(n2rng) ((n2rng)->n_flags |= N2RNG_CONTROL)
usr/src/uts/sun4v/sys/n2rng.h
158
#define n2rng_clrcontrol(n2rng) ((n2rng)->n_flags &= ~N2RNG_CONTROL)
usr/src/uts/sun4v/sys/n2rng.h
159
#define n2rng_iscontrol(n2rng) ((n2rng)->n_flags & N2RNG_CONTROL)
usr/src/uts/sun4v/sys/n2rng.h
161
#define n2rng_setfailed(n2rng) ((n2rng)->n_flags |= N2RNG_FAILED)
usr/src/uts/sun4v/sys/n2rng.h
162
#define n2rng_clrfailed(n2rng) ((n2rng)->n_flags &= ~N2RNG_FAILED)
usr/src/uts/sun4v/sys/n2rng.h
163
#define n2rng_isfailed(n2rng) ((n2rng)->n_flags & N2RNG_FAILED)
usr/src/uts/sun4v/sys/n2rng.h
165
#define n2rng_setconfigured(n2rng) ((n2rng)->n_flags |= N2RNG_CONFIGURED)
usr/src/uts/sun4v/sys/n2rng.h
166
#define n2rng_clrconfigured(n2rng) ((n2rng)->n_flags &= ~N2RNG_CONFIGURED)
usr/src/uts/sun4v/sys/n2rng.h
167
#define n2rng_isconfigured(n2rng) ((n2rng)->n_flags & N2RNG_CONFIGURED)
usr/src/uts/sun4v/sys/n2rng.h
169
#define n2rng_setinitialized(n2rng) ((n2rng)->n_flags |= N2RNG_INITIALIZED)
usr/src/uts/sun4v/sys/n2rng.h
170
#define n2rng_clrinitialized(n2rng) ((n2rng)->n_flags &= ~N2RNG_INITIALIZED)
usr/src/uts/sun4v/sys/n2rng.h
171
#define n2rng_isinitialized(n2rng) ((n2rng)->n_flags & N2RNG_INITIALIZED)
usr/src/uts/sun4v/sys/n2rng.h
173
#define n2rng_setregistered(n2rng) ((n2rng)->n_flags |= N2RNG_REGISTERED)
usr/src/uts/sun4v/sys/n2rng.h
174
#define n2rng_clrregistered(n2rng) ((n2rng)->n_flags &= ~N2RNG_REGISTERED)
usr/src/uts/sun4v/sys/n2rng.h
175
#define n2rng_isregistered(n2rng) ((n2rng)->n_flags & N2RNG_REGISTERED)
usr/src/uts/sun4v/sys/n2rng.h
272
int n2rng_noise_gen_preferred(n2rng_t *n2rng, int rngid);
usr/src/uts/sun4v/sys/n2rng.h
273
int n2rng_config_test(n2rng_t *n2rng);
usr/src/uts/sun4v/sys/n2rng.h
274
int n2rng_collect_diag_bits(n2rng_t *n2rng, int rngid,
usr/src/uts/sun4v/sys/n2rng.h
277
int n2rng_getentropy(n2rng_t *n2rng, void *buffer, size_t size);
usr/src/uts/sun4v/sys/n2rng.h
278
int n2rng_fips_random_init(n2rng_t *n2rng, fipsrandomstruct_t *frsp);
usr/src/uts/sun4v/sys/n2rng.h
280
int n2rng_do_health_check(n2rng_t *n2rng, int rngid);
usr/src/uts/sun4v/sys/n2rng.h
283
uint64_t n2rng_read_ctl(n2rng_t *n2rng, int rngid, uint64_t ctlregs_pa,
usr/src/uts/sun4v/sys/n2rng.h
285
uint64_t n2rng_ctl_wait(n2rng_t *n2rng, int rngid);
usr/src/uts/sun4v/sys/n2rng.h
286
uint64_t n2rng_ctl_write(n2rng_t *n2rng, int rngid, uint64_t ctlregs_pa,
usr/src/uts/sun4v/sys/n2rng.h
288
uint64_t n2rng_data_read_diag(n2rng_t *n2rng, int rngid, uint64_t data_pa,
usr/src/uts/sun4v/sys/n2rng.h
290
uint64_t n2rng_check_ctl_access(n2rng_t *n2rng);
usr/src/uts/sun4v/sys/n2rng.h
291
void n2rng_config_retry(n2rng_t *n2rng, clock_t seconds);
usr/src/uts/sun4v/sys/n2rng.h
340
int n2rng_init(n2rng_t *n2rng);
usr/src/uts/sun4v/sys/n2rng.h
341
int n2rng_uninit(n2rng_t *n2rng);
usr/src/uts/sun4v/sys/n2rng.h
342
int n2rng_register_provider(n2rng_t *n2rng);
usr/src/uts/sun4v/sys/n2rng.h
343
int n2rng_unregister_provider(n2rng_t *n2rng);
usr/src/uts/sun4v/sys/n2rng.h
344
void n2rng_failure(n2rng_t *n2rng);
usr/src/uts/sun4v/sys/n2rng.h
345
void n2rng_unconfigured(n2rng_t *n2rng);