File virtinst-dont-use-special-copy-cpu-features.patch of Package virt-manager.10841

References: bsc#1067018 - L3: KVM Guest creation failed - Property .cmt not found

Some hardware has the .cmt cpu feature but qemu doesn't support it. libvirt
includes it in the cpu capabilities read in by virt-manager. Using 'host-model'
was known to have issues in the past and so a copy method was set up to
manually copy cpu features one at a time (including the unsupported cmt flag).
This patch simply avoids the special copy feature when "Copy host CPU definition"
is set in the Preferences -> New VM -> CPU Default pop-up menu and falls
back to using 'host-model'.

It should be noted that selecting "Customize configuration before install"
and "CPUs" -> "Copy host CPU definition" also inserts 'host-model' so
this change mirrors what is already done there.

Index: virt-manager-1.5.0/virtinst/cpu.py
===================================================================
--- virt-manager-1.5.0.orig/virtinst/cpu.py
+++ virt-manager-1.5.0/virtinst/cpu.py
@@ -98,12 +98,16 @@ class CPU(XMLBuilder):
                      SPECIAL_MODE_HOST_PASSTHROUGH, SPECIAL_MODE_CLEAR]
     def set_special_mode(self, val):
         if (val == self.SPECIAL_MODE_HOST_MODEL or
-            val == self.SPECIAL_MODE_HOST_PASSTHROUGH):
+            val == self.SPECIAL_MODE_HOST_PASSTHROUGH or
+            val == self.SPECIAL_MODE_HOST_COPY):
             self.model = None
             self.vendor = None
             self.model_fallback = None
             for f in self.features:
                 self.remove_feature(f)
+            if val == self.SPECIAL_MODE_HOST_COPY:
+                val = self.SPECIAL_MODE_HOST_MODEL
+                self.match = "exact"
             self.mode = val
         elif val == self.SPECIAL_MODE_HOST_COPY:
             self.copy_host_cpu()
openSUSE Build Service is sponsored by