Pablo Greco 40546a
From 3ff9abfcfa6a79c47755a6e8d9da5b1bc4bdd655 Mon Sep 17 00:00:00 2001
Pablo Greco 40546a
Message-Id: <3ff9abfcfa6a79c47755a6e8d9da5b1bc4bdd655@dist-git>
Pablo Greco 40546a
From: Yi Min Zhao <zyimin@linux.ibm.com>
Pablo Greco 40546a
Date: Mon, 8 Apr 2019 10:57:19 +0200
Pablo Greco 40546a
Subject: [PATCH] qemu: Introduce zPCI capability
Pablo Greco 40546a
MIME-Version: 1.0
Pablo Greco 40546a
Content-Type: text/plain; charset=UTF-8
Pablo Greco 40546a
Content-Transfer-Encoding: 8bit
Pablo Greco 40546a
Pablo Greco 40546a
Let's introduce zPCI capability.
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Pablo Greco 40546a
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Pablo Greco 40546a
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Pablo Greco 40546a
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Pablo Greco 40546a
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Pablo Greco 40546a
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Pablo Greco 40546a
Pablo Greco 40546a
(cherry-picked from commit 29ad952f7e50bbbd920cbfb009a45b55fdb2f069)
Pablo Greco 40546a
Pablo Greco 40546a
https://bugzilla.redhat.com/show_bug.cgi?id=1508149
Pablo Greco 40546a
Pablo Greco 40546a
Conflicts:
Pablo Greco 40546a
Pablo Greco 40546a
  * src/qemu/qemu_capabilities.c
Pablo Greco 40546a
    src/qemu/qemu_capabilities.h
Pablo Greco 40546a
    + several capabilities have not been backported
Pablo Greco 40546a
Pablo Greco 40546a
Removed:
Pablo Greco 40546a
Pablo Greco 40546a
  * tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
Pablo Greco 40546a
    + the file does not exist at all downstream
Pablo Greco 40546a
      - missing d7434ae8009f
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Pablo Greco 40546a
Message-Id: <20190408085732.28684-3-abologna@redhat.com>
Pablo Greco 40546a
Reviewed-by: Laine Stump <laine@redhat.com>
Pablo Greco 40546a
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Pablo Greco 40546a
---
Pablo Greco 40546a
 src/qemu/qemu_capabilities.c                     | 2 ++
Pablo Greco 40546a
 src/qemu/qemu_capabilities.h                     | 1 +
Pablo Greco 40546a
 tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 1 +
Pablo Greco 40546a
 tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 1 +
Pablo Greco 40546a
 tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 1 +
Pablo Greco 40546a
 tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml  | 1 +
Pablo Greco 40546a
 tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml  | 1 +
Pablo Greco 40546a
 tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml  | 1 +
Pablo Greco 40546a
 8 files changed, 9 insertions(+)
Pablo Greco 40546a
Pablo Greco 40546a
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
Pablo Greco 40546a
index 0d6fa02560..8ca53abf2b 100644
Pablo Greco 40546a
--- a/src/qemu/qemu_capabilities.c
Pablo Greco 40546a
+++ b/src/qemu/qemu_capabilities.c
Pablo Greco 40546a
@@ -512,6 +512,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
Pablo Greco 40546a
               /* 315 */
Pablo Greco 40546a
               "vfio-pci.display",
Pablo Greco 40546a
               "vfio-ap",
Pablo Greco 40546a
+              "zpci",
Pablo Greco 40546a
               "machine.pseries.cap-nested-hv",
Pablo Greco 40546a
     );
Pablo Greco 40546a
 
Pablo Greco 40546a
@@ -1153,6 +1154,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
Pablo Greco 40546a
     { "mch", QEMU_CAPS_DEVICE_MCH },
Pablo Greco 40546a
     { "sev-guest", QEMU_CAPS_SEV_GUEST },
Pablo Greco 40546a
     { "vfio-ap", QEMU_CAPS_DEVICE_VFIO_AP },
Pablo Greco 40546a
+    { "zpci", QEMU_CAPS_DEVICE_ZPCI },
Pablo Greco 40546a
 };
Pablo Greco 40546a
 
