404507
From 62fe4cb859c0e86460879bcf676f1107ccd93129 Mon Sep 17 00:00:00 2001
404507
Message-Id: <62fe4cb859c0e86460879bcf676f1107ccd93129@dist-git>
404507
From: Andrea Bolognani <abologna@redhat.com>
404507
Date: Wed, 29 Nov 2017 16:23:17 +0100
404507
Subject: [PATCH] qemu: Add QEMU_CAPS_DEVICE_ISA_SERIAL
404507
404507
All serial devices shoule have an associated capability.
404507
404507
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
404507
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
404507
(cherry picked from commit b0f1c291a0d3cbf2881a308a39f3f390f1cabcf5)
404507
404507
 Conflicts:
404507
	src/qemu/qemu_capabilities.c
404507
	src/qemu/qemu_capabilities.h
404507
	tests/qemucapabilitiesdata/caps_2.10.0-gicv2.aarch64.xml
404507
	tests/qemucapabilitiesdata/caps_2.10.0-gicv3.aarch64.xml
404507
	tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
404507
	tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
404507
	tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
404507
	tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
404507
404507
	Insert the new capability in the right place, both in the
404507
	declaration and in the caps.
404507
404507
https://bugzilla.redhat.com/show_bug.cgi?id=1512929
404507
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
404507
---
404507
 src/qemu/qemu_capabilities.c                            | 3 +++
404507
 src/qemu/qemu_capabilities.h                            | 2 ++
404507
 tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml       | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml         | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml        | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml         | 1 +
404507
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml        | 1 +
404507
 tests/qemuhelptest.c                                    | 5 +++++
404507
 22 files changed, 29 insertions(+)
404507
404507
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
404507
index 322e0423d6..08c6653424 100644
404507
--- a/src/qemu/qemu_capabilities.c
404507
+++ b/src/qemu/qemu_capabilities.c
404507
@@ -451,6 +451,8 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
404507
               "sclplmconsole",
404507
 
404507
               "disk-share-rw",
404507
+
404507
+              "isa-serial",
404507
     );
404507
 
404507
 
404507
@@ -1681,6 +1683,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
404507
     { "spapr-pci-host-bridge", QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE },
404507
     { "spapr-vty", QEMU_CAPS_DEVICE_SPAPR_VTY },
404507
     { "sclplmconsole", QEMU_CAPS_DEVICE_SCLPLMCONSOLE },
404507
+    { "isa-serial", QEMU_CAPS_DEVICE_ISA_SERIAL },
404507
 };
404507
 
