diff options
author | neel <neel@FreeBSD.org> | 2014-06-07 21:36:52 +0000 |
---|---|---|
committer | neel <neel@FreeBSD.org> | 2014-06-07 21:36:52 +0000 |
commit | 80a67d54c42b7f1e683d37864b9634e252d32ef1 (patch) | |
tree | 87873f56f85dfd15e0b36f4a2e884ae8dbcb74b3 /sys/amd64/vmm/vmm_dev.c | |
parent | 39548e640ff6f29c6f53200627311914539728c3 (diff) | |
download | FreeBSD-src-80a67d54c42b7f1e683d37864b9634e252d32ef1.zip FreeBSD-src-80a67d54c42b7f1e683d37864b9634e252d32ef1.tar.gz |
Add ioctl(VM_REINIT) to reinitialize the virtual machine state maintained
by vmm.ko. This allows the virtual machine to be restarted without having
to destroy it first.
Reviewed by: grehan
Diffstat (limited to 'sys/amd64/vmm/vmm_dev.c')
-rw-r--r-- | sys/amd64/vmm/vmm_dev.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index 824389f..f3e31a3 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -220,6 +220,7 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, case VM_BIND_PPTDEV: case VM_UNBIND_PPTDEV: case VM_MAP_MEMORY: + case VM_REINIT: /* * ioctls that operate on the entire virtual machine must * prevent all vcpus from running. @@ -253,6 +254,9 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, vmsuspend = (struct vm_suspend *)data; error = vm_suspend(sc->vm, vmsuspend->how); break; + case VM_REINIT: + error = vm_reinit(sc->vm); + break; case VM_STAT_DESC: { statdesc = (struct vm_stat_desc *)data; error = vmm_stat_desc_copy(statdesc->index, |