99cbc7
From f3d851dfec29dabaf5c9ab9e889376bb6df2d93c Mon Sep 17 00:00:00 2001
99cbc7
Message-Id: <f3d851dfec29dabaf5c9ab9e889376bb6df2d93c@dist-git>
99cbc7
From: Andrea Bolognani <abologna@redhat.com>
99cbc7
Date: Tue, 3 Jul 2018 15:25:15 +0200
99cbc7
Subject: [PATCH] qemu: Add capability for the HTM pSeries feature
99cbc7
99cbc7
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
99cbc7
Reviewed-by: John Ferlan <jferlan@redhat.com>
99cbc7
99cbc7
(cherry picked from commit 755a5765accf8fe9b2b8ec3fb01c37ac91313c7c)
99cbc7
https: //bugzilla.redhat.com/show_bug.cgi?id=1525599
99cbc7
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
99cbc7
Acked-by: David Gibson <dgibson@redhat.com>
99cbc7
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
99cbc7
---
99cbc7
 src/qemu/qemu_capabilities.c                     | 2 ++
99cbc7
 src/qemu/qemu_capabilities.h                     | 1 +
99cbc7
 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 1 +
99cbc7
 tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml  | 1 +
99cbc7
 4 files changed, 5 insertions(+)
99cbc7
99cbc7
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
99cbc7
index fc1cf53066..883ca5dab7 100644
99cbc7
--- a/src/qemu/qemu_capabilities.c
99cbc7
+++ b/src/qemu/qemu_capabilities.c
99cbc7
@@ -501,6 +501,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
99cbc7
               /* 310 */
99cbc7
               "sev-guest",
99cbc7
               "machine.pseries.cap-hpt-max-page-size",
99cbc7
+              "machine.pseries.cap-htm",
99cbc7
     );
99cbc7
 
99cbc7
 
99cbc7
@@ -1432,6 +1433,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFile[] =
99cbc7
 
99cbc7
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsSPAPRMachine[] = {
99cbc7
     { "cap-hpt-max-page-size", QEMU_CAPS_MACHINE_PSERIES_CAP_HPT_MAX_PAGE_SIZE },
99cbc7
+    { "cap-htm", QEMU_CAPS_MACHINE_PSERIES_CAP_HTM },
99cbc7
 };
99cbc7
 
99cbc7
 static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
99cbc7
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
99cbc7
index df9bf49abb..a048a1cf02 100644
99cbc7
--- a/src/qemu/qemu_capabilities.h
99cbc7
+++ b/src/qemu/qemu_capabilities.h
99cbc7
@@ -485,6 +485,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
99cbc7
     /* 310 */
99cbc7
     QEMU_CAPS_SEV_GUEST, /* -object sev-guest,... */
99cbc7
     QEMU_CAPS_MACHINE_PSERIES_CAP_HPT_MAX_PAGE_SIZE, /* -machine pseries.cap-hpt-max-page-size */
99cbc7
+    QEMU_CAPS_MACHINE_PSERIES_CAP_HTM, /* -machine pseries.cap-htm */
99cbc7
 
99cbc7
     QEMU_CAPS_LAST /* this must always be the last item */
99cbc7
 } virQEMUCapsFlags;
99cbc7
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
99cbc7
index 2ee582f343..7139179304 100644
99cbc7
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
99cbc7
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
99cbc7
@@ -166,6 +166,7 @@
99cbc7
   <flag name='vhost-vsock'/>
99cbc7
   <flag name='chardev-fd-pass'/>
99cbc7
   <flag name='tpm-emulator'/>
99cbc7
+  <flag name='machine.pseries.cap-htm'/>
99cbc7
   <version>2011090</version>
99cbc7
   <kvmVersion>0</kvmVersion>
99cbc7
   <microcodeVersion>428334</microcodeVersion>
99cbc7
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
99cbc7
index 7e958b2efc..33cd00e613 100644
99cbc7
--- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
99cbc7
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
99cbc7
@@ -166,6 +166,7 @@
99cbc7
   <flag name='chardev-fd-pass'/>
99cbc7
   <flag name='tpm-emulator'/>
99cbc7
   <flag name='machine.pseries.cap-hpt-max-page-size'/>
99cbc7
+  <flag name='machine.pseries.cap-htm'/>
99cbc7
   <version>2012050</version>
99cbc7
   <kvmVersion>0</kvmVersion>
99cbc7
   <microcodeVersion>446771</microcodeVersion>
99cbc7
-- 
99cbc7
2.18.0
99cbc7