Lines Matching refs:rm_mag

47  *	1) rmp->rm_mag.rm_lock protects the per-cpu pseudo-random generators.
49 * It may be locked while a rmp->rm_mag.rm_lock is held.
607 rndmag_t rm_mag;
633 ASSERT(mutex_owned(&rmp->rm_mag.rm_lock));
637 mutex_exit(&rmp->rm_mag.rm_lock);
643 rmp->rm_mag.rm_oblocks += nblock;
644 oblocks = rmp->rm_mag.rm_oblocks;
647 if (oblocks >= rmp->rm_mag.rm_olimit) {
655 if (rmp->rm_mag.rm_ofuzz) {
661 rmp->rm_mag.rm_olimit +=
662 rmp->rm_mag.rm_ofuzz;
663 rmp->rm_mag.rm_ofuzz >>= 1;
671 (void) rnd_get_bytes((uint8_t *)rmp->rm_mag.rm_key,
674 rmp->rm_mag.rm_olimit = PRNG_MAXOBLOCKS/2;
675 rmp->rm_mag.rm_ofuzz = PRNG_MAXOBLOCKS/4;
677 rmp->rm_mag.rm_oblocks = nblock;
683 dst = (uint8_t *)rmp->rm_mag.rm_seed;
689 bcopy(rmp->rm_mag.rm_seed, seed, HASHSIZE);
691 fips_random_inner(rmp->rm_mag.rm_key, tempout,
707 if (tempout[i] != rmp->rm_mag.rm_previous[i])
715 mutex_exit(&rmp->rm_mag.rm_lock);
719 bcopy(tempout, rmp->rm_mag.rm_previous,
732 mutex_exit(&rmp->rm_mag.rm_lock);
773 mutex_enter(&rmp->rm_mag.rm_lock);
784 cptr = rmp->rm_mag.rm_rptr;
787 if (eptr <= rmp->rm_mag.rm_eptr) {
788 rmp->rm_mag.rm_rptr = eptr;
791 mutex_exit(&rmp->rm_mag.rm_lock);
798 rmp->rm_mag.rm_rptr = rmp->rm_mag.rm_buffer;
804 (void) rnd_generate_pseudo_bytes(rmp, rmp->rm_mag.rm_buffer,
839 mutex_init(&rmp->rm_mag.rm_lock, NULL, MUTEX_DRIVER, NULL);
843 rmp->rm_mag.rm_buffer = buf;
844 rmp->rm_mag.rm_eptr = buf + rndbuf_len;
845 rmp->rm_mag.rm_rptr = buf + rndbuf_len;
846 rmp->rm_mag.rm_oblocks = 1;
869 bcopy(discard_buf, rmp->rm_mag.rm_previous,
873 (void) rnd_get_bytes((uint8_t *)rmp->rm_mag.rm_key,
877 (void) rnd_get_bytes((uint8_t *)rmp->rm_mag.rm_seed,