Lines Matching refs:dsc
232 struct devmem_softc *dsc;
241 SLIST_FOREACH(dsc, &sc->devmem, link) {
242 if (dsc->segid == mseg->segid)
245 KASSERT(dsc != NULL, ("%s: devmem segment %d not found",
247 error = copystr(dsc->name, mseg->name, SPECNAMELEN + 1, NULL);
743 struct devmem_softc *dsc;
749 while ((dsc = SLIST_FIRST(&sc->devmem)) != NULL) {
750 KASSERT(dsc->cdev == NULL, ("%s: devmem not free", __func__));
752 free(dsc->name, M_VMMDEV);
753 free(dsc, M_VMMDEV);
776 struct devmem_softc *dsc;
814 SLIST_FOREACH(dsc, &sc->devmem, link) {
815 KASSERT(dsc->cdev != NULL, ("devmem cdev already destroyed"));
816 destroy_dev_sched_cb(dsc->cdev, devmem_destroy, dsc);
918 struct devmem_softc *dsc;
925 dsc = cdev->si_drv1;
926 if (dsc == NULL) {
936 lastcpu = vm_get_maxcpus(dsc->sc->vm) - 1;
937 error = vcpu_lock_one(dsc->sc, lastcpu);
941 error = vm_get_memseg(dsc->sc->vm, dsc->segid, &seglen, &sysmem, objp);
943 ("%s: invalid devmem segment %d", __func__, dsc->segid));
945 vcpu_unlock_one(dsc->sc, lastcpu);
964 struct devmem_softc *dsc;
974 dsc = malloc(sizeof(struct devmem_softc), M_VMMDEV, M_WAITOK | M_ZERO);
982 free(dsc, M_VMMDEV);
987 dsc->segid = segid;
988 dsc->name = devname;
989 dsc->cdev = cdev;
990 dsc->sc = sc;
991 SLIST_INSERT_HEAD(&sc->devmem, dsc, link);
995 cdev->si_drv1 = dsc;
1002 struct devmem_softc *dsc = arg;
1004 KASSERT(dsc->cdev, ("%s: devmem cdev already destroyed", __func__));
1005 dsc->cdev = NULL;
1006 dsc->sc = NULL;