diff options
author | Hans Rosenfeld <hans.rosenfeld@joyent.com> | 2018-12-05 22:34:02 +0000 |
---|---|---|
committer | Hans Rosenfeld <hans.rosenfeld@joyent.com> | 2018-12-05 22:59:48 +0000 |
commit | 4966850cbd32c33aeed41ff4610b6ac82c195962 (patch) | |
tree | ef920e16beac401955defe97bce761eadd33640f | |
parent | e0f08ef22a20cf816904f0b60a05b9dbe40cb836 (diff) | |
download | illumos-joyent-4966850cbd32c33aeed41ff4610b6ac82c195962.tar.gz |
OS-7395 bhyve: VM_{SUSPEND,RESUME}_CPU ioctls ignore vcpu argument
Reviewed by: John Levon <john.levon@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Approved by: John Levon <john.levon@joyent.com>
-rw-r--r-- | usr/src/uts/i86pc/io/vmm/vmm_sol_dev.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/usr/src/uts/i86pc/io/vmm/vmm_sol_dev.c b/usr/src/uts/i86pc/io/vmm/vmm_sol_dev.c index 8185ca8ea5..2e92ff1624 100644 --- a/usr/src/uts/i86pc/io/vmm/vmm_sol_dev.c +++ b/usr/src/uts/i86pc/io/vmm/vmm_sol_dev.c @@ -969,10 +969,30 @@ vmmdev_do_ioctl(vmm_softc_t *sc, int cmd, intptr_t arg, int md, case VM_ACTIVATE_CPU: error = vm_activate_cpu(sc->vmm_vm, vcpu); break; + case VM_SUSPEND_CPU: + if (ddi_copyin(datap, &vcpu, sizeof (vcpu), md)) { + error = EFAULT; + break; + } + if (vcpu < -1 || vcpu >= VM_MAXCPU) { + error = EINVAL; + break; + } + error = vm_suspend_cpu(sc->vmm_vm, vcpu); break; + case VM_RESUME_CPU: + if (ddi_copyin(datap, &vcpu, sizeof (vcpu), md)) { + error = EFAULT; + break; + } + if (vcpu < -1 || vcpu >= VM_MAXCPU) { + error = EINVAL; + break; + } + error = vm_resume_cpu(sc->vmm_vm, vcpu); break; |