Reference: bnc#869024 Add s390x support Index: virt-manager-1.2.0/virtManager/create.py =================================================================== --- virt-manager-1.2.0.orig/virtManager/create.py +++ virt-manager-1.2.0/virtManager/create.py @@ -417,7 +417,7 @@ class vmmCreate(vmmGObjectUI): can_remote_url = self.conn.get_backend().support_remote_url_install() installable_arch = (self.capsinfo.arch in - ["i686", "x86_64", "ppc64", "ppc64le", "ia64"]) + ["i686", "x86_64", "ppc64", "ppc64le", "ia64", "s390x"]) if self.capsinfo.arch == "aarch64": try: @@ -684,7 +684,7 @@ class vmmCreate(vmmGObjectUI): archs.remove("i686") archs.sort() - prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le"] + prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le", "s390x"] if self.conn.caps.host.cpu.arch not in prios: prios = [] else: Index: virt-manager-1.2.0/virtinst/osxml.py =================================================================== --- virt-manager-1.2.0.orig/virtinst/osxml.py +++ virt-manager-1.2.0/virtinst/osxml.py @@ -70,6 +70,8 @@ class OSXML(XMLBuilder): return self.arch == "ppc64" or self.arch == "ppc64le" def is_pseries(self): return self.is_ppc64() and self.machine == "pseries" + def is_s390x(self): + return self.arch == "s390x" _XML_ROOT_NAME = "os" _XML_PROP_ORDER = ["arch", "os_type", "loader", "loader_ro", "loader_type", Index: virt-manager-1.2.0/virtinst/guest.py =================================================================== --- virt-manager-1.2.0.orig/virtinst/guest.py +++ virt-manager-1.2.0/virtinst/guest.py @@ -119,7 +119,10 @@ class Guest(XMLBuilder): self.skip_default_channel = False self.skip_default_sound = False self.skip_default_usbredir = False - self.skip_default_graphics = False + if self.os.is_s390x(): + self.skip_default_graphics = True + else: + self.skip_default_graphics = False self.x86_cpu_default = self.cpu.SPECIAL_MODE_HOST_MODEL_ONLY self.__os_object = None @@ -611,11 +614,13 @@ class Guest(XMLBuilder): self.conn.check_support( self.conn.SUPPORT_CONN_VIRTIO_CONSOLE)): dev.target_type = "virtio" + elif self.os.is_s390x(): + dev.target_type = "sclp" self.add_device(dev) def add_default_video_device(self): - if self.os.is_container(): + if self.os.is_container() or self.os.is_s390x(): return if self.get_devices("video"): return @@ -660,7 +665,7 @@ class Guest(XMLBuilder): return if self.os.is_container(): return - if self.os.arch not in ["x86_64", "i686", "ppc64", "ppc64le", "ia64"]: + if self.os.arch not in ["x86_64", "i686", "ppc64", "ppc64le", "ia64", "s390x"]: return self.add_device(VirtualGraphics(self.conn)) @@ -948,7 +953,7 @@ class Guest(XMLBuilder): if self._hv_only_supports_virtio(): return True - if self.os.is_x86(): + if self.os.is_x86() or self.os.is_s390x(): return True if (self.os.is_arm_vexpress() and