diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index 8fca3df874a41d3fe0ea33277f313eae0b900491..07404c6fb0f2f6a20cde497e6ab560ed2d78ef2e 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -791,10 +791,10 @@ virCPUDefFormatBuf(virBufferPtr buf, return -1; } - if (formatModel && def->model) { + if (formatModel && (def->model || def->vendor_id)) { virBufferAddLit(buf, "type == VIR_CPU_TYPE_GUEST) { + if (def->type == VIR_CPU_TYPE_GUEST && def->model) { const char *fallback; fallback = virCPUFallbackTypeToString(def->fallback); @@ -805,11 +805,15 @@ virCPUDefFormatBuf(virBufferPtr buf, return -1; } virBufferAsprintf(buf, " fallback='%s'", fallback); - if (def->vendor_id) - virBufferEscapeString(buf, " vendor_id='%s'", def->vendor_id); } - virBufferEscapeString(buf, ">%s\n", def->model); + if (def->type == VIR_CPU_TYPE_GUEST) + virBufferEscapeString(buf, " vendor_id='%s'", def->vendor_id); + + if (def->model) + virBufferEscapeString(buf, ">%s\n", def->model); + else + virBufferAddLit(buf, "/>\n"); } if (formatModel && def->vendor) diff --git a/tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml b/tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml index d2447ccd10c6a4f8813f87e8e7c324440c63cbe2..2a7d0246cc03ad285717f9f56a08760257a6ee9e 100644 --- a/tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml +++ b/tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml @@ -8,7 +8,9 @@ hvm - + + + destroy restart