The function already parses CPU XML on s390. By parsing it consistently on all architecture we can switch to virCPUCompare and easily replace it with a QEMU specific helper in the following patch. Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> --- src/qemu/qemu_driver.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 62a44bf6e7..36ec0c0590 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -11637,17 +11637,15 @@ qemuConnectCompareHypervisorCPU(virConnectPtr conn, return VIR_CPU_COMPARE_ERROR; } - if (ARCH_IS_X86(arch)) { - return virCPUCompareXML(arch, hvCPU, xmlCPU, failIncompatible, - validateXML); - } + if (virCPUDefParseXMLString(xmlCPU, VIR_CPU_TYPE_AUTO, &cpu, + validateXML) < 0) + return VIR_CPU_COMPARE_ERROR; + + if (ARCH_IS_X86(arch)) + return virCPUCompare(arch, hvCPU, cpu, failIncompatible); if (ARCH_IS_S390(arch) && virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_COMPARISON)) { - if (virCPUDefParseXMLString(xmlCPU, VIR_CPU_TYPE_AUTO, &cpu, - validateXML) < 0) - return VIR_CPU_COMPARE_ERROR; - if (!cpu->model) { if (cpu->mode == VIR_CPU_MODE_HOST_PASSTHROUGH) { cpu->model = g_strdup("host"); -- 2.47.0