https://bugzilla.redhat.com/show_bug.cgi?id=858147 Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> --- src/cpu/cpu_x86.c | 6 ++++++ .../qemuxml2argv-cpu-host-model-vendor.args | 20 ++++++++++++++++++++ .../qemuxml2argv-cpu-host-model-vendor.xml | 21 +++++++++++++++++++++ tests/qemuxml2argvtest.c | 1 + 4 files changed, 48 insertions(+) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model-vendor.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model-vendor.xml diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index bf1867b..2a14705 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -2107,6 +2107,12 @@ x86UpdateHostModel(virCPUDefPtr guest, if (virCPUDefCopyModel(guest, host, true) < 0) goto cleanup; + if (oldguest->vendor_id) { + VIR_FREE(guest->vendor_id); + if (VIR_STRDUP(guest->vendor_id, oldguest->vendor_id) < 0) + goto cleanup; + } + /* Remove non-migratable features by default * Note: this only works as long as no CPU model contains non-migratable * features directly */ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model-vendor.args b/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model-vendor.args new file mode 100644 index 0000000..5d67d55 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model-vendor.args @@ -0,0 +1,20 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/home/test \ +USER=test \ +LOGNAME=test QEMU_AUDIO_DRV=none \ +/usr/bin/qemu \ +-S \ +-M pc \ +-cpu 'core2duo,vendor=Libvirt QEMU,+lahf_lm,+xtpr,+cx16,+tm2,+est,+vmx,\ ++ds_cpl,+pbe,+tm,+ht,+ss,+acpi,+ds' \ +-m 214 \ +-smp 6 \ +-nographic \ +-monitor unix:/tmp/test-monitor,server,nowait \ +-no-acpi \ +-boot n \ +-usb \ +-net none \ +-serial none \ +-parallel none diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model-vendor.xml b/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model-vendor.xml new file mode 100644 index 0000000..a33362f --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model-vendor.xml @@ -0,0 +1,21 @@ +<domain type='qemu'> + <name>QEMUGuest1</name> + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> + <memory unit='KiB'>219100</memory> + <currentMemory unit='KiB'>219100</currentMemory> + <vcpu placement='static'>6</vcpu> + <os> + <type arch='x86_64' machine='pc'>hvm</type> + <boot dev='network'/> + </os> + <cpu mode='host-model'> + <model vendor_id="Libvirt QEMU"/> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu</emulator> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 0763068..670465e 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1245,6 +1245,7 @@ mymain(void) QEMU_CAPS_OBJECT_MEMORY_RAM); DO_TEST_FAILURE("cpu-numa-memshared", QEMU_CAPS_SMP_TOPOLOGY); DO_TEST("cpu-host-model", NONE); + DO_TEST("cpu-host-model-vendor", NONE); skipLegacyCPUs = true; DO_TEST("cpu-host-model-fallback", NONE); DO_TEST_FAILURE("cpu-host-model-nofallback", NONE); -- 2.3.6 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list