]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: add QEMU_CAPS_DEVICE_SCLPLMCONSOLE
authorPino Toscano <ptoscano@redhat.com>
Wed, 15 Nov 2017 17:08:44 +0000 (18:08 +0100)
committerAndrea Bolognani <abologna@redhat.com>
Mon, 20 Nov 2017 09:13:53 +0000 (10:13 +0100)
Add a separate capability for the sclplmconsole device, and check it
specifically instead of using QEMU_CAPS_DEVICE_SCLPCONSOLE for that too.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
src/qemu/qemu_command.c
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml

index f6e06d3e9edc84aee765c614c281f76bd3e7e8d7..d65e26b45d91fd1f53dc877a4c2338d820159e0e 100644 (file)
@@ -446,6 +446,9 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
               "machine.pseries.resize-hpt",
               "vmcoreinfo",
               "spapr-vty",
+
+              /* 275 */
+              "sclplmconsole",
     );
 
 
@@ -1675,6 +1678,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
     { "spapr-pci-host-bridge", QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE },
     { "vmcoreinfo", QEMU_CAPS_DEVICE_VMCOREINFO },
     { "spapr-vty", QEMU_CAPS_DEVICE_SPAPR_VTY },
+    { "sclplmconsole", QEMU_CAPS_DEVICE_SCLPLMCONSOLE },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBalloon[] = {
index 5ab12276962639f5945e34269f3036caf31d80f2..daeb6294cce3e0a05a65533375a47cb2191165d0 100644 (file)
@@ -433,6 +433,9 @@ typedef enum {
     QEMU_CAPS_DEVICE_VMCOREINFO, /* -device vmcoreinfo */
     QEMU_CAPS_DEVICE_SPAPR_VTY, /* -device spapr-vty */
 
+    /* 275 */
+    QEMU_CAPS_DEVICE_SCLPLMCONSOLE, /* -device sclplmconsole */
+
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
 
index abff418afcacbd66ef8829b1c77f8fec3e50d2d7..836e40e5901f1c95ec13a68f97efbe63253b1cf2 100644 (file)
@@ -9307,7 +9307,6 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManager,
 
         switch (console->targetType) {
         case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SCLP:
-        case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SCLPLM:
             if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCLPCONSOLE)) {
                 virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                                _("sclpconsole is not supported in this QEMU binary"));
@@ -9328,6 +9327,27 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManager,
                 return -1;
             break;
 
+        case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SCLPLM:
+            if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCLPLMCONSOLE)) {
+                virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                               _("sclplmconsole is not supported in this QEMU binary"));
+                return -1;
+            }
+
+            if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
+                                                  console->source,
+                                                  console->info.alias,
+                                                  qemuCaps, true,
+                                                  chardevStdioLogd)))
+                return -1;
+            virCommandAddArg(cmd, "-chardev");
+            virCommandAddArg(cmd, devstr);
+            VIR_FREE(devstr);
+
+            if (qemuBuildChrDeviceCommandLine(cmd, def, console, qemuCaps) < 0)
+                return -1;
+            break;
+
         case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO:
             if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                                   console->source,
index 7e44652feb59db5ed91251de4e65b449bebca4b3..dee468252cd9fb8b138bb29ce7c976695502a55b 100644 (file)
   <flag name='virtio-gpu.max_outputs'/>
   <flag name='vxhs'/>
   <flag name='virtio-blk.num-queues'/>
+  <flag name='sclplmconsole'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <package></package>
index c5dfa2a9d0bdbc5e64a32da52ed2ab3802b30dd0..c2f310cd46294a8480d5af0e784b4374a1eedd72 100644 (file)
   <flag name='chardev-reconnect'/>
   <flag name='virtio-gpu.max_outputs'/>
   <flag name='virtio-blk.num-queues'/>
+  <flag name='sclplmconsole'/>
   <version>2007000</version>
   <kvmVersion>0</kvmVersion>
   <package></package>
index 6d26896ef9f018fa258b00730a9ced8eae42915b..f6e024dc617ffab4c6400483a46ab0812625e5ad 100644 (file)
   <flag name='chardev-reconnect'/>
   <flag name='virtio-gpu.max_outputs'/>
   <flag name='virtio-blk.num-queues'/>
+  <flag name='sclplmconsole'/>
   <version>2007093</version>
   <kvmVersion>0</kvmVersion>
   <package></package>
index 896ed503c360df08d6607b1769ecdab49dc3b2e4..6f965997ec15a78f9b52e74f202b0833ed93e2b1 100644 (file)
   <flag name='chardev-reconnect'/>
   <flag name='virtio-gpu.max_outputs'/>
   <flag name='virtio-blk.num-queues'/>
+  <flag name='sclplmconsole'/>
   <version>2009000</version>
   <kvmVersion>0</kvmVersion>
   <package></package>