[libvirt] [PATCH v4 37/37] qemu_monitor: Default props to migratable when expanding cpu model

Chris Venteicher cventeic at redhat.com
Sat Nov 3 03:13:38 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 12feb034fd..845cb929a6 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 f6052ab852..9216f45f59 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 e000aac384..391bee4f06 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
@@ -118,36 +118,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 4eb8a39d94..d63f56be7d 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
@@ -125,35 +125,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 79320d5229..ea3bce232e 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
@@ -133,34 +133,34 @@
   <microcodeVersion>374287</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 b010f731a5..858bc49918 100644
--- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
@@ -108,22 +108,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 5a4371ab83..621036c914 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
@@ -112,23 +112,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 3b5f9818a5..7bb42d211c 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
@@ -135,38 +135,38 @@
   <microcodeVersion>387601</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