From 4e5acf8543ec599ffff10f63a451e63d070a12d2 Mon Sep 17 00:00:00 2001 From: Robert Mustacchi Date: Fri, 10 Jun 2011 15:44:52 -0700 Subject: HVM-361 revert KVM_SET_BOOT_CPU_ID ioctl to upstream interface --- kvm.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'kvm.c') diff --git a/kvm.c b/kvm.c index 2345ce8..45fd028 100644 --- a/kvm.c +++ b/kvm.c @@ -2338,33 +2338,27 @@ kvm_ioctl(dev_t dev, int cmd, intptr_t arg, int md, cred_t *cr, int *rv) } case KVM_SET_BOOT_CPU_ID: { - struct kvm_set_boot_cpu_id_ioc boot_cpu_id_ioc; struct kvm *kvmp; - if (copyin(argp, &boot_cpu_id_ioc, - sizeof (boot_cpu_id_ioc)) != 0) { - rval = EFAULT; + if ((kvmp = ksp->kds_kvmp) == NULL) { + rval = EINVAL; break; } - if ((kvmp = ksp->kds_kvmp) == NULL) { + if (arg >= KVM_MAX_VCPUS) { rval = EINVAL; break; } mutex_enter(&kvmp->lock); -#ifdef XXX - if (atomic_read(&kvmp->online_vcpus) != 0) - rval = -EBUSY; - else { -#else - { - XXX_KVM_PROBE; -#endif - kvmp->bsp_vcpu_id = boot_cpu_id_ioc.id; + if (kvmp->online_vcpus != 0) { + rval = EBUSY; + break; + } else { + kvmp->bsp_vcpu_id = arg; + *rv = kvmp->bsp_vcpu_id; } - *rv = kvmp->bsp_vcpu_id; mutex_exit(&kvmp->lock); break; } -- cgit v1.2.3