Pablo Greco 40546a
 static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = {
Pablo Greco 40546a
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
Pablo Greco 40546a
index 9550df2cd5..bea4767f3c 100644
Pablo Greco 40546a
--- a/src/qemu/qemu_capabilities.h
Pablo Greco 40546a
+++ b/src/qemu/qemu_capabilities.h
Pablo Greco 40546a
@@ -492,6 +492,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
Pablo Greco 40546a
     /* 315 */
Pablo Greco 40546a
     QEMU_CAPS_VFIO_PCI_DISPLAY, /* -device vfio-pci.display */
Pablo Greco 40546a
     QEMU_CAPS_DEVICE_VFIO_AP, /* -device vfio-ap */
Pablo Greco 40546a
+    QEMU_CAPS_DEVICE_ZPCI, /* -device zpci */
Pablo Greco 40546a
     QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV, /* -machine pseries.cap-nested-hv */
Pablo Greco 40546a
 
Pablo Greco 40546a
     QEMU_CAPS_LAST /* this must always be the last item */
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
Pablo Greco 40546a
index 7347f5683f..b46efe880d 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
Pablo Greco 40546a
@@ -120,6 +120,7 @@
Pablo Greco 40546a
   <flag name='blockdev-del'/>
Pablo Greco 40546a
   <flag name='vhost-vsock'/>
Pablo Greco 40546a
   <flag name='egl-headless'/>
Pablo Greco 40546a
+  <flag name='zpci'/>
Pablo Greco 40546a
   <version>2010000</version>
Pablo Greco 40546a
   <kvmVersion>0</kvmVersion>
Pablo Greco 40546a
   <microcodeVersion>307899</microcodeVersion>
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
Pablo Greco 40546a
index b359f9a049..3ac1fc941c 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
Pablo Greco 40546a
@@ -127,6 +127,7 @@
Pablo Greco 40546a
   <flag name='vhost-vsock'/>
Pablo Greco 40546a
   <flag name='tpm-emulator'/>
Pablo Greco 40546a
   <flag name='egl-headless'/>
Pablo Greco 40546a
+  <flag name='zpci'/>
Pablo Greco 40546a
   <version>2011000</version>
Pablo Greco 40546a
   <kvmVersion>0</kvmVersion>
Pablo Greco 40546a
   <microcodeVersion>346751</microcodeVersion>
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
Pablo Greco 40546a
index 7121da27a0..184f115fe4 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
Pablo Greco 40546a
@@ -135,6 +135,7 @@
Pablo Greco 40546a
   <flag name='tpm-emulator'/>
Pablo Greco 40546a
   <flag name='egl-headless'/>
Pablo Greco 40546a
   <flag name='vfio-pci.display'/>
Pablo Greco 40546a
+  <flag name='zpci'/>
Pablo Greco 40546a
   <version>2012000</version>
Pablo Greco 40546a
   <kvmVersion>0</kvmVersion>
Pablo Greco 40546a
   <microcodeVersion>375999</microcodeVersion>
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
Pablo Greco 40546a
index 9ed25178f8..b04a9fbfd5 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
Pablo Greco 40546a
@@ -107,6 +107,7 @@
Pablo Greco 40546a
   <flag name='nbd-tls'/>
Pablo Greco 40546a
   <flag name='virtual-css-bridge'/>
Pablo Greco 40546a
   <flag name='sdl-gl'/>
Pablo Greco 40546a
+  <flag name='zpci'/>
Pablo Greco 40546a
   <version>2007000</version>
Pablo Greco 40546a
   <kvmVersion>0</kvmVersion>
Pablo Greco 40546a
   <microcodeVersion>220792</microcodeVersion>
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
Pablo Greco 40546a
index 646239ff25..b2b267be8d 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
Pablo Greco 40546a
@@ -110,6 +110,7 @@
Pablo Greco 40546a
   <flag name='virtual-css-bridge'/>
Pablo Greco 40546a
   <flag name='sdl-gl'/>
Pablo Greco 40546a
   <flag name='vhost-vsock'/>
Pablo Greco 40546a
+  <flag name='zpci'/>
Pablo Greco 40546a
   <version>2007093</version>
Pablo Greco 40546a
   <kvmVersion>0</kvmVersion>
Pablo Greco 40546a
   <microcodeVersion>246206</microcodeVersion>
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
Pablo Greco 40546a
index 09d68e1f18..f908ab88f3 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
Pablo Greco 40546a
@@ -114,6 +114,7 @@
Pablo Greco 40546a
   <flag name='sdl-gl'/>
Pablo Greco 40546a
   <flag name='blockdev-del'/>
Pablo Greco 40546a
   <flag name='vhost-vsock'/>
Pablo Greco 40546a
+  <flag name='zpci'/>
Pablo Greco 40546a
   <version>2009000</version>
Pablo Greco 40546a
   <kvmVersion>0</kvmVersion>
Pablo Greco 40546a
   <microcodeVersion>269625</microcodeVersion>
Pablo Greco 40546a
-- 
Pablo Greco 40546a
2.22.0
Pablo Greco 40546a