From: Li Zhang <zhlcindy@xxxxxxxxxxxxxxxxxx> CPU features are not supported on non-x86 and hasFeatures will be NULL. This patch is to remove CPU features functions calling to avoid errors. Signed-off-by: Li Zhang <zhlcindy@xxxxxxxxxxxxxxxxxx> --- src/qemu/qemu_command.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f8fccea..3b6ba7a 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6349,7 +6349,6 @@ qemuBuildCpuArgStr(const virQEMUDriverPtr driver, (def->cpu->mode != VIR_CPU_MODE_CUSTOM || def->cpu->model)) { virCPUCompareResult cmp; const char *preferred; - int hasSVM; if (!host || !host->model || @@ -6389,10 +6388,13 @@ qemuBuildCpuArgStr(const virQEMUDriverPtr driver, /* Only 'svm' requires --enable-nesting. The nested * 'vmx' patches now simply hook off the CPU features */ - hasSVM = cpuHasFeature(data, "svm"); - if (hasSVM < 0) - goto cleanup; - *hasHwVirt = hasSVM > 0 ? true : false; + if (def->os.arch == VIR_ARCH_X86_64 || + def->os.arch == VIR_ARCH_I686) { + int hasSVM = cpuHasFeature(data, "svm"); + if (hasSVM < 0) + goto cleanup; + *hasHwVirt = hasSVM > 0 ? true : false; + } if (cpu->mode == VIR_CPU_MODE_HOST_PASSTHROUGH) { const char *mode = virCPUModeTypeToString(cpu->mode); @@ -10575,7 +10577,9 @@ qemuParseCommandLineCPU(virDomainDefPtr dom, model = NULL; } - if (virCPUDefAddFeature(cpu, feature, policy) < 0) + if ((dom->os.arch == VIR_ARCH_X86_64 || + dom->os.arch == VIR_ARCH_I686) && + virCPUDefAddFeature(cpu, feature, policy) < 0) goto cleanup; } } else if (STRPREFIX(tokens[i], "hv_")) { -- 1.8.1.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list