Changeset View
Changeset View
Standalone View
Standalone View
head/sys/amd64/vmm/vmm_dev.c
Show First 20 Lines • Show All 956 Lines • ▼ Show 20 Lines | sysctl_vmm_destroy(SYSCTL_HANDLER_ARGS) | ||||
destroy_dev_sched_cb(cdev, vmmdev_destroy, sc); | destroy_dev_sched_cb(cdev, vmmdev_destroy, sc); | ||||
error = 0; | error = 0; | ||||
out: | out: | ||||
free(buf, M_VMMDEV); | free(buf, M_VMMDEV); | ||||
return (error); | return (error); | ||||
} | } | ||||
SYSCTL_PROC(_hw_vmm, OID_AUTO, destroy, | SYSCTL_PROC(_hw_vmm, OID_AUTO, destroy, | ||||
CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON, | CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE, | ||||
NULL, 0, sysctl_vmm_destroy, "A", NULL); | NULL, 0, sysctl_vmm_destroy, "A", | ||||
NULL); | |||||
static struct cdevsw vmmdevsw = { | static struct cdevsw vmmdevsw = { | ||||
.d_name = "vmmdev", | .d_name = "vmmdev", | ||||
.d_version = D_VERSION, | .d_version = D_VERSION, | ||||
.d_ioctl = vmmdev_ioctl, | .d_ioctl = vmmdev_ioctl, | ||||
.d_mmap_single = vmmdev_mmap_single, | .d_mmap_single = vmmdev_mmap_single, | ||||
.d_read = vmmdev_rw, | .d_read = vmmdev_rw, | ||||
.d_write = vmmdev_rw, | .d_write = vmmdev_rw, | ||||
▲ Show 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | sysctl_vmm_create(SYSCTL_HANDLER_ARGS) | ||||
sc->cdev->si_drv1 = sc; | sc->cdev->si_drv1 = sc; | ||||
mtx_unlock(&vmmdev_mtx); | mtx_unlock(&vmmdev_mtx); | ||||
out: | out: | ||||
free(buf, M_VMMDEV); | free(buf, M_VMMDEV); | ||||
return (error); | return (error); | ||||
} | } | ||||
SYSCTL_PROC(_hw_vmm, OID_AUTO, create, | SYSCTL_PROC(_hw_vmm, OID_AUTO, create, | ||||
CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON, | CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE, | ||||
NULL, 0, sysctl_vmm_create, "A", NULL); | NULL, 0, sysctl_vmm_create, "A", | ||||
NULL); | |||||
void | void | ||||
vmmdev_init(void) | vmmdev_init(void) | ||||
{ | { | ||||
mtx_init(&vmmdev_mtx, "vmm device mutex", NULL, MTX_DEF); | mtx_init(&vmmdev_mtx, "vmm device mutex", NULL, MTX_DEF); | ||||
pr_allow_flag = prison_add_allow(NULL, "vmm", NULL, | pr_allow_flag = prison_add_allow(NULL, "vmm", NULL, | ||||
"Allow use of vmm in a jail."); | "Allow use of vmm in a jail."); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 108 Lines • Show Last 20 Lines |