When qemu libvirt driver doesn't support guest CPU selection with given
qemu binary, guests requiring specific CPU should fail to start instead
of being silently supplied with a default CPU.
virBuffer buf = VIR_BUFFER_INITIALIZER;
int i;
- if (def->cpu && def->cpu->model
- && qemudProbeCPUModels(emulator, ut->machine, &ncpus, &cpus) < 0)
- goto cleanup;
+ if (def->cpu && def->cpu->model) {
+ if (qemudProbeCPUModels(emulator, ut->machine, &ncpus, &cpus) < 0)
+ goto cleanup;
+
+ if (!ncpus || !host) {
+ qemuReportError(VIR_ERR_NO_SUPPORT, "%s",
+ _("CPU specification not supported by hypervisor"));
+ goto cleanup;
+ }
+ }
if (ncpus > 0 && host) {
virCPUCompareResult cmp;