]> xenbits.xensource.com Git - libvirt.git/commitdiff
cpu_x86: Propagate vendor to guest's virCPUData
authorJiri Denemark <jdenemar@redhat.com>
Wed, 1 Jun 2016 08:55:36 +0000 (10:55 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Thu, 9 Jun 2016 07:47:56 +0000 (09:47 +0200)
When computing CPU data for a given guest CPU we should set CPUID vendor
bits appropriately so that we don't lose the vendor when transforming
CPU data back to XML description.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
src/cpu/cpu_x86.c
tests/cputestdata/x86-host+host+host-model,models,Penryn-result.xml

index d0cb65365ba28472364e7ff348057739105d8181..a05cea66d5135276b834a2edde92d6d0500521bd 100644 (file)
@@ -1488,6 +1488,11 @@ x86Compute(virCPUDefPtr host,
         if (!(guest_model = x86ModelCopy(host_model)))
             goto error;
 
+        if (cpu->vendor &&
+            virCPUx86DataAddCPUID(guest_model->data,
+                                  &host_model->vendor->cpuid) < 0)
+            goto error;
+
         if (cpu->type == VIR_CPU_TYPE_GUEST
             && cpu->match == VIR_CPU_MATCH_EXACT)
             x86DataSubtract(guest_model->data, diff->data);
index 2696356d98accbae97c6e92716fa6ed469b473b1..63d5e9075f507c3d7a01cebeb7eb1ec3a5d4dda1 100644 (file)
@@ -1,6 +1,7 @@
 <cpu mode='custom' match='exact'>
   <arch>x86_64</arch>
   <model fallback='allow'>core2duo</model>
+  <vendor>Intel</vendor>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>