404507
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBalloon[] = {
404507
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
404507
index c3a15948cf..f0bd88f897 100644
404507
--- a/src/qemu/qemu_capabilities.h
404507
+++ b/src/qemu/qemu_capabilities.h
404507
@@ -438,6 +438,8 @@ typedef enum {
404507
 
404507
     QEMU_CAPS_DISK_SHARE_RW, /* share-rw=on for concurrent disk access */
404507
 
404507
+    QEMU_CAPS_DEVICE_ISA_SERIAL, /* -device isa-serial */
404507
+
404507
     QEMU_CAPS_LAST /* this must always be the last item */
404507
 } virQEMUCapsFlags;
404507
 
404507
diff --git a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml
404507
index 956284d5d3..d560811ab7 100644
404507
--- a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml
404507
@@ -109,6 +109,7 @@
404507
   <flag name='device-tray-moved-event'/>
404507
   <flag name='display'/>
404507
   <flag name='query-cpu-definitions'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>1002002</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml
404507
index 99384ce5e6..576475f7fa 100644
404507
--- a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml
404507
@@ -127,6 +127,7 @@
404507
   <flag name='nec-usb-xhci-ports'/>
404507
   <flag name='display'/>
404507
   <flag name='query-cpu-definitions'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>1003001</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml
404507
index aea043c57d..0c271d3e41 100644
404507
--- a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml
404507
@@ -128,6 +128,7 @@
404507
   <flag name='nec-usb-xhci-ports'/>
404507
   <flag name='display'/>
404507
   <flag name='query-cpu-definitions'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>1004002</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
404507
index 6f860e4f25..5c667975bf 100644
404507
--- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
404507
@@ -140,6 +140,7 @@
404507
   <flag name='vhost-scsi'/>
404507
   <flag name='query-cpu-definitions'/>
404507
   <flag name='kernel-irqchip'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>1005003</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
404507
index e5dc8360de..8ae07a91db 100644
404507
--- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
404507
@@ -145,6 +145,7 @@
404507
   <flag name='vhost-scsi'/>
404507
   <flag name='query-cpu-definitions'/>
404507
   <flag name='kernel-irqchip'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>1006000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
404507
index 86d87eaf0c..34bd6be1cd 100644
404507
--- a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
404507
@@ -147,6 +147,7 @@
404507
   <flag name='vhost-scsi'/>
404507
   <flag name='query-cpu-definitions'/>
404507
   <flag name='kernel-irqchip'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>1007000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
404507
index 2fa551b1a0..0d7c144ff7 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
404507
@@ -163,6 +163,7 @@
404507
   <flag name='query-cpu-definitions'/>
404507
   <flag name='query-named-block-nodes'/>
404507
   <flag name='kernel-irqchip'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2001001</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
404507
index c95025b41f..23356f4092 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
404507
@@ -180,6 +180,7 @@
404507
   <flag name='machine.pseries.resize-hpt'/>
404507
   <flag name='spapr-vty'/>
404507
   <flag name='disk-share-rw'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2010000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package> (v2.10.0)</package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
404507
index 33db3e6674..e04e530b95 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
404507
@@ -225,6 +225,7 @@
404507
   <flag name='vxhs'/>
404507
   <flag name='virtio-blk.num-queues'/>
404507
   <flag name='disk-share-rw'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2010000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package> (v2.10.0)</package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
404507
index f97e4cb813..5007523c1f 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
404507
@@ -188,6 +188,7 @@
404507
   <flag name='vnc-multi-servers'/>
404507
   <flag name='chardev-reconnect'/>
404507
   <flag name='virtio-gpu.max_outputs'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2004000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
404507
index 2ba40fc494..a9ad292d01 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
404507
@@ -194,6 +194,7 @@
404507
   <flag name='vnc-multi-servers'/>
404507
   <flag name='chardev-reconnect'/>
404507
   <flag name='virtio-gpu.max_outputs'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2005000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml
404507
index 0b34fa30d4..e699bdbafd 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml
404507
@@ -172,6 +172,7 @@
404507
   <flag name='vnc-multi-servers'/>
404507
   <flag name='chardev-reconnect'/>
404507
   <flag name='virtio-gpu.max_outputs'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2006000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml
404507
index d41d578c7e..f4c1de7e1d 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml
404507
@@ -172,6 +172,7 @@
404507
   <flag name='vnc-multi-servers'/>
404507
   <flag name='chardev-reconnect'/>
404507
   <flag name='virtio-gpu.max_outputs'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2006000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
404507
index 5ff8598fc8..27d99bd937 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
404507
@@ -168,6 +168,7 @@
404507
   <flag name='chardev-reconnect'/>
404507
   <flag name='virtio-gpu.max_outputs'/>
404507
   <flag name='spapr-vty'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2006000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
404507
index bdf006f6be..97621612ab 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
404507
@@ -204,6 +204,7 @@
404507
   <flag name='vnc-multi-servers'/>
404507
   <flag name='chardev-reconnect'/>
404507
   <flag name='virtio-gpu.max_outputs'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2006000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package></package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
404507
index 59adff6c97..e4ea9452c5 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
404507
@@ -208,6 +208,7 @@
404507
   <flag name='chardev-reconnect'/>
404507
   <flag name='virtio-gpu.max_outputs'/>
404507
   <flag name='virtio-blk.num-queues'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2007000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package> (v2.7.0)</package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
404507
index 3165b2dee3..c6d3e21d5c 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
404507
@@ -210,6 +210,7 @@
404507
   <flag name='chardev-reconnect'/>
404507
   <flag name='virtio-gpu.max_outputs'/>
404507
   <flag name='virtio-blk.num-queues'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2008000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package> (v2.8.0)</package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
404507
index 3b70b1a407..f5cf0ba932 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
404507
@@ -175,6 +175,7 @@
404507
   <flag name='virtio-blk.num-queues'/>
404507
   <flag name='spapr-vty'/>
404507
   <flag name='disk-share-rw'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2009000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package> (v2.9.0)</package>
404507
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
404507
index 0ea9a2fce3..82cc4e79f4 100644
404507
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
404507
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
404507
@@ -222,6 +222,7 @@
404507
   <flag name='virtio-gpu.max_outputs'/>
404507
   <flag name='virtio-blk.num-queues'/>
404507
   <flag name='disk-share-rw'/>
404507
+  <flag name='isa-serial'/>
404507
   <version>2009000</version>
404507
   <kvmVersion>0</kvmVersion>
404507
   <package> (v2.9.0)</package>
404507
diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c
404507
index 1a6e7092fd..0e05aa9d8a 100644
404507
--- a/tests/qemuhelptest.c
404507
+++ b/tests/qemuhelptest.c
404507
@@ -174,6 +174,7 @@ mymain(void)
404507
             QEMU_CAPS_DEVICE_USB_KBD,
404507
             QEMU_CAPS_DEVICE_RTL8139,
404507
             QEMU_CAPS_DEVICE_E1000,
404507
+            QEMU_CAPS_DEVICE_ISA_SERIAL,
404507
             QEMU_CAPS_DEVICE_VIRTIO_NET);
