Lines Matching defs:sysmcache

144 static devicecache_t sysmcache[MAXDEVS];
209 rw_init(&sysmcache[i].dca_lock, NULL, RW_DRIVER, NULL);
232 rw_destroy(&sysmcache[i].dca_lock);
397 rw_enter(&sysmcache[i].dca_lock, RW_WRITER);
398 if ((sysmcache[i].dca_flags & SYSM_ENABLED) &&
399 sysmcache[i].dca_vp == NULL) {
413 if (vn_open(sysmcache[i].dca_name, UIO_SYSSPACE,
415 sysmcache[i].dca_vp = vp;
417 rw_exit(&sysmcache[i].dca_lock);
458 rw_enter(&sysmcache[i].dca_lock, RW_WRITER);
459 if (sysmcache[i].dca_vp != NULL) {
460 (void) VOP_CLOSE(sysmcache[i].dca_vp, flag,
462 VN_RELE(sysmcache[i].dca_vp);
463 sysmcache[i].dca_vp = NULL;
465 rw_exit(&sysmcache[i].dca_lock);
493 rw_enter(&sysmcache[i].dca_lock, RW_READER);
494 if (sysmcache[i].dca_vp != NULL &&
495 (sysmcache[i].dca_flags & SYSM_ENABLED)) {
499 (void) VOP_WRITE(sysmcache[i].dca_vp, &tuio, 0, cred,
502 rw_exit(&sysmcache[i].dca_lock);
524 if (sysmcache[i].dca_flags & SYSM_ENABLED)
526 size += strlen(sysmcache[i].dca_name) + 1;
533 size = sizeof (sysmcache[0].dca_name);
614 rw_enter(&sysmcache[i].dca_lock, RW_READER);
615 if (sysmcache[i].dca_flags & SYSM_ENABLED) {
618 (void) strcat(infop, sysmcache[i].dca_name);
620 rw_exit(&sysmcache[i].dca_lock);
634 rw_enter(&sysmcache[i].dca_lock, RW_WRITER);
635 if (sysmcache[i].dca_devt == newdevt &&
636 (sysmcache[i].dca_flags & SYSM_ENABLED)) {
637 (void) strcpy(sysmcache[i].dca_name, infop);
639 rw_exit(&sysmcache[i].dca_lock);
641 } else if (sysmcache[i].dca_devt == newdevt &&
642 sysmcache[i].dca_flags == SYSM_DISABLED) {
643 sysmcache[i].dca_flags |= SYSM_ENABLED;
644 (void) strcpy(sysmcache[i].dca_name, infop);
645 rw_exit(&sysmcache[i].dca_lock);
648 } else if (sysmcache[i].dca_devt == 0) {
649 ASSERT(sysmcache[i].dca_vp == NULL &&
650 sysmcache[i].dca_flags == SYSM_DISABLED);
651 (void) strcpy(sysmcache[i].dca_name, infop);
652 sysmcache[i].dca_flags = SYSM_ENABLED;
653 sysmcache[i].dca_devt = newdevt;
654 rw_exit(&sysmcache[i].dca_lock);
658 rw_exit(&sysmcache[i].dca_lock);
666 rw_enter(&sysmcache[i].dca_lock, RW_WRITER);
667 if (sysmcache[i].dca_devt == newdevt) {
668 sysmcache[i].dca_flags = SYSM_DISABLED;
669 sysmcache[i].dca_name[0] = '\0';
670 rw_exit(&sysmcache[i].dca_lock);
674 rw_exit(&sysmcache[i].dca_lock);