[libvirt PATCH 7/9] qemu: Advertise migratable attribute for CPU in domcaps

Jiri Denemark jdenemar at redhat.com
Fri Jun 5 18:31:29 UTC 2020


Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
---
 src/qemu/qemu_capabilities.c                      | 11 ++++++++++-
 tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml    |  6 +++++-
 tests/domaincapsdata/qemu_1.5.3.x86_64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml    |  6 +++++-
 tests/domaincapsdata/qemu_1.6.0.x86_64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml    |  6 +++++-
 tests/domaincapsdata/qemu_1.7.0.x86_64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml    |  6 +++++-
 tests/domaincapsdata/qemu_2.1.1.x86_64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml   |  6 +++++-
 tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml |  6 +++++-
 tests/domaincapsdata/qemu_2.10.0.aarch64.xml      |  6 +++++-
 tests/domaincapsdata/qemu_2.10.0.ppc64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.10.0.s390x.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.10.0.x86_64.xml       |  6 +++++-
 tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml   |  6 +++++-
 tests/domaincapsdata/qemu_2.11.0.s390x.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.11.0.x86_64.xml       |  6 +++++-
 tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml   |  7 ++++++-
 tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml |  6 +++++-
 tests/domaincapsdata/qemu_2.12.0.aarch64.xml      |  6 +++++-
 tests/domaincapsdata/qemu_2.12.0.ppc64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.12.0.s390x.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.12.0.x86_64.xml       |  7 ++++++-
 tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml    |  6 +++++-
 tests/domaincapsdata/qemu_2.4.0.x86_64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml    |  6 +++++-
 tests/domaincapsdata/qemu_2.5.0.x86_64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml    |  6 +++++-
 tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml  |  6 +++++-
 tests/domaincapsdata/qemu_2.6.0.aarch64.xml       |  6 +++++-
 tests/domaincapsdata/qemu_2.6.0.ppc64.xml         |  6 +++++-
 tests/domaincapsdata/qemu_2.6.0.x86_64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml    |  6 +++++-
 tests/domaincapsdata/qemu_2.7.0.s390x.xml         |  6 +++++-
 tests/domaincapsdata/qemu_2.7.0.x86_64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml    |  6 +++++-
 tests/domaincapsdata/qemu_2.8.0.s390x.xml         |  6 +++++-
 tests/domaincapsdata/qemu_2.8.0.x86_64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml    |  6 +++++-
 tests/domaincapsdata/qemu_2.9.0.ppc64.xml         |  6 +++++-
 tests/domaincapsdata/qemu_2.9.0.s390x.xml         |  6 +++++-
 tests/domaincapsdata/qemu_2.9.0.x86_64.xml        |  6 +++++-
 tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml    |  7 ++++++-
 tests/domaincapsdata/qemu_3.0.0.ppc64.xml         |  6 +++++-
 tests/domaincapsdata/qemu_3.0.0.s390x.xml         |  6 +++++-
 tests/domaincapsdata/qemu_3.0.0.x86_64.xml        |  7 ++++++-
 tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml    |  7 ++++++-
 tests/domaincapsdata/qemu_3.1.0.ppc64.xml         |  6 +++++-
 tests/domaincapsdata/qemu_3.1.0.x86_64.xml        |  7 ++++++-
 tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml    |  7 ++++++-
 tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml  |  6 +++++-
 tests/domaincapsdata/qemu_4.0.0.aarch64.xml       |  6 +++++-
 tests/domaincapsdata/qemu_4.0.0.ppc64.xml         |  6 +++++-
 tests/domaincapsdata/qemu_4.0.0.s390x.xml         |  6 +++++-
 tests/domaincapsdata/qemu_4.0.0.x86_64.xml        |  7 ++++++-
 tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml    |  7 ++++++-
 tests/domaincapsdata/qemu_4.1.0.x86_64.xml        |  7 ++++++-
 tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml    |  7 ++++++-
 tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml  |  6 +++++-
 tests/domaincapsdata/qemu_4.2.0.aarch64.xml       |  6 +++++-
 tests/domaincapsdata/qemu_4.2.0.ppc64.xml         |  6 +++++-
 tests/domaincapsdata/qemu_4.2.0.s390x.xml         |  6 +++++-
 tests/domaincapsdata/qemu_4.2.0.x86_64.xml        |  7 ++++++-
 tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml    |  7 ++++++-
 tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml  |  6 +++++-
 tests/domaincapsdata/qemu_5.0.0.aarch64.xml       |  6 +++++-
 tests/domaincapsdata/qemu_5.0.0.ppc64.xml         |  6 +++++-
 tests/domaincapsdata/qemu_5.0.0.x86_64.xml        |  7 ++++++-
 tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml    |  7 ++++++-
 tests/domaincapsdata/qemu_5.1.0.x86_64.xml        |  7 ++++++-
 71 files changed, 376 insertions(+), 71 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 7a976b6bbc..bd3b26d0d9 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -5857,9 +5857,18 @@ virQEMUCapsFillDomainCPUCaps(virQEMUCapsPtr qemuCaps,
 {
     if (virQEMUCapsIsCPUModeSupported(qemuCaps, hostarch, domCaps->virttype,
                                       VIR_CPU_MODE_HOST_PASSTHROUGH,
-                                      domCaps->machine))
+                                      domCaps->machine)) {
         domCaps->cpu.hostPassthrough = true;
 
+        domCaps->cpu.hostPassthroughMigratable.report = true;
+        if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_MIGRATABLE)) {
+            VIR_DOMAIN_CAPS_ENUM_SET(domCaps->cpu.hostPassthroughMigratable,
+                                     VIR_TRISTATE_SWITCH_ON);
+        }
+        VIR_DOMAIN_CAPS_ENUM_SET(domCaps->cpu.hostPassthroughMigratable,
+                                 VIR_TRISTATE_SWITCH_OFF);
+    }
+
     if (virQEMUCapsIsCPUModeSupported(qemuCaps, hostarch, domCaps->virttype,
                                       VIR_CPU_MODE_HOST_MODEL,
                                       domCaps->machine)) {
diff --git a/tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml b/tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml
index b9b9dd0538..3ed96a3ee7 100644
--- a/tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_1.5.3.x86_64.xml b/tests/domaincapsdata/qemu_1.5.3.x86_64.xml
index c36295b3e5..20cd3a105a 100644
--- a/tests/domaincapsdata/qemu_1.5.3.x86_64.xml
+++ b/tests/domaincapsdata/qemu_1.5.3.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml
index 56ad885feb..a4b26b46cb 100644
--- a/tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_1.6.0.x86_64.xml b/tests/domaincapsdata/qemu_1.6.0.x86_64.xml
index 3d4f7f1cee..16417a13d2 100644
--- a/tests/domaincapsdata/qemu_1.6.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_1.6.0.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml
index 7a8b58bffe..559b49491e 100644
--- a/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_1.7.0.x86_64.xml b/tests/domaincapsdata/qemu_1.7.0.x86_64.xml
index c9dfb2e123..472c073de9 100644
--- a/tests/domaincapsdata/qemu_1.7.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_1.7.0.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml
index 0bf035ce58..a87f5b2a63 100644
--- a/tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.1.1.x86_64.xml b/tests/domaincapsdata/qemu_2.1.1.x86_64.xml
index 23a8509698..15adfe0ee8 100644
--- a/tests/domaincapsdata/qemu_2.1.1.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.1.1.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml
index 7033264719..be2840d9b8 100644
--- a/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Haswell-noTSX</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml
index c55ed9bea8..4505d64e3a 100644
--- a/tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml
@@ -27,7 +27,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>pxa262</model>
diff --git a/tests/domaincapsdata/qemu_2.10.0.aarch64.xml b/tests/domaincapsdata/qemu_2.10.0.aarch64.xml
index 0f710b001d..629833b745 100644
--- a/tests/domaincapsdata/qemu_2.10.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_2.10.0.aarch64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>pxa262</model>
diff --git a/tests/domaincapsdata/qemu_2.10.0.ppc64.xml b/tests/domaincapsdata/qemu_2.10.0.ppc64.xml
index 08e63d6410..863afbc0df 100644
--- a/tests/domaincapsdata/qemu_2.10.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_2.10.0.ppc64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>POWER8</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.10.0.s390x.xml b/tests/domaincapsdata/qemu_2.10.0.s390x.xml
index b41ca5158c..ce5c92edce 100644
--- a/tests/domaincapsdata/qemu_2.10.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_2.10.0.s390x.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>z14-base</model>
       <feature policy='require' name='aen'/>
diff --git a/tests/domaincapsdata/qemu_2.10.0.x86_64.xml b/tests/domaincapsdata/qemu_2.10.0.x86_64.xml
index d67badb4c2..6596016d33 100644
--- a/tests/domaincapsdata/qemu_2.10.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.10.0.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Haswell-noTSX</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml
index ae37e6a462..c2e148e0fc 100644
--- a/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_2.11.0.s390x.xml b/tests/domaincapsdata/qemu_2.11.0.s390x.xml
index ad4e6b0500..c5b48fdad5 100644
--- a/tests/domaincapsdata/qemu_2.11.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_2.11.0.s390x.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>z14-base</model>
       <feature policy='require' name='aen'/>
diff --git a/tests/domaincapsdata/qemu_2.11.0.x86_64.xml b/tests/domaincapsdata/qemu_2.11.0.x86_64.xml
index fa9c6487b0..38b6b20f77 100644
--- a/tests/domaincapsdata/qemu_2.11.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.11.0.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml
index 164427683e..8d38d33369 100644
--- a/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml
@@ -29,7 +29,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Haswell-noTSX</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml
index 6504b74fa6..8ea58bfa25 100644
--- a/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml
@@ -27,7 +27,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>pxa262</model>
diff --git a/tests/domaincapsdata/qemu_2.12.0.aarch64.xml b/tests/domaincapsdata/qemu_2.12.0.aarch64.xml
index 2c429fdcca..667516e75e 100644
--- a/tests/domaincapsdata/qemu_2.12.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_2.12.0.aarch64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>pxa262</model>
diff --git a/tests/domaincapsdata/qemu_2.12.0.ppc64.xml b/tests/domaincapsdata/qemu_2.12.0.ppc64.xml
index fb3f4b7c80..eac3e6a868 100644
--- a/tests/domaincapsdata/qemu_2.12.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_2.12.0.ppc64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>POWER8</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.12.0.s390x.xml b/tests/domaincapsdata/qemu_2.12.0.s390x.xml
index 9736d6a42d..01cc3d81ec 100644
--- a/tests/domaincapsdata/qemu_2.12.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_2.12.0.s390x.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>z14-base</model>
       <feature policy='require' name='aen'/>
diff --git a/tests/domaincapsdata/qemu_2.12.0.x86_64.xml b/tests/domaincapsdata/qemu_2.12.0.x86_64.xml
index 2a0dffaf0f..6e006a3ba3 100644
--- a/tests/domaincapsdata/qemu_2.12.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.12.0.x86_64.xml
@@ -28,7 +28,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Haswell-noTSX</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml
index 110bfcbdbd..23e103927e 100644
--- a/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.4.0.x86_64.xml b/tests/domaincapsdata/qemu_2.4.0.x86_64.xml
index 5a6fa78201..7c6d78e510 100644
--- a/tests/domaincapsdata/qemu_2.4.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.4.0.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml
index 399ac43dc3..bb8bd9c5c5 100644
--- a/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.5.0.x86_64.xml b/tests/domaincapsdata/qemu_2.5.0.x86_64.xml
index 23a83311c6..a89990a42e 100644
--- a/tests/domaincapsdata/qemu_2.5.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.5.0.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml
index a0b27929b0..251696a161 100644
--- a/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml
index 5a93c0c153..95053e9cbe 100644
--- a/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml
@@ -27,7 +27,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>pxa262</model>
diff --git a/tests/domaincapsdata/qemu_2.6.0.aarch64.xml b/tests/domaincapsdata/qemu_2.6.0.aarch64.xml
index fe3c5db30e..223e944c8a 100644
--- a/tests/domaincapsdata/qemu_2.6.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_2.6.0.aarch64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>pxa262</model>
diff --git a/tests/domaincapsdata/qemu_2.6.0.ppc64.xml b/tests/domaincapsdata/qemu_2.6.0.ppc64.xml
index c69b4dcae6..c97f232028 100644
--- a/tests/domaincapsdata/qemu_2.6.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_2.6.0.ppc64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>POWER8</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.6.0.x86_64.xml b/tests/domaincapsdata/qemu_2.6.0.x86_64.xml
index 889b935ac8..f95f8fb46a 100644
--- a/tests/domaincapsdata/qemu_2.6.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.6.0.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml
index fd6762f28c..1e6c47f2d6 100644
--- a/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.7.0.s390x.xml b/tests/domaincapsdata/qemu_2.7.0.s390x.xml
index b19a4c9fed..ff3dd4939b 100644
--- a/tests/domaincapsdata/qemu_2.7.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_2.7.0.s390x.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='no'/>
   </cpu>
diff --git a/tests/domaincapsdata/qemu_2.7.0.x86_64.xml b/tests/domaincapsdata/qemu_2.7.0.x86_64.xml
index 0625244885..da1b10c41b 100644
--- a/tests/domaincapsdata/qemu_2.7.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.7.0.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml
index 0bf92eeb39..0a7493d86d 100644
--- a/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.8.0.s390x.xml b/tests/domaincapsdata/qemu_2.8.0.s390x.xml
index 30d2f7ff1f..47b1aa46f7 100644
--- a/tests/domaincapsdata/qemu_2.8.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_2.8.0.s390x.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>zEC12.2-base</model>
       <feature policy='require' name='aefsi'/>
diff --git a/tests/domaincapsdata/qemu_2.8.0.x86_64.xml b/tests/domaincapsdata/qemu_2.8.0.x86_64.xml
index 3a9dc24c3d..6fa754c18a 100644
--- a/tests/domaincapsdata/qemu_2.8.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.8.0.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>Broadwell</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml
index 60a0b76cf1..3df3c3738e 100644
--- a/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml
@@ -29,7 +29,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_2.9.0.ppc64.xml b/tests/domaincapsdata/qemu_2.9.0.ppc64.xml
index 4b86abbb8f..3776b6ed9c 100644
--- a/tests/domaincapsdata/qemu_2.9.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_2.9.0.ppc64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>POWER8</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_2.9.0.s390x.xml b/tests/domaincapsdata/qemu_2.9.0.s390x.xml
index 2476e95181..cf7e7781cc 100644
--- a/tests/domaincapsdata/qemu_2.9.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_2.9.0.s390x.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>z13.2-base</model>
       <feature policy='require' name='aefsi'/>
diff --git a/tests/domaincapsdata/qemu_2.9.0.x86_64.xml b/tests/domaincapsdata/qemu_2.9.0.x86_64.xml
index c98cf1045b..a80ef28488 100644
--- a/tests/domaincapsdata/qemu_2.9.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.9.0.x86_64.xml
@@ -28,7 +28,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml
index acff9a1310..cd37906bc7 100644
--- a/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml
@@ -29,7 +29,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_3.0.0.ppc64.xml b/tests/domaincapsdata/qemu_3.0.0.ppc64.xml
index 3fdc6e0f1e..1b8ddd4ed0 100644
--- a/tests/domaincapsdata/qemu_3.0.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_3.0.0.ppc64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>POWER8</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_3.0.0.s390x.xml b/tests/domaincapsdata/qemu_3.0.0.s390x.xml
index a297bf9ef1..7a4e536fb5 100644
--- a/tests/domaincapsdata/qemu_3.0.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_3.0.0.s390x.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>z14-base</model>
       <feature policy='require' name='aen'/>
diff --git a/tests/domaincapsdata/qemu_3.0.0.x86_64.xml b/tests/domaincapsdata/qemu_3.0.0.x86_64.xml
index a51eb46d15..9fa4224760 100644
--- a/tests/domaincapsdata/qemu_3.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_3.0.0.x86_64.xml
@@ -28,7 +28,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml
index 6d11d0303f..82b1b6a095 100644
--- a/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml
@@ -29,7 +29,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_3.1.0.ppc64.xml b/tests/domaincapsdata/qemu_3.1.0.ppc64.xml
index 3136a00662..6a2bc87947 100644
--- a/tests/domaincapsdata/qemu_3.1.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_3.1.0.ppc64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>POWER8</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_3.1.0.x86_64.xml b/tests/domaincapsdata/qemu_3.1.0.x86_64.xml
index 9fe7605272..ffc82f17c3 100644
--- a/tests/domaincapsdata/qemu_3.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_3.1.0.x86_64.xml
@@ -28,7 +28,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml
index 8e991f672b..c837de966f 100644
--- a/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml
@@ -29,7 +29,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml
index 0821b8ef9f..f5347aba9f 100644
--- a/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml
@@ -27,7 +27,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>pxa262</model>
diff --git a/tests/domaincapsdata/qemu_4.0.0.aarch64.xml b/tests/domaincapsdata/qemu_4.0.0.aarch64.xml
index 5d5af1b87c..b879d7553c 100644
--- a/tests/domaincapsdata/qemu_4.0.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_4.0.0.aarch64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>pxa262</model>
diff --git a/tests/domaincapsdata/qemu_4.0.0.ppc64.xml b/tests/domaincapsdata/qemu_4.0.0.ppc64.xml
index b56d5fb6dc..0642753f11 100644
--- a/tests/domaincapsdata/qemu_4.0.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_4.0.0.ppc64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>POWER8</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_4.0.0.s390x.xml b/tests/domaincapsdata/qemu_4.0.0.s390x.xml
index 21ddd27cb9..632c26d689 100644
--- a/tests/domaincapsdata/qemu_4.0.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_4.0.0.s390x.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>z14.2-base</model>
       <feature policy='require' name='aen'/>
diff --git a/tests/domaincapsdata/qemu_4.0.0.x86_64.xml b/tests/domaincapsdata/qemu_4.0.0.x86_64.xml
index 27d8023d38..3f64bd4b66 100644
--- a/tests/domaincapsdata/qemu_4.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.0.0.x86_64.xml
@@ -28,7 +28,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml
index f4ddb66e38..8bf41d6b49 100644
--- a/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml
@@ -29,7 +29,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_4.1.0.x86_64.xml b/tests/domaincapsdata/qemu_4.1.0.x86_64.xml
index bcc8bbcc7a..5010f879a6 100644
--- a/tests/domaincapsdata/qemu_4.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.1.0.x86_64.xml
@@ -28,7 +28,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
index fcb0505da0..6f72b67f68 100644
--- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
@@ -29,7 +29,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml
index 908406bf11..ef57216562 100644
--- a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml
@@ -27,7 +27,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>pxa262</model>
diff --git a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml
index c66550cec5..3cf2a6faf1 100644
--- a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>pxa262</model>
diff --git a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml
index 7906482eee..0f2cf6da64 100644
--- a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>POWER8</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_4.2.0.s390x.xml b/tests/domaincapsdata/qemu_4.2.0.s390x.xml
index 6b87e450a2..ecd037438a 100644
--- a/tests/domaincapsdata/qemu_4.2.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.s390x.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>gen15a-base</model>
       <feature policy='require' name='aen'/>
diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
index e22ef8e032..f4a8321637 100644
--- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
@@ -28,7 +28,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
index fa945fc002..fc21b2ad62 100644
--- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
@@ -29,7 +29,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml
index 7153a0b80d..b2b37c0f7b 100644
--- a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml
@@ -27,7 +27,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>cortex-a9</model>
diff --git a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml b/tests/domaincapsdata/qemu_5.0.0.aarch64.xml
index a3e20cc3d8..7377a2c4cf 100644
--- a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0.aarch64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='no'/>
     <mode name='custom' supported='yes'>
       <model usable='unknown'>cortex-a9</model>
diff --git a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml b/tests/domaincapsdata/qemu_5.0.0.ppc64.xml
index 697c448dfe..9693aeb72e 100644
--- a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0.ppc64.xml
@@ -25,7 +25,11 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='allow'>POWER8</model>
     </mode>
diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
index fbde7a6ba2..aceca34c43 100644
--- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
@@ -28,7 +28,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>Skylake-Client-IBRS</model>
       <vendor>Intel</vendor>
diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
index 996461fb0f..d0917652e1 100644
--- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
@@ -29,7 +29,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>EPYC-IBPB</model>
       <vendor>AMD</vendor>
diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
index e95fcec8bc..f33066759d 100644
--- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
@@ -28,7 +28,12 @@
     </loader>
   </os>
   <cpu>
-    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
     <mode name='host-model' supported='yes'>
       <model fallback='forbid'>EPYC-IBPB</model>
       <vendor>AMD</vendor>
-- 
2.27.0




More information about the libvir-list mailing list