summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kurz <gkurz@linux.vnet.ibm.com>2016-05-26 10:02:23 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2016-06-16 18:39:04 +0200
commitf31e3266375652a31a3586315913e1ff8e609b52 (patch)
tree188a7b88d1437ef0a530a7acbcc55f952c0c80f2
parent142c21455bb2416b37f71b22cb251a4effc8619c (diff)
downloadqemu-f31e3266375652a31a3586315913e1ff8e609b52.zip
KVM: use KVM_CAP_MAX_VCPU_ID
As stated in linux/Documentation/virtual/kvm/api.txt: The maximum possible value for max_vcpu_id can be retrieved using the KVM_CAP_MAX_VCPU_ID of the KVM_CHECK_EXTENSION ioctl() at run-time. If the KVM_CAP_MAX_VCPU_ID does not exist, you should assume that max_vcpu_id is the same as the value returned from KVM_CAP_MAX_VCPUS. Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> Message-Id: <146424974323.5666.5471538288045048119.stgit@bahia.huguette.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--kvm-all.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/kvm-all.c b/kvm-all.c
index 71af270e31..a88f917fda 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1519,10 +1519,16 @@ static int kvm_max_vcpus(KVMState *s)
return (ret) ? ret : kvm_recommended_vcpus(s);
}
+static int kvm_max_vcpu_id(KVMState *s)
+{
+ int ret = kvm_check_extension(s, KVM_CAP_MAX_VCPU_ID);
+ return (ret) ? ret : kvm_max_vcpus(s);
+}
+
bool kvm_vcpu_id_is_valid(int vcpu_id)
{
KVMState *s = KVM_STATE(current_machine->accelerator);
- return vcpu_id >= 0 && vcpu_id < kvm_max_vcpus(s);
+ return vcpu_id >= 0 && vcpu_id < kvm_max_vcpu_id(s);
}
static int kvm_init(MachineState *ms)