edecca
From 445b61e0c0f68d91a5e7bad7fb12b82005dd0e85 Mon Sep 17 00:00:00 2001
edecca
Message-Id: <445b61e0c0f68d91a5e7bad7fb12b82005dd0e85@dist-git>
edecca
From: Andrea Bolognani <abologna@redhat.com>
edecca
Date: Tue, 4 Dec 2018 16:46:18 +0100
edecca
Subject: [PATCH] qemu: Introduce QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV
edecca
MIME-Version: 1.0
edecca
Content-Type: text/plain; charset=UTF-8
edecca
Content-Transfer-Encoding: 8bit
edecca
edecca
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
edecca
(cherry picked from commit 0029eace520bfc0cbb1b176611304401ea9eae8f)
edecca
edecca
Conflicts in
edecca
edecca
  src/qemu/qemu_capabilities.c
edecca
  src/qemu/qemu_capabilities.h
edecca
edecca
because we're missing
edecca
edecca
  29ad952f7e qemu: Introduce zPCI capability
edecca
  21b18ea5d9 qemu: add memory-backend-memfd capability check
edecca
  a6fd5b596a qemu: check memory-backend-memfd.hugetlb capability
edecca
  9aec374b01 qemu: Detect whether iothread polling is supported
edecca
edecca
downstream.
edecca
edecca
https://bugzilla.redhat.com/show_bug.cgi?id=1647822
edecca
edecca
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
edecca
Reviewed-by: Ján Tomko <jtomko@redhat.com>
edecca
---
edecca
 src/qemu/qemu_capabilities.c                    | 2 ++
edecca
 src/qemu/qemu_capabilities.h                    | 1 +
edecca
 tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 +
edecca
 tests/qemuxml2argvtest.c                        | 1 +
edecca
 tests/qemuxml2xmltest.c                         | 1 +
edecca
 5 files changed, 6 insertions(+)
edecca
edecca
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
edecca
index feef102874..57b1b99076 100644
edecca
--- a/src/qemu/qemu_capabilities.c
edecca
+++ b/src/qemu/qemu_capabilities.c
edecca
@@ -508,6 +508,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
edecca
               /* 315 */
edecca
               "vfio-pci.display",
edecca
               "vfio-ap",
edecca
+              "machine.pseries.cap-nested-hv",
edecca
     );
edecca
 
edecca
 
edecca
@@ -1439,6 +1440,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFile[] =
edecca
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsSPAPRMachine[] = {
edecca
     { "cap-hpt-max-page-size", QEMU_CAPS_MACHINE_PSERIES_CAP_HPT_MAX_PAGE_SIZE },
edecca
     { "cap-htm", QEMU_CAPS_MACHINE_PSERIES_CAP_HTM },
edecca
+    { "cap-nested-hv", QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV },
edecca
 };
edecca
 
edecca
 static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
edecca
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
edecca
index 1a9e5386a8..0c06081107 100644
edecca
--- a/src/qemu/qemu_capabilities.h
edecca
+++ b/src/qemu/qemu_capabilities.h
edecca
@@ -492,6 +492,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
edecca
     /* 315 */
edecca
     QEMU_CAPS_VFIO_PCI_DISPLAY, /* -device vfio-pci.display */
edecca
     QEMU_CAPS_DEVICE_VFIO_AP, /* -device vfio-ap */
edecca
+    QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV, /* -machine pseries.cap-nested-hv */
edecca
 
edecca
     QEMU_CAPS_LAST /* this must always be the last item */
edecca
 } virQEMUCapsFlags;
edecca
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
edecca
index bdd339c54a..279e946e2a 100644
edecca
--- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
edecca
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
edecca
@@ -171,6 +171,7 @@
edecca
   <flag name='usb-storage.werror'/>
edecca
   <flag name='egl-headless'/>
edecca
   <flag name='vfio-pci.display'/>
edecca
+  <flag name='machine.pseries.cap-nested-hv'/>
edecca
   <version>3000091</version>
edecca
   <kvmVersion>0</kvmVersion>
edecca
   <microcodeVersion>439018</microcodeVersion>
edecca
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
edecca
index 13e95fe28a..0908bc5d08 100644
edecca
--- a/tests/qemuxml2argvtest.c
edecca
+++ b/tests/qemuxml2argvtest.c
edecca
@@ -1886,6 +1886,7 @@ mymain(void)
edecca
             QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE,
edecca
             QEMU_CAPS_MACHINE_PSERIES_CAP_HPT_MAX_PAGE_SIZE,
edecca
             QEMU_CAPS_MACHINE_PSERIES_CAP_HTM,
edecca
+            QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV,
edecca
             QEMU_CAPS_MACHINE_PSERIES_RESIZE_HPT);
edecca
     DO_TEST_FAILURE("pseries-features",
edecca
                     QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE);
edecca
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
edecca
index b76410b2c1..db088fff6b 100644
edecca
--- a/tests/qemuxml2xmltest.c
edecca
+++ b/tests/qemuxml2xmltest.c
edecca
@@ -627,6 +627,7 @@ mymain(void)
edecca
             QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE,
edecca
             QEMU_CAPS_MACHINE_PSERIES_CAP_HPT_MAX_PAGE_SIZE,
edecca
             QEMU_CAPS_MACHINE_PSERIES_CAP_HTM,
edecca
+            QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV,
edecca
             QEMU_CAPS_MACHINE_PSERIES_RESIZE_HPT);
edecca
 
edecca
     DO_TEST("pseries-serial-native",
edecca
-- 
edecca
2.20.1
edecca