[libvirt] [PATCH v5 36/36] qemu_monitor: Default props to migratable when expanding cpu model

Chris Venteicher cventeic at redhat.com
Mon Dec 3 05:10:30 UTC 2018


QEMU only returns migratable props when expanding model unless
explicitly told to also include non-migratable props.

Props will be marked migratable when we are certain QEMU returned only
migratable props resulting in consistent information and expansion output
for s390 that is consistent with x86.

After this change,
immediately default prop->migratable = _YES for all props
when we know QEMU only included migratable props in CPU Model.

Set model->migratability = true when we have set prop->migratable.

Signed-off-by: Chris Venteicher <cventeic at redhat.com>
---
 src/qemu/qemu_monitor.c                       | 53 ++++++++++++++-
 src/qemu/qemu_monitor.h                       |  7 +-
 .../caps_2.10.0.s390x.xml                     | 60 ++++++++---------
 .../caps_2.11.0.s390x.xml                     | 58 ++++++++---------
 .../caps_2.12.0.s390x.xml                     | 56 ++++++++--------
 .../qemucapabilitiesdata/caps_2.8.0.s390x.xml | 32 +++++-----
 .../qemucapabilitiesdata/caps_2.9.0.s390x.xml | 34 +++++-----
 .../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 64 +++++++++----------
 8 files changed, 210 insertions(+), 154 deletions(-)

diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 0c7d7b4b55..23a9c2ff2b 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -3682,12 +3682,31 @@ qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon,
                                 qemuMonitorCPUModelInfoPtr *expansion
                                )
 {
+    int ret = -1;
+    qemuMonitorCPUModelInfoPtr tmp;
+
     VIR_DEBUG("type=%d model_name=%s migratable=%d",
               type, input->name, migratable);
 
+    *expansion = NULL;
+
     QEMU_CHECK_MONITOR(mon);
 
-    return qemuMonitorJSONGetCPUModelExpansion(mon, type, migratable, input, expansion);
+    if ((ret = qemuMonitorJSONGetCPUModelExpansion(mon, type, migratable, input, &tmp)) < 0)
+        goto cleanup;
+
+    if (migratable) {
+        /* Only migratable props were included in expanded CPU model */
+        *expansion = qemuMonitorCPUModelInfoCopyDefaultMigratable(tmp);
+    } else {
+        VIR_STEAL_PTR(*expansion, tmp);
+    }
+
+    ret = 0;
+
+ cleanup:
+    qemuMonitorCPUModelInfoFree(tmp);
+    return ret;
 }
 
 
@@ -3785,6 +3804,38 @@ qemuMonitorCPUModelInfoCopy(const qemuMonitorCPUModelInfo *orig)
 }
 
 
