]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Allow virtio-console on PPC64
authorShivaprasad G Bhat <sbhat@linux.vnet.ibm.com>
Wed, 19 Oct 2016 13:29:02 +0000 (18:59 +0530)
committerAndrea Bolognani <abologna@redhat.com>
Wed, 21 Dec 2016 17:01:10 +0000 (18:01 +0100)
virQEMUCapsSupportsChardev existing checks returns true
for spapr-vty alone. Instead verify spapr-vty validity
and let the logic to return true for other device types
so that virtio-console passes.

The non-pseries machines dont have spapr-vio-bus. So, the
function always returned false for them before.

Fixes - https://bugzilla.redhat.com/show_bug.cgi?id=1257813

Signed-off-by: Shivaprasad G Bhat <sbhat@linux.vnet.ibm.com>
src/qemu/qemu_capabilities.c

index f4ca84e982b7a26f0be27b4b1500cecea1cba84b..542705914cdb4544815b291580b2f9157dd350e7 100644 (file)
@@ -4827,9 +4827,12 @@ virQEMUCapsSupportsChardev(const virDomainDef *def,
         return false;
 
     if ((def->os.arch == VIR_ARCH_PPC) || ARCH_IS_PPC64(def->os.arch)) {
+        if (!qemuDomainMachineIsPSeries(def))
+            return false;
         /* only pseries need -device spapr-vty with -chardev */
-        return (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL &&
-                chr->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO);
+        if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL &&
+            chr->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO)
+            return false;
     }
 
     if ((def->os.arch != VIR_ARCH_ARMV7L) && (def->os.arch != VIR_ARCH_AARCH64))