mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-30 01:43:23 +00:00
Fix bogus reporting of KVM support for non-native emulators
A logic bug meant we reported KVM was possible for every architecture, merely based on whether the query-kvm command exists. We should instead have been doing it based on whether the query-kvm command returns 'present: 1' Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
d7a3700ee7
commit
c29eafc890
@ -2117,11 +2117,16 @@ qemuCapsProbeQMPKVMState(qemuCapsPtr caps,
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/* The QEMU_CAPS_KVM flag was initially set according to the QEMU
|
/* The QEMU_CAPS_KVM flag was initially set according to the QEMU
|
||||||
* reporting the recognition of 'query-kvm' QMP command, but the
|
* reporting the recognition of 'query-kvm' QMP command. That merely
|
||||||
* flag means whether the KVM is enabled by default and should be
|
* indicates existance of the command though, not whether KVM support
|
||||||
* disabled in case we want SW emulated machine, so let's fix that
|
* is actually available, nor whether it is enabled by default.
|
||||||
* if it's true. */
|
*
|
||||||
if (!enabled) {
|
* If it is not present we need to clear the flag, and if it is
|
||||||
|
* not enabled by default we need to change the flag.
|
||||||
|
*/
|
||||||
|
if (!present) {
|
||||||
|
qemuCapsClear(caps, QEMU_CAPS_KVM);
|
||||||
|
} else if (!enabled) {
|
||||||
qemuCapsClear(caps, QEMU_CAPS_KVM);
|
qemuCapsClear(caps, QEMU_CAPS_KVM);
|
||||||
qemuCapsSet(caps, QEMU_CAPS_ENABLE_KVM);
|
qemuCapsSet(caps, QEMU_CAPS_ENABLE_KVM);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user