--- a/virtinst/guest.py +++ b/virtinst/guest.py @@ -623,7 +623,7 @@ return if self.os.is_container(): return - if self.os.arch not in ["x86_64", "i686", "ppc64", "ia64", "s390x"]: + if self.os.arch not in ["x86_64", "i686", "ppc64", "ppc64le", "ia64", "s390x"]: return self.add_device(virtinst.VirtualGraphics(self.conn)) @@ -752,6 +752,8 @@ if self.conn.is_qemu(): if self.os.arch == "s390x": preferred_emulator = "/usr/bin/qemu-system-s390x" + elif self.os.arch == "ppc64le": + preferred_emulator = "/usr/bin/qemu-system-ppc64" else: preferred_emulator = "/usr/bin/qemu-system-x86_64" else: @@ -847,7 +849,7 @@ if not self._lookup_osdict_key(key, False): return False - if self.os.is_x86() or self.os.is_s390x(): + if self.os.is_x86() or self.os.is_s390x() or self.os.is_ppc64(): return True if (self.os.is_arm_vexpress() and self.os.dtb and @@ -898,6 +900,8 @@ net_model = None elif self._can_virtio("virtionet"): net_model = "virtio" + elif self.os.is_pseries(): + net_model = "spapr-vlan" else: net_model = self._lookup_osdict_key("netmodel", None) --- a/virtinst/osxml.py +++ b/virtinst/osxml.py @@ -55,6 +55,8 @@ return self.is_ppc64 and self.machine == "pseries" def is_s390x(self): return self.arch == "s390x" + def is_ppc64(self): + return self.arch == "ppc64" or self.arch == "ppc64le" _XML_ROOT_NAME = "os" _XML_PROP_ORDER = ["arch", "os_type", "loader",