提交 453d05da 编写于 作者: J Jiri Denemark

qemu: Fix command line generation with faked host CPU

The code expected that host CPU architecture matches the architecture on
which libvirt runs. This is normally true but not in tests, where host
CPU is faked to produce consistent results.
上级 aa3b2e40
......@@ -2440,7 +2440,8 @@ qemuBuildCpuArgStr(const struct qemud_driver *driver,
*hasHwVirt = false;
if (def->cpu && def->cpu->model) {
if (qemuCapsProbeCPUModels(emulator, qemuCmdFlags, ut->machine,
if (host &&
qemuCapsProbeCPUModels(emulator, qemuCmdFlags, host->arch,
&ncpus, &cpus) < 0)
goto cleanup;
......@@ -2469,7 +2470,7 @@ qemuBuildCpuArgStr(const struct qemud_driver *driver,
break;
}
if (VIR_ALLOC(guest) < 0 || !(guest->arch = strdup(ut->machine)))
if (VIR_ALLOC(guest) < 0 || !(guest->arch = strdup(host->arch)))
goto no_memory;
if (def->cpu->match == VIR_CPU_MATCH_MINIMUM)
......@@ -2528,8 +2529,9 @@ qemuBuildCpuArgStr(const struct qemud_driver *driver,
ret = 0;
cleanup:
if (guest)
cpuDataFree(guest->arch, data);
virCPUDefFree(guest);
cpuDataFree(ut->machine, data);
if (cpus) {
for (i = 0; i < ncpus; i++)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册