404507
     DO_TEST("qemu-kvm-0.12.3", 12003, 1, 0,
404507
             QEMU_CAPS_DRIVE_BOOT,
404507
@@ -210,6 +211,7 @@ mymain(void)
404507
             QEMU_CAPS_DEVICE_USB_KBD,
404507
             QEMU_CAPS_DEVICE_RTL8139,
404507
             QEMU_CAPS_DEVICE_E1000,
404507
+            QEMU_CAPS_DEVICE_ISA_SERIAL,
404507
             QEMU_CAPS_DEVICE_VIRTIO_NET);
404507
     DO_TEST("qemu-kvm-0.13.0", 13000, 1, 0,
404507
             QEMU_CAPS_DRIVE_BOOT,
404507
@@ -258,6 +260,7 @@ mymain(void)
404507
             QEMU_CAPS_DEVICE_IVSHMEM,
404507
             QEMU_CAPS_DEVICE_RTL8139,
404507
             QEMU_CAPS_DEVICE_E1000,
404507
+            QEMU_CAPS_DEVICE_ISA_SERIAL,
404507
             QEMU_CAPS_DEVICE_VIRTIO_NET);
404507
     DO_TEST("qemu-1.0", 1000000, 0, 0,
404507
             QEMU_CAPS_DRIVE_CACHE_UNSAFE,
404507
@@ -328,6 +331,7 @@ mymain(void)
404507
             QEMU_CAPS_DEVICE_RTL8139,
404507
             QEMU_CAPS_DEVICE_E1000,
404507
             QEMU_CAPS_DEVICE_VIRTIO_NET,
404507
+            QEMU_CAPS_DEVICE_ISA_SERIAL,
404507
             QEMU_CAPS_DISPLAY);
404507
     DO_TEST("qemu-1.1.0", 1001000, 0, 0,
404507
             QEMU_CAPS_DRIVE_CACHE_UNSAFE,
404507
@@ -411,6 +415,7 @@ mymain(void)
404507
             QEMU_CAPS_DEVICE_RTL8139,
404507
             QEMU_CAPS_DEVICE_E1000,
404507
             QEMU_CAPS_DEVICE_VIRTIO_NET,
404507
+            QEMU_CAPS_DEVICE_ISA_SERIAL,
404507
             QEMU_CAPS_DISPLAY);
404507
     DO_TEST_FULL("qemu-1.2.0", 1002000, 0, 0, VIR_ERR_CONFIG_UNSUPPORTED,
404507
             QEMU_CAPS_LAST);
404507
-- 
404507
2.15.1
404507