capabilities: Advertise cpuselection if -cpu host is usable

When -cpu host is supported by a QEMU binary, a user can use
<cpu mode='host-passthrough'/> in domain XML even when libvirtd failed
to find a matching model for the host CPU. Let's make it obvious by
advertising <cpuselection/> guest capability whenever -cpu host is
supported.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
Jiri Denemark committed 2016-05-16 10:42:28 +02:00
1 parent 1522503189
commit ced1e846a0
3 files changed
+6 -3

No files matched your search

+4 -3
View File
@@ -928,9 +928,10 @@ virQEMUCapsInitGuestFromBinary(virCapsPtr caps,
machines = NULL;
nmachines = 0;
if (caps->host.cpu &&
caps->host.cpu->model &&
virQEMUCapsGetCPUDefinitions(qemubinCaps, NULL) > 0 &&
if ((virQEMUCapsGet(qemubinCaps, QEMU_CAPS_CPU_HOST) ||
(caps->host.cpu &&
caps->host.cpu->model &&
virQEMUCapsGetCPUDefinitions(qemubinCaps, NULL) > 0)) &&
!virCapabilitiesAddGuestFeature(guest, "cpuselection", true, false))
goto cleanup;
+1
View File
@@ -18,6 +18,7 @@
</domain>
</arch>
<features>
<cpuselection/>
<deviceboot/>
<disksnapshot default='on' toggle='no'/>
<acpi default='on' toggle='yes'/>
@@ -18,6 +18,7 @@
</domain>
</arch>
<features>
<cpuselection/>
<deviceboot/>
<disksnapshot default='off' toggle='no'/>
<acpi default='on' toggle='yes'/>