+qemuMonitorCPUModelInfoPtr
+qemuMonitorCPUModelInfoCopyDefaultMigratable(const qemuMonitorCPUModelInfo *orig)
+{
+    qemuMonitorCPUModelInfoPtr ret = NULL;
+    qemuMonitorCPUModelInfoPtr tmp = NULL;
+    qemuMonitorCPUPropertyPtr prop = NULL;
+    size_t i;
+
+    if (!(tmp = qemuMonitorCPUModelInfoCopy(orig)))
+        goto cleanup;
+
+    for (i = 0; i < tmp->nprops; i++) {
+        prop = tmp->props + i;
+
+        /* Default prop thats in cpu model (true) to migratable (_YES)
+         * unless prop already explicitly set not migratable (_NO)
+         */
+        if (prop->type == QEMU_MONITOR_CPU_PROPERTY_BOOLEAN &&
+            prop->value.boolean &&
+            prop->migratable != VIR_TRISTATE_BOOL_NO)
+            prop->migratable = VIR_TRISTATE_BOOL_YES;
+    }
+
+    tmp->migratability = true; /* prop->migratable = YES/NO for all CPU props */
+
+    VIR_STEAL_PTR(ret, tmp);
+
+ cleanup:
+    return ret;
+}
+
+
 /* Squash CPU Model Info property list
  * removing props of type boolean matching value */
 void
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
index 7aaecd97dd..77aa7cfdc6 100644
--- a/src/qemu/qemu_monitor.h
+++ b/src/qemu/qemu_monitor.h
@@ -1025,7 +1025,7 @@ struct _qemuMonitorCPUModelInfo {
     char *name;
     size_t nprops;
     qemuMonitorCPUPropertyPtr props;
-    bool migratability;
+    bool migratability; /* true if prop->migratable is YES/NO for all CPU props */
 };
 
 typedef enum {
@@ -1048,6 +1048,11 @@ qemuMonitorCPUModelInfoPtr qemuMonitorCPUModelInfoNew(const char *name);
 qemuMonitorCPUModelInfoPtr
 qemuMonitorCPUModelInfoCopy(const qemuMonitorCPUModelInfo *orig);
 
+qemuMonitorCPUModelInfoPtr
+qemuMonitorCPUModelInfoCopyDefaultMigratable(const qemuMonitorCPUModelInfo *orig)
+    ATTRIBUTE_NONNULL(1);
+
+
 int qemuMonitorCPUModelInfoBoolPropAdd(qemuMonitorCPUModelInfoPtr model,
                                        const char *prop_name,
                                        bool prop_value)
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
index 180a688ba2..07f4da579b 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
@@ -120,36 +120,36 @@
   <microcodeVersion>306247</microcodeVersion>
   <package></package>
   <arch>s390x</arch>
-  <hostCPU type='kvm' model='z14-base' migratability='no'>
-    <property name='aen' type='boolean' value='true'/>
-    <property name='cmmnt' type='boolean' value='true'/>
-    <property name='aefsi' type='boolean' value='true'/>
-    <property name='mepoch' type='boolean' value='true'/>
-    <property name='msa8' type='boolean' value='true'/>
-    <property name='msa7' type='boolean' value='true'/>
-    <property name='msa6' type='boolean' value='true'/>
-    <property name='msa5' type='boolean' value='true'/>
-    <property name='msa4' type='boolean' value='true'/>
-    <property name='msa3' type='boolean' value='true'/>
-    <property name='msa2' type='boolean' value='true'/>
-    <property name='msa1' type='boolean' value='true'/>
-    <property name='sthyi' type='boolean' value='true'/>
-    <property name='edat' type='boolean' value='true'/>
-    <property name='ri' type='boolean' value='true'/>
-    <property name='edat2' type='boolean' value='true'/>
-    <property name='vx' type='boolean' value='true'/>
-    <property name='ipter' type='boolean' value='true'/>
-    <property name='vxeh' type='boolean' value='true'/>
-    <property name='vxpd' type='boolean' value='true'/>
-    <property name='esop' type='boolean' value='true'/>
-    <property name='iep' type='boolean' value='true'/>
-    <property name='cte' type='boolean' value='true'/>
-    <property name='ais' type='boolean' value='true'/>
-    <property name='gs' type='boolean' value='true'/>
-    <property name='zpci' type='boolean' value='true'/>
-    <property name='sea_esop2' type='boolean' value='true'/>
-    <property name='te' type='boolean' value='true'/>
-    <property name='cmm' type='boolean' value='true'/>
+  <hostCPU type='kvm' model='z14-base' migratability='yes'>
+    <property name='aen' type='boolean' value='true' migratable='yes'/>
+    <property name='cmmnt' type='boolean' value='true' migratable='yes'/>
+    <property name='aefsi' type='boolean' value='true' migratable='yes'/>
+    <property name='mepoch' type='boolean' value='true' migratable='yes'/>
+    <property name='msa8' type='boolean' value='true' migratable='yes'/>
+    <property name='msa7' type='boolean' value='true' migratable='yes'/>
+    <property name='msa6' type='boolean' value='true' migratable='yes'/>
+    <property name='msa5' type='boolean' value='true' migratable='yes'/>
+    <property name='msa4' type='boolean' value='true' migratable='yes'/>
+    <property name='msa3' type='boolean' value='true' migratable='yes'/>
+    <property name='msa2' type='boolean' value='true' migratable='yes'/>
+    <property name='msa1' type='boolean' value='true' migratable='yes'/>
+    <property name='sthyi' type='boolean' value='true' migratable='yes'/>
+    <property name='edat' type='boolean' value='true' migratable='yes'/>
+    <property name='ri' type='boolean' value='true' migratable='yes'/>
+    <property name='edat2' type='boolean' value='true' migratable='yes'/>
+    <property name='vx' type='boolean' value='true' migratable='yes'/>
+    <property name='ipter' type='boolean' value='true' migratable='yes'/>
+    <property name='vxeh' type='boolean' value='true' migratable='yes'/>
+    <property name='vxpd' type='boolean' value='true' migratable='yes'/>
+    <property name='esop' type='boolean' value='true' migratable='yes'/>
+    <property name='iep' type='boolean' value='true' migratable='yes'/>
+    <property name='cte' type='boolean' value='true' migratable='yes'/>
+    <property name='ais' type='boolean' value='true' migratable='yes'/>
+    <property name='gs' type='boolean' value='true' migratable='yes'/>
+    <property name='zpci' type='boolean' value='true' migratable='yes'/>
+    <property name='sea_esop2' type='boolean' value='true' migratable='yes'/>
+    <property name='te' type='boolean' value='true' migratable='yes'/>
+    <property name='cmm' type='boolean' value='true' migratable='yes'/>
   </hostCPU>
   <cpu type='kvm' name='z10EC-base' usable='yes'/>
   <cpu type='kvm' name='z9EC-base' usable='yes'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
index 7dc643d9a3..c2f222bd41 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
@@ -127,35 +127,35 @@
   <microcodeVersion>345099</microcodeVersion>
   <package></package>
   <arch>s390x</arch>
-  <hostCPU type='kvm' model='z14-base' migratability='no'>
-    <property name='aen' type='boolean' value='true'/>
-    <property name='cmmnt' type='boolean' value='true'/>
-    <property name='aefsi' type='boolean' value='true'/>
-    <property name='mepoch' type='boolean' value='true'/>
-    <property name='msa8' type='boolean' value='true'/>
-    <property name='msa7' type='boolean' value='true'/>
-    <property name='msa6' type='boolean' value='true'/>
-    <property name='msa5' type='boolean' value='true'/>
-    <property name='msa4' type='boolean' value='true'/>
-    <property name='msa3' type='boolean' value='true'/>
-    <property name='msa2' type='boolean' value='true'/>
-    <property name='msa1' type='boolean' value='true'/>
-    <property name='sthyi' type='boolean' value='true'/>
-    <property name='edat' type='boolean' value='true'/>
-    <property name='ri' type='boolean' value='true'/>
-    <property name='edat2' type='boolean' value='true'/>
-    <property name='vx' type='boolean' value='true'/>
-    <property name='ipter' type='boolean' value='true'/>
-    <property name='vxeh' type='boolean' value='true'/>
-    <property name='vxpd' type='boolean' value='true'/>
-    <property name='esop' type='boolean' value='true'/>
-    <property name='iep' type='boolean' value='true'/>
-    <property name='cte' type='boolean' value='true'/>
-    <property name='gs' type='boolean' value='true'/>
-    <property name='zpci' type='boolean' value='true'/>
-    <property name='sea_esop2' type='boolean' value='true'/>
-    <property name='te' type='boolean' value='true'/>
-    <property name='cmm' type='boolean' value='true'/>
+  <hostCPU type='kvm' model='z14-base' migratability='yes'>
+    <property name='aen' type='boolean' value='true' migratable='yes'/>
+    <property name='cmmnt' type='boolean' value='true' migratable='yes'/>
+    <property name='aefsi' type='boolean' value='true' migratable='yes'/>
+    <property name='mepoch' type='boolean' value='true' migratable='yes'/>
+    <property name='msa8' type='boolean' value='true' migratable='yes'/>
+    <property name='msa7' type='boolean' value='true' migratable='yes'/>
+    <property name='msa6' type='boolean' value='true' migratable='yes'/>
+    <property name='msa5' type='boolean' value='true' migratable='yes'/>
+    <property name='msa4' type='boolean' value='true' migratable='yes'/>
+    <property name='msa3' type='boolean' value='true' migratable='yes'/>
+    <property name='msa2' type='boolean' value='true' migratable='yes'/>
+    <property name='msa1' type='boolean' value='true' migratable='yes'/>
+    <property name='sthyi' type='boolean' value='true' migratable='yes'/>
+    <property name='edat' type='boolean' value='true' migratable='yes'/>
+    <property name='ri' type='boolean' value='true' migratable='yes'/>
+    <property name='edat2' type='boolean' value='true' migratable='yes'/>
+    <property name='vx' type='boolean' value='true' migratable='yes'/>
+    <property name='ipter' type='boolean' value='true' migratable='yes'/>
+    <property name='vxeh' type='boolean' value='true' migratable='yes'/>
+    <property name='vxpd' type='boolean' value='true' migratable='yes'/>
+    <property name='esop' type='boolean' value='true' migratable='yes'/>
+    <property name='iep' type='boolean' value='true' migratable='yes'/>
+    <property name='cte' type='boolean' value='true' migratable='yes'/>
+    <property name='gs' type='boolean' value='true' migratable='yes'/>
+    <property name='zpci' type='boolean' value='true' migratable='yes'/>
+    <property name='sea_esop2' type='boolean' value='true' migratable='yes'/>
+    <property name='te' type='boolean' value='true' migratable='yes'/>
+    <property name='cmm' type='boolean' value='true' migratable='yes'/>
   </hostCPU>
   <cpu type='kvm' name='z890.2' usable='yes'/>
   <cpu type='kvm' name='z990.4' usable='yes'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
index b18bd74dee..f006634a9c 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
@@ -137,34 +137,34 @@
   <microcodeVersion>375102</microcodeVersion>
   <package></package>
   <arch>s390x</arch>
-  <hostCPU type='kvm' model='z14-base' migratability='no'>
-    <property name='aen' type='boolean' value='true'/>
-    <property name='aefsi' type='boolean' value='true'/>
-    <property name='msa8' type='boolean' value='true'/>
-    <property name='msa7' type='boolean' value='true'/>
-    <property name='msa6' type='boolean' value='true'/>
-    <property name='msa5' type='boolean' value='true'/>
-    <property name='msa4' type='boolean' value='true'/>
-    <property name='msa3' type='boolean' value='true'/>
-    <property name='msa2' type='boolean' value='true'/>
-    <property name='msa1' type='boolean' value='true'/>
-    <property name='sthyi' type='boolean' value='true'/>
-    <property name='edat' type='boolean' value='true'/>
-    <property name='ri' type='boolean' value='true'/>
-    <property name='edat2' type='boolean' value='true'/>
-    <property name='vx' type='boolean' value='true'/>
-    <property name='ipter' type='boolean' value='true'/>
-    <property name='vxeh' type='boolean' value='true'/>
-    <property name='vxpd' type='boolean' value='true'/>
-    <property name='esop' type='boolean' value='true'/>
-    <property name='iep' type='boolean' value='true'/>
-    <property name='cte' type='boolean' value='true'/>
-    <property name='gs' type='boolean' value='true'/>
-    <property name='ppa15' type='boolean' value='true'/>
-    <property name='zpci' type='boolean' value='true'/>
-    <property name='sea_esop2' type='boolean' value='true'/>
-    <property name='te' type='boolean' value='true'/>
-    <property name='cmm' type='boolean' value='true'/>
+  <hostCPU type='kvm' model='z14-base' migratability='yes'>
+    <property name='aen' type='boolean' value='true' migratable='yes'/>
+    <property name='aefsi' type='boolean' value='true' migratable='yes'/>
+    <property name='msa8' type='boolean' value='true' migratable='yes'/>
+    <property name='msa7' type='boolean' value='true' migratable='yes'/>
+    <property name='msa6' type='boolean' value='true' migratable='yes'/>
+    <property name='msa5' type='boolean' value='true' migratable='yes'/>
+    <property name='msa4' type='boolean' value='true' migratable='yes'/>
+    <property name='msa3' type='boolean' value='true' migratable='yes'/>
+    <property name='msa2' type='boolean' value='true' migratable='yes'/>
+    <property name='msa1' type='boolean' value='true' migratable='yes'/>
+    <property name='sthyi' type='boolean' value='true' migratable='yes'/>
+    <property name='edat' type='boolean' value='true' migratable='yes'/>
+    <property name='ri' type='boolean' value='true' migratable='yes'/>
+    <property name='edat2' type='boolean' value='true' migratable='yes'/>
+    <property name='vx' type='boolean' value='true' migratable='yes'/>
+    <property name='ipter' type='boolean' value='true' migratable='yes'/>
+    <property name='vxeh' type='boolean' value='true' migratable='yes'/>
+    <property name='vxpd' type='boolean' value='true' migratable='yes'/>
+    <property name='esop' type='boolean' value='true' migratable='yes'/>
+    <property name='iep' type='boolean' value='true' migratable='yes'/>
+    <property name='cte' type='boolean' value='true' migratable='yes'/>
+    <property name='gs' type='boolean' value='true' migratable='yes'/>
+    <property name='ppa15' type='boolean' value='true' migratable='yes'/>
+    <property name='zpci' type='boolean' value='true' migratable='yes'/>
+    <property name='sea_esop2' type='boolean' value='true' migratable='yes'/>
+    <property name='te' type='boolean' value='true' migratable='yes'/>
+    <property name='cmm' type='boolean' value='true' migratable='yes'/>
   </hostCPU>
   <cpu type='kvm' name='z890.2' usable='yes'/>
   <cpu type='kvm' name='z990.4' usable='yes'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
index f3a32ad376..8fa95c1f90 100644
--- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
@@ -109,22 +109,22 @@
   <microcodeVersion>244554</microcodeVersion>
   <package></package>
   <arch>s390x</arch>
-  <hostCPU type='kvm' model='zEC12.2-base' migratability='no'>
-    <property name='aefsi' type='boolean' value='true'/>
-    <property name='msa5' type='boolean' value='true'/>
-    <property name='msa4' type='boolean' value='true'/>
-    <property name='msa3' type='boolean' value='true'/>
-    <property name='msa2' type='boolean' value='true'/>
-    <property name='msa1' type='boolean' value='true'/>
-    <property name='sthyi' type='boolean' value='true'/>
-    <property name='edat' type='boolean' value='true'/>
-    <property name='ri' type='boolean' value='true'/>
-    <property name='edat2' type='boolean' value='true'/>
-    <property name='ipter' type='boolean' value='true'/>
-    <property name='esop' type='boolean' value='true'/>
-    <property name='cte' type='boolean' value='true'/>
-    <property name='te' type='boolean' value='true'/>
-    <property name='cmm' type='boolean' value='true'/>
+  <hostCPU type='kvm' model='zEC12.2-base' migratability='yes'>
+    <property name='aefsi' type='boolean' value='true' migratable='yes'/>
+    <property name='msa5' type='boolean' value='true' migratable='yes'/>
+    <property name='msa4' type='boolean' value='true' migratable='yes'/>
+    <property name='msa3' type='boolean' value='true' migratable='yes'/>
+    <property name='msa2' type='boolean' value='true' migratable='yes'/>
+    <property name='msa1' type='boolean' value='true' migratable='yes'/>
+    <property name='sthyi' type='boolean' value='true' migratable='yes'/>
+    <property name='edat' type='boolean' value='true' migratable='yes'/>
+    <property name='ri' type='boolean' value='true' migratable='yes'/>
+    <property name='edat2' type='boolean' value='true' migratable='yes'/>
+    <property name='ipter' type='boolean' value='true' migratable='yes'/>
+    <property name='esop' type='boolean' value='true' migratable='yes'/>
+    <property name='cte' type='boolean' value='true' migratable='yes'/>
+    <property name='te' type='boolean' value='true' migratable='yes'/>
+    <property name='cmm' type='boolean' value='true' migratable='yes'/>
   </hostCPU>
   <cpu type='kvm' name='z10EC-base'/>
   <cpu type='kvm' name='z9EC-base'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
index 4bb61f09f0..93a7c72f3a 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
@@ -114,23 +114,23 @@
   <microcodeVersion>267973</microcodeVersion>
   <package></package>
   <arch>s390x</arch>
-  <hostCPU type='kvm' model='z13.2-base' migratability='no'>
-    <property name='aefsi' type='boolean' value='true'/>
-    <property name='msa5' type='boolean' value='true'/>
-    <property name='msa4' type='boolean' value='true'/>
-    <property name='msa3' type='boolean' value='true'/>
-    <property name='msa2' type='boolean' value='true'/>
-    <property name='msa1' type='boolean' value='true'/>
-    <property name='sthyi' type='boolean' value='true'/>
-    <property name='edat' type='boolean' value='true'/>
-    <property name='ri' type='boolean' value='true'/>
-    <property name='edat2' type='boolean' value='true'/>
-    <property name='vx' type='boolean' value='true'/>
-    <property name='ipter' type='boolean' value='true'/>
-    <property name='esop' type='boolean' value='true'/>
-    <property name='cte' type='boolean' value='true'/>
-    <property name='te' type='boolean' value='true'/>
-    <property name='cmm' type='boolean' value='true'/>
+  <hostCPU type='kvm' model='z13.2-base' migratability='yes'>
+    <property name='aefsi' type='boolean' value='true' migratable='yes'/>
+    <property name='msa5' type='boolean' value='true' migratable='yes'/>
+    <property name='msa4' type='boolean' value='true' migratable='yes'/>
+    <property name='msa3' type='boolean' value='true' migratable='yes'/>
+    <property name='msa2' type='boolean' value='true' migratable='yes'/>
+    <property name='msa1' type='boolean' value='true' migratable='yes'/>
+    <property name='sthyi' type='boolean' value='true' migratable='yes'/>
+    <property name='edat' type='boolean' value='true' migratable='yes'/>
+    <property name='ri' type='boolean' value='true' migratable='yes'/>
+    <property name='edat2' type='boolean' value='true' migratable='yes'/>
+    <property name='vx' type='boolean' value='true' migratable='yes'/>
+    <property name='ipter' type='boolean' value='true' migratable='yes'/>
+    <property name='esop' type='boolean' value='true' migratable='yes'/>
+    <property name='cte' type='boolean' value='true' migratable='yes'/>
+    <property name='te' type='boolean' value='true' migratable='yes'/>
+    <property name='cmm' type='boolean' value='true' migratable='yes'/>
   </hostCPU>
   <cpu type='kvm' name='z10EC-base'/>
   <cpu type='kvm' name='z9EC-base'/>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
index 1c4177c9f4..472eaeeddd 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
@@ -139,38 +139,38 @@
   <microcodeVersion>388416</microcodeVersion>
   <package></package>
   <arch>s390x</arch>
-  <hostCPU type='kvm' model='z14-base' migratability='no'>
-    <property name='aen' type='boolean' value='true'/>
-    <property name='cmmnt' type='boolean' value='true'/>
-    <property name='aefsi' type='boolean' value='true'/>
-    <property name='mepoch' type='boolean' value='true'/>
-    <property name='msa8' type='boolean' value='true'/>
-    <property name='msa7' type='boolean' value='true'/>
-    <property name='msa6' type='boolean' value='true'/>
-    <property name='msa5' type='boolean' value='true'/>
-    <property name='msa4' type='boolean' value='true'/>
-    <property name='msa3' type='boolean' value='true'/>
-    <property name='msa2' type='boolean' value='true'/>
-    <property name='msa1' type='boolean' value='true'/>
-    <property name='sthyi' type='boolean' value='true'/>
-    <property name='edat' type='boolean' value='true'/>
-    <property name='ri' type='boolean' value='true'/>
-    <property name='edat2' type='boolean' value='true'/>
-    <property name='vx' type='boolean' value='true'/>
-    <property name='ipter' type='boolean' value='true'/>
-    <property name='mepochptff' type='boolean' value='true'/>
-    <property name='vxeh' type='boolean' value='true'/>
-    <property name='vxpd' type='boolean' value='true'/>
-    <property name='esop' type='boolean' value='true'/>
-    <property name='iep' type='boolean' value='true'/>
-    <property name='cte' type='boolean' value='true'/>
-    <property name='bpb' type='boolean' value='true'/>
-    <property name='gs' type='boolean' value='true'/>
-    <property name='ppa15' type='boolean' value='true'/>
-    <property name='zpci' type='boolean' value='true'/>
-    <property name='sea_esop2' type='boolean' value='true'/>
-    <property name='te' type='boolean' value='true'/>
-    <property name='cmm' type='boolean' value='true'/>
+  <hostCPU type='kvm' model='z14-base' migratability='yes'>
+    <property name='aen' type='boolean' value='true' migratable='yes'/>
+    <property name='cmmnt' type='boolean' value='true' migratable='yes'/>
+    <property name='aefsi' type='boolean' value='true' migratable='yes'/>
+    <property name='mepoch' type='boolean' value='true' migratable='yes'/>
+    <property name='msa8' type='boolean' value='true' migratable='yes'/>
+    <property name='msa7' type='boolean' value='true' migratable='yes'/>
+    <property name='msa6' type='boolean' value='true' migratable='yes'/>
+    <property name='msa5' type='boolean' value='true' migratable='yes'/>
+    <property name='msa4' type='boolean' value='true' migratable='yes'/>
+    <property name='msa3' type='boolean' value='true' migratable='yes'/>
+    <property name='msa2' type='boolean' value='true' migratable='yes'/>
+    <property name='msa1' type='boolean' value='true' migratable='yes'/>
+    <property name='sthyi' type='boolean' value='true' migratable='yes'/>
+    <property name='edat' type='boolean' value='true' migratable='yes'/>
+    <property name='ri' type='boolean' value='true' migratable='yes'/>
+    <property name='edat2' type='boolean' value='true' migratable='yes'/>
+    <property name='vx' type='boolean' value='true' migratable='yes'/>
+    <property name='ipter' type='boolean' value='true' migratable='yes'/>
+    <property name='mepochptff' type='boolean' value='true' migratable='yes'/>
+    <property name='vxeh' type='boolean' value='true' migratable='yes'/>
+    <property name='vxpd' type='boolean' value='true' migratable='yes'/>
+    <property name='esop' type='boolean' value='true' migratable='yes'/>
+    <property name='iep' type='boolean' value='true' migratable='yes'/>
+    <property name='cte' type='boolean' value='true' migratable='yes'/>
+    <property name='bpb' type='boolean' value='true' migratable='yes'/>
+    <property name='gs' type='boolean' value='true' migratable='yes'/>
+    <property name='ppa15' type='boolean' value='true' migratable='yes'/>
+    <property name='zpci' type='boolean' value='true' migratable='yes'/>
+    <property name='sea_esop2' type='boolean' value='true' migratable='yes'/>
+    <property name='te' type='boolean' value='true' migratable='yes'/>
+    <property name='cmm' type='boolean' value='true' migratable='yes'/>
   </hostCPU>
   <cpu type='kvm' name='z890.2' usable='yes'/>
   <cpu type='kvm' name='z990.4' usable='yes'/>
-- 
2.17.1




More information about the libvir-list mailing list