[libvirt] [PATCH 2/7] conf: Add MKTME feature in domain capabilities

Larkins Carvalho larkins.l.carvalho at intel.com
Fri May 17 23:55:47 UTC 2019


Expose mktme capability info to hypervisor. If mktme is supported,
support launching of encrypted VM on Intel platform.

Also, save the copy of mktme info into qemuCaps cache.
---
 docs/formatdomaincaps.html.in                 |   20 +
 docs/schemas/domaincaps.rng                   |   14 +
 src/conf/domain_capabilities.c                |   20 +
 src/conf/domain_capabilities.h                |    1 +
 src/qemu/qemu_capabilities.c                  |  104 +-
 .../bhyve_basic.x86_64.xml                    |    1 +
 .../bhyve_fbuf.x86_64.xml                     |    1 +
 .../bhyve_uefi.x86_64.xml                     |    1 +
 tests/domaincapsschemadata/empty.xml          |    1 +
 tests/domaincapsschemadata/libxl-xenfv.xml    |    1 +
 tests/domaincapsschemadata/libxl-xenpv.xml    |    1 +
 .../qemu_1.7.0.x86_64.xml                     |    1 +
 .../qemu_2.12.0-virt.aarch64.xml              |    1 +
 .../qemu_2.12.0.ppc64.xml                     |    1 +
 .../qemu_2.12.0.s390x.xml                     |    1 +
 .../qemu_2.12.0.x86_64.xml                    |    1 +
 .../qemu_2.6.0-virt.aarch64.xml               |    1 +
 .../qemu_2.6.0.aarch64.xml                    |    1 +
 .../domaincapsschemadata/qemu_2.6.0.ppc64.xml |    1 +
 .../qemu_2.6.0.x86_64.xml                     |    1 +
 .../domaincapsschemadata/qemu_2.7.0.s390x.xml |    1 +
 .../qemu_2.8.0-tcg.x86_64.xml                 |    1 +
 .../domaincapsschemadata/qemu_2.8.0.s390x.xml |    1 +
 .../qemu_2.8.0.x86_64.xml                     |    1 +
 .../qemu_2.9.0-q35.x86_64.xml                 |    1 +
 .../qemu_2.9.0-tcg.x86_64.xml                 |    1 +
 .../qemu_2.9.0.x86_64.xml                     |    1 +
 .../domaincapsschemadata/qemu_3.0.0.s390x.xml |    1 +
 .../qemu_3.1.0.x86_64.xml                     |    1 +
 .../domaincapsschemadata/qemu_4.0.0.s390x.xml |    1 +
 .../qemu_4.0.0.x86_64.xml                     |    1 +
 .../qemu_5.3.0.x86_64.xml                     |  164 ++
 tests/domaincapstest.c                        |    5 +
 .../caps_5.3.0.x86_64.xml                     | 1377 +++++++++++++++++
 34 files changed, 1730 insertions(+), 1 deletion(-)
 create mode 100644 tests/domaincapsschemadata/qemu_5.3.0.x86_64.xml
 create mode 100644 tests/qemucapabilitiesdata/caps_5.3.0.x86_64.xml

diff --git a/docs/formatdomaincaps.html.in b/docs/formatdomaincaps.html.in
index b31b1729f4..3da31b3a52 100644
--- a/docs/formatdomaincaps.html.in
+++ b/docs/formatdomaincaps.html.in
@@ -530,5 +530,25 @@
       address space. The number of bits we lose is hypervisor dependent.</dd>
     </dl>
 
+    <h4><a id="elementsMKTME">MKTME capabilities</a></h4>
+
+    <p>
+    Intel Multi-key Total Memory Encryption (MKTME) capabilities are exposed under
+    the <code>mktme</code> element.
+    Total Memory Encryption (TME) – provides the capability to encrypt the entirety
+    of the physical memory of a system. MKTME builds on TME and adds support for
+    multiple encryption keys.
+    </p>
+
+    <p>
+    For more details on MKTME feature see:
+        <a href="https://software.intel.com/sites/default/files/managed/a5/16/Multi-Key-Total-Memory-Encryption-Spec.pdf">MKTME spec</a>
+    </p>
+
+    <dl>
+      <dt><code>keys_supported</code></dt>
+      <dd>When mktme is enabled, platform provides information about the total number of keys supported</dd>
+    </dl>
+
   </body>
 </html>
diff --git a/docs/schemas/domaincaps.rng b/docs/schemas/domaincaps.rng
index e629d6431f..a399e4348f 100644
--- a/docs/schemas/domaincaps.rng
+++ b/docs/schemas/domaincaps.rng
@@ -200,6 +200,9 @@
       <optional>
         <ref name='sev'/>
       </optional>
+      <optional>
+        <ref name='mktme'/>
+      </optional>
     </element>
   </define>
 
@@ -236,6 +239,17 @@
     </element>
   </define>
 
+  <define name='mktme'>
+    <element name='mktme'>
+      <ref name='supported'/>
+      <optional>
+        <element name='keys_supported'>
+          <data type='unsignedInt'/>
+        </element>
+      </optional>
+    </element>
+  </define>
+
   <define name='value'>
     <zeroOrMore>
       <element name='value'>
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index db39c39120..c150a9facc 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -99,6 +99,7 @@ virDomainCapsDispose(void *obj)
     virObjectUnref(caps->cpu.custom);
     virCPUDefFree(caps->cpu.hostModel);
     virSEVCapabilitiesFree(caps->sev);
+    virMKTMECapabilitiesFree(caps->mktme);
 
     virDomainCapsStringValuesFree(&caps->os.loader.values);
 }
@@ -604,6 +605,24 @@ virDomainCapsFeatureSEVFormat(virBufferPtr buf,
 }
 
 
+static void
+virDomainCapsFeatureMKTMEFormat(virBufferPtr buf,
+                                virMKTMECapabilityPtr const mktme)
+{
+    if (!mktme) {
+        virBufferAddLit(buf, "<mktme supported='no'/>\n");
+    } else {
+        virBufferAddLit(buf, "<mktme supported='yes'>\n");
+        virBufferAdjustIndent(buf, 2);
+        virBufferAsprintf(buf, "<keys_supported>%d</keys_supported>\n", mktme->keys_supported);
+        virBufferAdjustIndent(buf, -2);
+        virBufferAddLit(buf, "</mktme>\n");
+    }
+
+    return;
+}
+
+
 char *
 virDomainCapsFormat(virDomainCapsPtr const caps)
 {
@@ -646,6 +665,7 @@ virDomainCapsFormat(virDomainCapsPtr const caps)
     FORMAT_SINGLE("vmcoreinfo", caps->vmcoreinfo);
     FORMAT_SINGLE("genid", caps->genid);
     virDomainCapsFeatureSEVFormat(&buf, caps->sev);
+    virDomainCapsFeatureMKTMEFormat(&buf, caps->mktme);
 
     virBufferAdjustIndent(&buf, -2);
     virBufferAddLit(&buf, "</features>\n");
diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h
index a6ad849950..6803a5ca0b 100644
--- a/src/conf/domain_capabilities.h
+++ b/src/conf/domain_capabilities.h
@@ -180,6 +180,7 @@ struct _virDomainCaps {
     virTristateBool vmcoreinfo;
     virTristateBool genid;
     virSEVCapabilityPtr sev;
+    virMKTMECapabilityPtr mktme;
     /* add new domain features here */
 };
 
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 49ee802479..54b648be4f 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1549,6 +1549,22 @@ virQEMUCapsSEVInfoCopy(virSEVCapabilityPtr *dst,
 }
 
 
+static int
+virQEMUCapsMKTMEInfoCopy(virMKTMECapabilityPtr *dst,
+                         virMKTMECapabilityPtr src)
+{
+    VIR_AUTOPTR(virMKTMECapability) tmp = NULL;
+
+    if (VIR_ALLOC(tmp) < 0)
+        return -1;
+
+    tmp->keys_supported = src->keys_supported;
+
+    VIR_STEAL_PTR(*dst, tmp);
+    return 0;
+}
+
+
 virQEMUCapsPtr virQEMUCapsNewCopy(virQEMUCapsPtr qemuCaps)
 {
     virQEMUCapsPtr ret = virQEMUCapsNew();
@@ -1619,6 +1635,11 @@ virQEMUCapsPtr virQEMUCapsNewCopy(virQEMUCapsPtr qemuCaps)
                                qemuCaps->sevCapabilities) < 0)
         goto error;
 
+    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_MKTME_GUEST) &&
+        virQEMUCapsMKTMEInfoCopy(&ret->mktmeCapabilities,
+                                 qemuCaps->mktmeCapabilities) < 0)
+        goto error;
+
     return ret;
 
  error:
@@ -3474,6 +3495,36 @@ virQEMUCapsParseSEVInfo(virQEMUCapsPtr qemuCaps, xmlXPathContextPtr ctxt)
 }
 
 
+static int
+virQEMUCapsParseMKTMEInfo(virQEMUCapsPtr qemuCaps, xmlXPathContextPtr ctxt)
+{
+    VIR_AUTOPTR(virMKTMECapability) mktme = NULL;
+
+    if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_MKTME_GUEST))
+        return 0;
+
+    if (virXPathBoolean("boolean(./mktme)", ctxt) == 0) {
+        virReportError(VIR_ERR_XML_ERROR, "%s",
+            _("missing MKTME platform data in QEMU "
+                "capabilities cache"));
+        return -1;
+    }
+
+    if (VIR_ALLOC(mktme) < 0)
+        return -1;
+
+    if (virXPathUInt("string(./mktme/keys_supported)", ctxt, &mktme->keys_supported) < 0) {
+        virReportError(VIR_ERR_XML_ERROR, "%s",
+            _("missing or malformed MKTME keys_supported information "
+                "in QEMU capabilities cache"));
+        return -1;
+    }
+
+    VIR_STEAL_PTR(qemuCaps->mktmeCapabilities, mktme);
+    return 0;
+}
+
+
 /*
  * Parsing a doc that looks like
  *
@@ -3726,6 +3777,9 @@ virQEMUCapsLoadCache(virArch hostArch,
     if (virQEMUCapsParseSEVInfo(qemuCaps, ctxt) < 0)
         goto cleanup;
 
+    if (virQEMUCapsParseMKTMEInfo(qemuCaps, ctxt) < 0)
+        goto cleanup;
+
     virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_KVM);
     virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_QEMU);
 
@@ -3863,6 +3917,19 @@ virQEMUCapsFormatSEVInfo(virQEMUCapsPtr qemuCaps, virBufferPtr buf)
 }
 
 
+static void
+virQEMUCapsFormatMKTMEInfo(virQEMUCapsPtr qemuCaps, virBufferPtr buf)
+{
+    virMKTMECapabilityPtr mktme = virQEMUCapsGetMKTMECapabilities(qemuCaps);
+
+    virBufferAddLit(buf, "<mktme>\n");
+    virBufferAdjustIndent(buf, 2);
+    virBufferAsprintf(buf, "<keys_supported>%u</keys_supported>\n", mktme->keys_supported);
+    virBufferAdjustIndent(buf, -2);
+    virBufferAddLit(buf, "</mktme>\n");
+}
+
+
 char *
 virQEMUCapsFormatCache(virQEMUCapsPtr qemuCaps)
 {
@@ -3947,6 +4014,9 @@ virQEMUCapsFormatCache(virQEMUCapsPtr qemuCaps)
     if (qemuCaps->sevCapabilities)
         virQEMUCapsFormatSEVInfo(qemuCaps, &buf);
 
+    if (qemuCaps->mktmeCapabilities)
+        virQEMUCapsFormatMKTMEInfo(qemuCaps, &buf);
+
     if (qemuCaps->kvmSupportsNesting)
         virBufferAddLit(&buf, "<kvmSupportsNesting/>\n");
 
@@ -5406,6 +5476,37 @@ virQEMUCapsFillDomainFeatureSEVCaps(virQEMUCapsPtr qemuCaps,
 }
 
 
+/**
+* virQEMUCapsFillDomainFeatureMKTMECaps:
+* @qemuCaps: QEMU capabilities
+* @domCaps: domain capabilities
+*
+* Take the information about MKTME capabilities that has been obtained
+* using the 'query-mktme-capabilities' QMP command and stored in @qemuCaps
+* and convert it to a form suitable for @domCaps.
+*
+* Returns: 0 on success, -1 on failure
+*/
+static int
+virQEMUCapsFillDomainFeatureMKTMECaps(virQEMUCapsPtr qemuCaps,
+                                      virDomainCapsPtr domCaps)
+{
+    virMKTMECapability *cap = qemuCaps->mktmeCapabilities;
+    VIR_AUTOPTR(virMKTMECapability) mktme = NULL;
+
+    if (!cap)
+        return 0;
+
+    if (VIR_ALLOC(mktme) < 0)
+        return -1;
+
+    mktme->keys_supported = cap->keys_supported;
+    VIR_STEAL_PTR(domCaps->mktme, mktme);
+
+    return 0;
+}
+
+
 int
 virQEMUCapsFillDomainCaps(virCapsPtr caps,
                           virDomainCapsPtr domCaps,
@@ -5450,7 +5551,8 @@ virQEMUCapsFillDomainCaps(virCapsPtr caps,
         virQEMUCapsFillDomainDeviceVideoCaps(qemuCaps, video) < 0 ||
         virQEMUCapsFillDomainDeviceHostdevCaps(qemuCaps, hostdev) < 0 ||
         virQEMUCapsFillDomainFeatureGICCaps(qemuCaps, domCaps) < 0 ||
-        virQEMUCapsFillDomainFeatureSEVCaps(qemuCaps, domCaps) < 0)
+        virQEMUCapsFillDomainFeatureSEVCaps(qemuCaps, domCaps) < 0 ||
+        virQEMUCapsFillDomainFeatureMKTMECaps(qemuCaps, domCaps) < 0)
         return -1;
 
     return 0;
diff --git a/tests/domaincapsschemadata/bhyve_basic.x86_64.xml b/tests/domaincapsschemadata/bhyve_basic.x86_64.xml
index bdf2c4eee8..8db3340b38 100644
--- a/tests/domaincapsschemadata/bhyve_basic.x86_64.xml
+++ b/tests/domaincapsschemadata/bhyve_basic.x86_64.xml
@@ -32,5 +32,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/bhyve_fbuf.x86_64.xml b/tests/domaincapsschemadata/bhyve_fbuf.x86_64.xml
index f998c457c1..397c7c7ae2 100644
--- a/tests/domaincapsschemadata/bhyve_fbuf.x86_64.xml
+++ b/tests/domaincapsschemadata/bhyve_fbuf.x86_64.xml
@@ -49,5 +49,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/bhyve_uefi.x86_64.xml b/tests/domaincapsschemadata/bhyve_uefi.x86_64.xml
index 18f90023d5..f5c2c67fd8 100644
--- a/tests/domaincapsschemadata/bhyve_uefi.x86_64.xml
+++ b/tests/domaincapsschemadata/bhyve_uefi.x86_64.xml
@@ -41,5 +41,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/empty.xml b/tests/domaincapsschemadata/empty.xml
index 6c3f5f54fd..2ebefe8a05 100644
--- a/tests/domaincapsschemadata/empty.xml
+++ b/tests/domaincapsschemadata/empty.xml
@@ -12,5 +12,6 @@
   </devices>
   <features>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/libxl-xenfv.xml b/tests/domaincapsschemadata/libxl-xenfv.xml
index 4efc137c97..09c04374b9 100644
--- a/tests/domaincapsschemadata/libxl-xenfv.xml
+++ b/tests/domaincapsschemadata/libxl-xenfv.xml
@@ -75,5 +75,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/libxl-xenpv.xml b/tests/domaincapsschemadata/libxl-xenpv.xml
index 70e598fe9e..aac2a2cba6 100644
--- a/tests/domaincapsschemadata/libxl-xenpv.xml
+++ b/tests/domaincapsschemadata/libxl-xenpv.xml
@@ -65,5 +65,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_1.7.0.x86_64.xml b/tests/domaincapsschemadata/qemu_1.7.0.x86_64.xml
index 06908cc61e..8e55093e39 100644
--- a/tests/domaincapsschemadata/qemu_1.7.0.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_1.7.0.x86_64.xml
@@ -122,5 +122,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.12.0-virt.aarch64.xml b/tests/domaincapsschemadata/qemu_2.12.0-virt.aarch64.xml
index 5983a60887..ff0d410846 100644
--- a/tests/domaincapsschemadata/qemu_2.12.0-virt.aarch64.xml
+++ b/tests/domaincapsschemadata/qemu_2.12.0-virt.aarch64.xml
@@ -130,5 +130,6 @@
     <vmcoreinfo supported='yes'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.12.0.ppc64.xml b/tests/domaincapsschemadata/qemu_2.12.0.ppc64.xml
index 42c67623f4..158827f607 100644
--- a/tests/domaincapsschemadata/qemu_2.12.0.ppc64.xml
+++ b/tests/domaincapsschemadata/qemu_2.12.0.ppc64.xml
@@ -90,5 +90,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.12.0.s390x.xml b/tests/domaincapsschemadata/qemu_2.12.0.s390x.xml
index 4804c13329..71beea4258 100644
--- a/tests/domaincapsschemadata/qemu_2.12.0.s390x.xml
+++ b/tests/domaincapsschemadata/qemu_2.12.0.s390x.xml
@@ -182,5 +182,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.12.0.x86_64.xml b/tests/domaincapsschemadata/qemu_2.12.0.x86_64.xml
index f5f54cb484..559bbdda0b 100644
--- a/tests/domaincapsschemadata/qemu_2.12.0.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_2.12.0.x86_64.xml
@@ -158,5 +158,6 @@
       <cbitpos>47</cbitpos>
       <reducedPhysBits>1</reducedPhysBits>
     </sev>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.6.0-virt.aarch64.xml b/tests/domaincapsschemadata/qemu_2.6.0-virt.aarch64.xml
index 99ee16e4bb..30f70cd80d 100644
--- a/tests/domaincapsschemadata/qemu_2.6.0-virt.aarch64.xml
+++ b/tests/domaincapsschemadata/qemu_2.6.0-virt.aarch64.xml
@@ -127,5 +127,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.6.0.aarch64.xml b/tests/domaincapsschemadata/qemu_2.6.0.aarch64.xml
index 61fdae009a..293dd3d4f5 100644
--- a/tests/domaincapsschemadata/qemu_2.6.0.aarch64.xml
+++ b/tests/domaincapsschemadata/qemu_2.6.0.aarch64.xml
@@ -121,5 +121,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.6.0.ppc64.xml b/tests/domaincapsschemadata/qemu_2.6.0.ppc64.xml
index a33960a2af..dedd4ed799 100644
--- a/tests/domaincapsschemadata/qemu_2.6.0.ppc64.xml
+++ b/tests/domaincapsschemadata/qemu_2.6.0.ppc64.xml
@@ -94,5 +94,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.6.0.x86_64.xml b/tests/domaincapsschemadata/qemu_2.6.0.x86_64.xml
index 94fe08bc92..a5fc6d46ee 100644
--- a/tests/domaincapsschemadata/qemu_2.6.0.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_2.6.0.x86_64.xml
@@ -129,5 +129,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml b/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml
index 1057573681..ea51c0aee9 100644
--- a/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml
+++ b/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml
@@ -87,5 +87,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.8.0-tcg.x86_64.xml b/tests/domaincapsschemadata/qemu_2.8.0-tcg.x86_64.xml
index 39f3bd6d9f..2505bfe316 100644
--- a/tests/domaincapsschemadata/qemu_2.8.0-tcg.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_2.8.0-tcg.x86_64.xml
@@ -130,5 +130,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml
index 9ae9a1a8bc..fa7e0d2fb5 100644
--- a/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml
+++ b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml
@@ -168,5 +168,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.8.0.x86_64.xml b/tests/domaincapsschemadata/qemu_2.8.0.x86_64.xml
index 1770c81fdb..deb8210590 100644
--- a/tests/domaincapsschemadata/qemu_2.8.0.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_2.8.0.x86_64.xml
@@ -130,5 +130,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.9.0-q35.x86_64.xml b/tests/domaincapsschemadata/qemu_2.9.0-q35.x86_64.xml
index e2ec30fda7..89d3038557 100644
--- a/tests/domaincapsschemadata/qemu_2.9.0-q35.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_2.9.0-q35.x86_64.xml
@@ -139,5 +139,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='yes'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml b/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml
index 65226ee284..9aaa3e41c8 100644
--- a/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml
@@ -162,5 +162,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='yes'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml b/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml
index 0093877a0b..0f9d1400a1 100644
--- a/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml
@@ -139,5 +139,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='yes'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_3.0.0.s390x.xml b/tests/domaincapsschemadata/qemu_3.0.0.s390x.xml
index c8efefc5ba..af2217f05b 100644
--- a/tests/domaincapsschemadata/qemu_3.0.0.s390x.xml
+++ b/tests/domaincapsschemadata/qemu_3.0.0.s390x.xml
@@ -188,5 +188,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_3.1.0.x86_64.xml b/tests/domaincapsschemadata/qemu_3.1.0.x86_64.xml
index ca3baab88c..e00c816980 100644
--- a/tests/domaincapsschemadata/qemu_3.1.0.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_3.1.0.x86_64.xml
@@ -157,5 +157,6 @@
     <vmcoreinfo supported='yes'/>
     <genid supported='yes'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_4.0.0.s390x.xml b/tests/domaincapsschemadata/qemu_4.0.0.s390x.xml
index edade48ad0..e09610572c 100644
--- a/tests/domaincapsschemadata/qemu_4.0.0.s390x.xml
+++ b/tests/domaincapsschemadata/qemu_4.0.0.s390x.xml
@@ -194,5 +194,6 @@
     <vmcoreinfo supported='no'/>
     <genid supported='no'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml b/tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml
index cba841d844..656c70133c 100644
--- a/tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml
@@ -157,5 +157,6 @@
     <vmcoreinfo supported='yes'/>
     <genid supported='yes'/>
     <sev supported='no'/>
+    <mktme supported='no'/>
   </features>
 </domainCapabilities>
diff --git a/tests/domaincapsschemadata/qemu_5.3.0.x86_64.xml b/tests/domaincapsschemadata/qemu_5.3.0.x86_64.xml
new file mode 100644
index 0000000000..5d86a249c9
--- /dev/null
+++ b/tests/domaincapsschemadata/qemu_5.3.0.x86_64.xml
@@ -0,0 +1,164 @@
+<domainCapabilities>
+  <path>/usr/bin/qemu-system-x86_64</path>
+  <domain>kvm</domain>
+  <machine>pc-i440fx-5.3</machine>
+  <arch>x86_64</arch>
+  <vcpu max='255'/>
+  <iothreads supported='yes'/>
+  <os supported='yes'>
+    <enum name='firmware'>
+      <value>bios</value>
+      <value>efi</value>
+    </enum>
+    <loader supported='yes'>
+      <value>/usr/share/AAVMF/AAVMF_CODE.fd</value>
+      <value>/usr/share/AAVMF/AAVMF32_CODE.fd</value>
+      <value>/usr/share/OVMF/OVMF_CODE.fd</value>
+      <enum name='type'>
+        <value>rom</value>
+        <value>pflash</value>
+      </enum>
+      <enum name='readonly'>
+        <value>yes</value>
+        <value>no</value>
+      </enum>
+      <enum name='secure'>
+        <value>no</value>
+      </enum>
+    </loader>
+  </os>
+  <cpu>
+    <mode name='host-passthrough' supported='yes'/>
+    <mode name='host-model' supported='yes'>
+      <model fallback='forbid'>Skylake-Client-IBRS</model>
+      <vendor>Intel</vendor>
+      <feature policy='require' name='ss'/>
+      <feature policy='require' name='vmx'/>
+      <feature policy='require' name='hypervisor'/>
+      <feature policy='require' name='tsc_adjust'/>
+      <feature policy='require' name='clflushopt'/>
+      <feature policy='require' name='umip'/>
+      <feature policy='require' name='ssbd'/>
+      <feature policy='require' name='xsaves'/>
+      <feature policy='require' name='pdpe1gb'/>
+      <feature policy='require' name='invtsc'/>
+    </mode>
+    <mode name='custom' supported='yes'>
+      <model usable='yes'>qemu64</model>
+      <model usable='yes'>qemu32</model>
+      <model usable='no'>phenom</model>
+      <model usable='yes'>pentium3</model>
+      <model usable='yes'>pentium2</model>
+      <model usable='yes'>pentium</model>
+      <model usable='yes'>n270</model>
+      <model usable='yes'>kvm64</model>
+      <model usable='yes'>kvm32</model>
+      <model usable='yes'>coreduo</model>
+      <model usable='yes'>core2duo</model>
+      <model usable='no'>athlon</model>
+      <model usable='yes'>Westmere-IBRS</model>
+      <model usable='yes'>Westmere</model>
+      <model usable='no'>Skylake-Server-IBRS</model>
+      <model usable='no'>Skylake-Server</model>
+      <model usable='yes'>Skylake-Client-IBRS</model>
+      <model usable='yes'>Skylake-Client</model>
+      <model usable='yes'>SandyBridge-IBRS</model>
+      <model usable='yes'>SandyBridge</model>
+      <model usable='yes'>Penryn</model>
+      <model usable='no'>Opteron_G5</model>
+      <model usable='no'>Opteron_G4</model>
+      <model usable='no'>Opteron_G3</model>
+      <model usable='yes'>Opteron_G2</model>
+      <model usable='yes'>Opteron_G1</model>
+      <model usable='yes'>Nehalem-IBRS</model>
+      <model usable='yes'>Nehalem</model>
+      <model usable='yes'>IvyBridge-IBRS</model>
+      <model usable='yes'>IvyBridge</model>
+      <model usable='no'>Icelake-Server</model>
+      <model usable='no'>Icelake-Client</model>
+      <model usable='yes'>Haswell-noTSX-IBRS</model>
+      <model usable='yes'>Haswell-noTSX</model>
+      <model usable='yes'>Haswell-IBRS</model>
+      <model usable='yes'>Haswell</model>
+      <model usable='no'>EPYC-IBPB</model>
+      <model usable='no'>EPYC</model>
+      <model usable='yes'>Conroe</model>
+      <model usable='no'>Cascadelake-Server</model>
+      <model usable='yes'>Broadwell-noTSX-IBRS</model>
+      <model usable='yes'>Broadwell-noTSX</model>
+      <model usable='yes'>Broadwell-IBRS</model>
+      <model usable='yes'>Broadwell</model>
+      <model usable='yes'>486</model>
+    </mode>
+  </cpu>
+  <devices>
+    <disk supported='yes'>
+      <enum name='diskDevice'>
+        <value>disk</value>
+        <value>cdrom</value>
+        <value>floppy</value>
+        <value>lun</value>
+      </enum>
+      <enum name='bus'>
+        <value>ide</value>
+        <value>fdc</value>
+        <value>scsi</value>
+        <value>virtio</value>
+        <value>usb</value>
+        <value>sata</value>
+      </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
+    </disk>
+    <graphics supported='yes'>
+      <enum name='type'>
+        <value>sdl</value>
+        <value>vnc</value>
+        <value>spice</value>
+      </enum>
+    </graphics>
+    <video supported='yes'>
+      <enum name='modelType'>
+        <value>vga</value>
+        <value>cirrus</value>
+        <value>vmvga</value>
+        <value>qxl</value>
+        <value>virtio</value>
+      </enum>
+    </video>
+    <hostdev supported='yes'>
+      <enum name='mode'>
+        <value>subsystem</value>
+      </enum>
+      <enum name='startupPolicy'>
+        <value>default</value>
+        <value>mandatory</value>
+        <value>requisite</value>
+        <value>optional</value>
+      </enum>
+      <enum name='subsysType'>
+        <value>usb</value>
+        <value>pci</value>
+        <value>scsi</value>
+      </enum>
+      <enum name='capsType'/>
+      <enum name='pciBackend'>
+        <value>default</value>
+        <value>kvm</value>
+        <value>vfio</value>
+      </enum>
+    </hostdev>
+  </devices>
+  <features>
+    <gic supported='no'/>
+    <vmcoreinfo supported='yes'/>
+    <genid supported='yes'/>
+    <sev supported='no'/>
+    <mktme supported='yes'>
+      <keys_supported>15</keys_supported>
+    </mktme>
+  </features>
+</domainCapabilities>
diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c
index 5dba1d1ba4..357b140cf8 100644
--- a/tests/domaincapstest.c
+++ b/tests/domaincapstest.c
@@ -453,6 +453,11 @@ mymain(void)
     DO_TEST_QEMU("4.0.0", "caps_4.0.0",
                  "/usr/bin/qemu-system-s390x", NULL,
                  "s390x", VIR_DOMAIN_VIRT_KVM);
+
+    DO_TEST_QEMU("5.3.0", "caps_5.3.0",
+                 "/usr/bin/qemu-system-x86_64", NULL,
+                 "x86_64", VIR_DOMAIN_VIRT_KVM);
+
     virObjectUnref(cfg);
 
     virFileWrapperClearPrefixes();
diff --git a/tests/qemucapabilitiesdata/caps_5.3.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.3.0.x86_64.xml
new file mode 100644
index 0000000000..d31f39bb24
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_5.3.0.x86_64.xml
@@ -0,0 +1,1377 @@
+<qemuCaps>
+  <qemuctime>0</qemuctime>
+  <selfctime>0</selfctime>
+  <selfvers>0</selfvers>
+  <flag name='kvm'/>
+  <flag name='no-hpet'/>
+  <flag name='spice'/>
+  <flag name='hda-duplex'/>
+  <flag name='ccid-emulated'/>
+  <flag name='ccid-passthru'/>
+  <flag name='virtio-tx-alg'/>
+  <flag name='virtio-blk-pci.ioeventfd'/>
+  <flag name='sga'/>
+  <flag name='virtio-blk-pci.event_idx'/>
+  <flag name='virtio-net-pci.event_idx'/>
+  <flag name='piix3-usb-uhci'/>
+  <flag name='piix4-usb-uhci'/>
+  <flag name='usb-ehci'/>
+  <flag name='ich9-usb-ehci1'/>
+  <flag name='vt82c686b-usb-uhci'/>
+  <flag name='pci-ohci'/>
+  <flag name='usb-redir'/>
+  <flag name='usb-hub'/>
+  <flag name='ich9-ahci'/>
+  <flag name='no-acpi'/>
+  <flag name='virtio-blk-pci.scsi'/>
+  <flag name='scsi-disk.channel'/>
+  <flag name='scsi-block'/>
+  <flag name='hda-micro'/>
+  <flag name='dump-guest-memory'/>
+  <flag name='nec-usb-xhci'/>
+  <flag name='lsi'/>
+  <flag name='virtio-scsi-pci'/>
+  <flag name='blockio'/>
+  <flag name='disable-s3'/>
+  <flag name='disable-s4'/>
+  <flag name='usb-redir.filter'/>
+  <flag name='ide-drive.wwn'/>
+  <flag name='scsi-disk.wwn'/>
+  <flag name='seccomp-sandbox'/>
+  <flag name='reboot-timeout'/>
+  <flag name='vnc'/>
+  <flag name='qxl'/>
+  <flag name='VGA'/>
+  <flag name='cirrus-vga'/>
+  <flag name='vmware-svga'/>
+  <flag name='device-video-primary'/>
+  <flag name='usb-serial'/>
+  <flag name='nbd-server'/>
+  <flag name='virtio-rng'/>
+  <flag name='rng-random'/>
+  <flag name='rng-egd'/>
+  <flag name='megasas'/>
+  <flag name='tpm-passthrough'/>
+  <flag name='tpm-tis'/>
+  <flag name='pci-bridge'/>
+  <flag name='vfio-pci'/>
+  <flag name='mem-merge'/>
+  <flag name='drive-discard'/>
+  <flag name='dmi-to-pci-bridge'/>
+  <flag name='i440fx-pci-hole64-size'/>
+  <flag name='q35-pci-hole64-size'/>
+  <flag name='usb-storage'/>
+  <flag name='usb-storage.removable'/>
+  <flag name='ich9-intel-hda'/>
+  <flag name='kvm-pit-lost-tick-policy'/>
+  <flag name='boot-strict'/>
+  <flag name='pvpanic'/>
+  <flag name='spice-file-xfer-disable'/>
+  <flag name='usb-kbd'/>
+  <flag name='msg-timestamp'/>
+  <flag name='active-commit'/>
+  <flag name='change-backing-file'/>
+  <flag name='memory-backend-ram'/>
+  <flag name='numa'/>
+  <flag name='memory-backend-file'/>
+  <flag name='usb-audio'/>
+  <flag name='rtc-reset-reinjection'/>
+  <flag name='splash-timeout'/>
+  <flag name='iothread'/>
+  <flag name='migrate-rdma'/>
+  <flag name='drive-iotune-max'/>
+  <flag name='VGA.vgamem_mb'/>
+  <flag name='vmware-svga.vgamem_mb'/>
+  <flag name='qxl.vgamem_mb'/>
+  <flag name='pc-dimm'/>
+  <flag name='machine-vmport-opt'/>
+  <flag name='aes-key-wrap'/>
+  <flag name='dea-key-wrap'/>
+  <flag name='pci-serial'/>
+  <flag name='vhost-user-multiqueue'/>
+  <flag name='migration-event'/>
+  <flag name='ioh3420'/>
+  <flag name='x3130-upstream'/>
+  <flag name='xio3130-downstream'/>
+  <flag name='rtl8139'/>
+  <flag name='e1000'/>
+  <flag name='virtio-net'/>
+  <flag name='gic-version'/>
+  <flag name='incoming-defer'/>
+  <flag name='virtio-gpu'/>
+  <flag name='virtio-gpu.virgl'/>
+  <flag name='virtio-keyboard'/>
+  <flag name='virtio-mouse'/>
+  <flag name='virtio-tablet'/>
+  <flag name='virtio-input-host'/>
+  <flag name='chardev-file-append'/>
+  <flag name='ich9-disable-s3'/>
+  <flag name='ich9-disable-s4'/>
+  <flag name='vserport-change-event'/>
+  <flag name='virtio-balloon-pci.deflate-on-oom'/>
+  <flag name='mptsas1068'/>
+  <flag name='spice-gl'/>
+  <flag name='qxl.vram64_size_mb'/>
+  <flag name='chardev-logfile'/>
+  <flag name='debug-threads'/>
+  <flag name='secret'/>
+  <flag name='pxb'/>
+  <flag name='pxb-pcie'/>
+  <flag name='nec-usb-xhci-ports'/>
+  <flag name='virtio-scsi-pci.iothread'/>
+  <flag name='name-guest'/>
+  <flag name='qxl.max_outputs'/>
+  <flag name='spice-unix'/>
+  <flag name='drive-detect-zeroes'/>
+  <flag name='tls-creds-x509'/>
+  <flag name='intel-iommu'/>
+  <flag name='smm'/>
+  <flag name='virtio-pci-disable-legacy'/>
+  <flag name='query-hotpluggable-cpus'/>
+  <flag name='virtio-net.rx_queue_size'/>
+  <flag name='virtio-vga'/>
+  <flag name='drive-iotune-max-length'/>
+  <flag name='ivshmem-plain'/>
+  <flag name='ivshmem-doorbell'/>
+  <flag name='query-qmp-schema'/>
+  <flag name='gluster.debug_level'/>
+  <flag name='vhost-scsi'/>
+  <flag name='drive-iotune-group'/>
+  <flag name='query-cpu-model-expansion'/>
+  <flag name='virtio-net.host_mtu'/>
+  <flag name='spice-rendernode'/>
+  <flag name='nvdimm'/>
+  <flag name='pcie-root-port'/>
+  <flag name='query-cpu-definitions'/>
+  <flag name='block-write-threshold'/>
+  <flag name='query-named-block-nodes'/>
+  <flag name='cpu-cache'/>
+  <flag name='qemu-xhci'/>
+  <flag name='kernel-irqchip'/>
+  <flag name='kernel-irqchip.split'/>
+  <flag name='intel-iommu.intremap'/>
+  <flag name='intel-iommu.caching-mode'/>
+  <flag name='intel-iommu.eim'/>
+  <flag name='intel-iommu.device-iotlb'/>
+  <flag name='virtio.iommu_platform'/>
+  <flag name='virtio.ats'/>
+  <flag name='loadparm'/>
+  <flag name='vnc-multi-servers'/>
+  <flag name='virtio-net.tx_queue_size'/>
+  <flag name='chardev-reconnect'/>
+  <flag name='virtio-gpu.max_outputs'/>
+  <flag name='vxhs'/>
+  <flag name='virtio-blk.num-queues'/>
+  <flag name='vmcoreinfo'/>
+  <flag name='numa.dist'/>
+  <flag name='disk-share-rw'/>
+  <flag name='iscsi.password-secret'/>
+  <flag name='isa-serial'/>
+  <flag name='dump-completed'/>
+  <flag name='qcow2-luks'/>
+  <flag name='pcie-pci-bridge'/>
+  <flag name='seccomp-blacklist'/>
+  <flag name='query-cpus-fast'/>
+  <flag name='disk-write-cache'/>
+  <flag name='nbd-tls'/>
+  <flag name='tpm-crb'/>
+  <flag name='pr-manager-helper'/>
+  <flag name='qom-list-properties'/>
+  <flag name='memory-backend-file.discard-data'/>
+  <flag name='sdl-gl'/>
+  <flag name='screendump_device'/>
+  <flag name='hda-output'/>
+  <flag name='blockdev-del'/>
+  <flag name='vmgenid'/>
+  <flag name='vhost-vsock'/>
+  <flag name='chardev-fd-pass'/>
+  <flag name='tpm-emulator'/>
+  <flag name='mch'/>
+  <flag name='mch.extended-tseg-mbytes'/>
+  <flag name='usb-storage.werror'/>
+  <flag name='egl-headless'/>
+  <flag name='vfio-pci.display'/>
+  <flag name='memory-backend-memfd'/>
+  <flag name='memory-backend-memfd.hugetlb'/>
+  <flag name='iothread.poll-max-ns'/>
+  <flag name='egl-headless.rendernode'/>
+  <flag name='memory-backend-file.align'/>
+  <flag name='memory-backend-file.pmem'/>
+  <flag name='nvdimm.unarmed'/>
+  <flag name='scsi-disk.device_id'/>
+  <flag name='virtio-pci-non-transitional'/>
+  <flag name='overcommit'/>
+  <flag name='query-current-machine'/>
+  <flag name='mktme-guest'/>
+  <version>4000000</version>
+  <kvmVersion>0</kvmVersion>
+  <microcodeVersion>43100758</microcodeVersion>
+  <package>v4.0.0</package>
+  <arch>x86_64</arch>
+  <hostCPU type='kvm' model='base' migratability='yes'>
+    <property name='phys-bits' type='number' value='0'/>
+    <property name='core-id' type='number' value='-1'/>
+    <property name='xlevel' type='number' value='2147483656'/>
+    <property name='cmov' type='boolean' value='true' migratable='yes'/>
+    <property name='ia64' type='boolean' value='false'/>
+    <property name='ssb-no' type='boolean' value='false'/>
+    <property name='aes' type='boolean' value='true' migratable='yes'/>
+    <property name='mmx' type='boolean' value='true' migratable='yes'/>
+    <property name='rdpid' type='boolean' value='false'/>
+    <property name='arat' type='boolean' value='true' migratable='yes'/>
+    <property name='gfni' type='boolean' value='false'/>
+    <property name='ibrs-all' type='boolean' value='false'/>
+    <property name='pause-filter' type='boolean' value='false'/>
+    <property name='xsavec' type='boolean' value='true' migratable='yes'/>
+    <property name='intel-pt' type='boolean' value='false'/>
+    <property name='hv-frequencies' type='boolean' value='false'/>
+    <property name='tsc-frequency' type='number' value='0'/>
+    <property name='xd' type='boolean' value='true' migratable='yes'/>
+    <property name='x-intel-pt-auto-level' type='boolean' value='true' migratable='yes'/>
+    <property name='hv-vendor-id' type='string' value=''/>
+    <property name='kvm-asyncpf' type='boolean' value='true' migratable='yes'/>
+    <property name='kvm_asyncpf' type='boolean' value='true' migratable='yes'/>
+    <property name='perfctr_core' type='boolean' value='false'/>
+    <property name='perfctr-core' type='boolean' value='false'/>
+    <property name='mpx' type='boolean' value='true' migratable='yes'/>
+    <property name='pbe' type='boolean' value='false'/>
+    <property name='decodeassists' type='boolean' value='false'/>
+    <property name='avx512cd' type='boolean' value='false'/>
+    <property name='sse4_1' type='boolean' value='true' migratable='yes'/>
+    <property name='sse4.1' type='boolean' value='true' migratable='yes'/>
+    <property name='sse4-1' type='boolean' value='true' migratable='yes'/>
+    <property name='family' type='number' value='6'/>
+    <property name='legacy-cache' type='boolean' value='true' migratable='yes'/>
+    <property name='host-phys-bits-limit' type='number' value='0'/>
+    <property name='vmware-cpuid-freq' type='boolean' value='true' migratable='yes'/>
+    <property name='wbnoinvd' type='boolean' value='false'/>
+    <property name='avx512f' type='boolean' value='false'/>
+    <property name='msr' type='boolean' value='true' migratable='yes'/>
+    <property name='mce' type='boolean' value='true' migratable='yes'/>
+    <property name='mca' type='boolean' value='true' migratable='yes'/>
+    <property name='hv-runtime' type='boolean' value='false'/>
+    <property name='xcrypt' type='boolean' value='false'/>
+    <property name='thread-id' type='number' value='-1'/>
+    <property name='min-level' type='number' value='13'/>
+    <property name='xgetbv1' type='boolean' value='true' migratable='yes'/>
+    <property name='cid' type='boolean' value='false'/>
+    <property name='hv-relaxed' type='boolean' value='false'/>
+    <property name='hv-crash' type='boolean' value='false'/>
+    <property name='ds' type='boolean' value='false'/>
+    <property name='fxsr' type='boolean' value='true' migratable='yes'/>
+    <property name='xsaveopt' type='boolean' value='true' migratable='yes'/>
+    <property name='xtpr' type='boolean' value='false'/>
+    <property name='hv-evmcs' type='boolean' value='false'/>
+    <property name='avx512vl' type='boolean' value='false'/>
+    <property name='avx512-vpopcntdq' type='boolean' value='false'/>
+    <property name='phe' type='boolean' value='false'/>
+    <property name='extapic' type='boolean' value='false'/>
+    <property name='3dnowprefetch' type='boolean' value='true' migratable='yes'/>
+    <property name='avx512vbmi2' type='boolean' value='false'/>
+    <property name='cr8legacy' type='boolean' value='false'/>
+    <property name='stibp' type='boolean' value='false'/>
+    <property name='cpuid-0xb' type='boolean' value='true' migratable='yes'/>
+    <property name='xcrypt-en' type='boolean' value='false'/>
+    <property name='kvm_pv_eoi' type='boolean' value='true' migratable='yes'/>
+    <property name='apic-id' type='number' value='4294967295'/>
+    <property name='rsba' type='boolean' value='false'/>
+    <property name='pn' type='boolean' value='false'/>
+    <property name='dca' type='boolean' value='false'/>
+    <property name='vendor' type='string' value='GenuineIntel'/>
+    <property name='hv-ipi' type='boolean' value='false'/>
+    <property name='pku' type='boolean' value='false'/>
+    <property name='smx' type='boolean' value='false'/>
+    <property name='cmp_legacy' type='boolean' value='false'/>
+    <property name='cmp-legacy' type='boolean' value='false'/>
+    <property name='node-id' type='number' value='-1'/>
+    <property name='avx512-4fmaps' type='boolean' value='false'/>
+    <property name='vmcb_clean' type='boolean' value='false'/>
+    <property name='vmcb-clean' type='boolean' value='false'/>
+    <property name='3dnowext' type='boolean' value='false'/>
+    <property name='amd-no-ssb' type='boolean' value='false'/>
+    <property name='hle' type='boolean' value='true' migratable='yes'/>
+    <property name='npt' type='boolean' value='false'/>
+    <property name='rdctl-no' type='boolean' value='false'/>
+    <property name='memory' type='string' value='/machine/unattached/system[0]'/>
+    <property name='clwb' type='boolean' value='false'/>
+    <property name='lbrv' type='boolean' value='false'/>
+    <property name='adx' type='boolean' value='true' migratable='yes'/>
+    <property name='ss' type='boolean' value='true' migratable='yes'/>
+    <property name='pni' type='boolean' value='true' migratable='yes'/>
+    <property name='svm_lock' type='boolean' value='false'/>
+    <property name='svm-lock' type='boolean' value='false'/>
+    <property name='pfthreshold' type='boolean' value='false'/>
+    <property name='smep' type='boolean' value='true' migratable='yes'/>
+    <property name='smap' type='boolean' value='true' migratable='yes'/>
+    <property name='x2apic' type='boolean' value='true' migratable='yes'/>
+    <property name='avx512vbmi' type='boolean' value='false'/>
+    <property name='avx512vnni' type='boolean' value='false'/>
+    <property name='hv-stimer' type='boolean' value='false'/>
+    <property name='x-hv-synic-kvm-only' type='boolean' value='false'/>
+    <property name='i64' type='boolean' value='true' migratable='yes'/>
+    <property name='flushbyasid' type='boolean' value='false'/>
+    <property name='f16c' type='boolean' value='true' migratable='yes'/>
+    <property name='ace2-en' type='boolean' value='false'/>
+    <property name='pat' type='boolean' value='true' migratable='yes'/>
+    <property name='pae' type='boolean' value='true' migratable='yes'/>
+    <property name='sse' type='boolean' value='true' migratable='yes'/>
+    <property name='phe-en' type='boolean' value='false'/>
+    <property name='kvm_nopiodelay' type='boolean' value='true' migratable='yes'/>
+    <property name='kvm-nopiodelay' type='boolean' value='true' migratable='yes'/>
+    <property name='tm' type='boolean' value='false'/>
+    <property name='kvmclock-stable-bit' type='boolean' value='true' migratable='yes'/>
+    <property name='hypervisor' type='boolean' value='true' migratable='yes'/>
+    <property name='socket-id' type='number' value='-1'/>
+    <property name='pcommit' type='boolean' value='false'/>
+    <property name='syscall' type='boolean' value='true' migratable='yes'/>
+    <property name='level' type='number' value='13'/>
+    <property name='avx512dq' type='boolean' value='false'/>
+    <property name='x-migrate-smi-count' type='boolean' value='true' migratable='yes'/>
+    <property name='svm' type='boolean' value='false'/>
+    <property name='full-cpuid-auto-level' type='boolean' value='true' migratable='yes'/>
+    <property name='hv-reset' type='boolean' value='false'/>
+    <property name='invtsc' type='boolean' value='true' migratable='no'/>
+    <property name='sse3' type='boolean' value='true' migratable='yes'/>
+    <property name='sse2' type='boolean' value='true' migratable='yes'/>
+    <property name='ssbd' type='boolean' value='true' migratable='yes'/>
+    <property name='est' type='boolean' value='false'/>
+    <property name='avx512ifma' type='boolean' value='false'/>
+    <property name='tm2' type='boolean' value='false'/>
+    <property name='kvm-pv-ipi' type='boolean' value='true' migratable='yes'/>
+    <property name='kvm-pv-eoi' type='boolean' value='true' migratable='yes'/>
+    <property name='cx8' type='boolean' value='true' migratable='yes'/>
+    <property name='cldemote' type='boolean' value='false'/>
+    <property name='hv-reenlightenment' type='boolean' value='false'/>
+    <property name='kvm_mmu' type='boolean' value='false'/>
+    <property name='kvm-mmu' type='boolean' value='false'/>
+    <property name='sse4_2' type='boolean' value='true' migratable='yes'/>
+    <property name='sse4.2' type='boolean' value='true' migratable='yes'/>
+    <property name='sse4-2' type='boolean' value='true' migratable='yes'/>
+    <property name='pge' type='boolean' value='true' migratable='yes'/>
+    <property name='fill-mtrr-mask' type='boolean' value='true' migratable='yes'/>
+    <property name='avx512bitalg' type='boolean' value='false'/>
+    <property name='nodeid_msr' type='boolean' value='false'/>
+    <property name='pdcm' type='boolean' value='false'/>
+    <property name='movbe' type='boolean' value='true' migratable='yes'/>
+    <property name='model' type='number' value='94'/>
+    <property name='nrip_save' type='boolean' value='false'/>
+    <property name='nrip-save' type='boolean' value='false'/>
+    <property name='kvm_pv_unhalt' type='boolean' value='true' migratable='yes'/>
+    <property name='ssse3' type='boolean' value='true' migratable='yes'/>
+    <property name='sse4a' type='boolean' value='false'/>
+    <property name='invpcid' type='boolean' value='true' migratable='yes'/>
+    <property name='pdpe1gb' type='boolean' value='true' migratable='yes'/>
+    <property name='tsc-deadline' type='boolean' value='true' migratable='yes'/>
+    <property name='skip-l1dfl-vmentry' type='boolean' value='true' migratable='yes'/>
+    <property name='fma' type='boolean' value='true' migratable='yes'/>
+    <property name='cx16' type='boolean' value='true' migratable='yes'/>
+    <property name='de' type='boolean' value='true' migratable='yes'/>
+    <property name='enforce' type='boolean' value='false'/>
+    <property name='stepping' type='number' value='3'/>
+    <property name='xsave' type='boolean' value='true' migratable='yes'/>
+    <property name='clflush' type='boolean' value='true' migratable='yes'/>
+    <property name='skinit' type='boolean' value='false'/>
+    <property name='tsc' type='boolean' value='true' migratable='yes'/>
+    <property name='tce' type='boolean' value='false'/>
+    <property name='fpu' type='boolean' value='true' migratable='yes'/>
+    <property name='ibs' type='boolean' value='false'/>
+    <property name='ds_cpl' type='boolean' value='false'/>
+    <property name='ds-cpl' type='boolean' value='false'/>
+    <property name='host-phys-bits' type='boolean' value='false'/>
+    <property name='fma4' type='boolean' value='false'/>
+    <property name='la57' type='boolean' value='false'/>
+    <property name='osvw' type='boolean' value='false'/>
+    <property name='check' type='boolean' value='true' migratable='yes'/>
+    <property name='hv-spinlocks' type='number' value='-1'/>
+    <property name='pmu' type='boolean' value='false'/>
+    <property name='pmm' type='boolean' value='false'/>
+    <property name='apic' type='boolean' value='true' migratable='yes'/>
+    <property name='spec-ctrl' type='boolean' value='true' migratable='yes'/>
+    <property name='min-xlevel2' type='number' value='0'/>
+    <property name='tsc-adjust' type='boolean' value='true' migratable='yes'/>
+    <property name='tsc_adjust' type='boolean' value='true' migratable='yes'/>
+    <property name='kvm-steal-time' type='boolean' value='true' migratable='yes'/>
+    <property name='kvm_steal_time' type='boolean' value='true' migratable='yes'/>
+    <property name='kvmclock' type='boolean' value='true' migratable='yes'/>
+    <property name='l3-cache' type='boolean' value='true' migratable='yes'/>
+    <property name='lwp' type='boolean' value='false'/>
+    <property name='amd-ssbd' type='boolean' value='false'/>
+    <property name='ibpb' type='boolean' value='false'/>
+    <property name='xop' type='boolean' value='false'/>
+    <property name='avx' type='boolean' value='true' migratable='yes'/>
+    <property name='movdiri' type='boolean' value='false'/>
+    <property name='ace2' type='boolean' value='false'/>
+    <property name='avx512bw' type='boolean' value='false'/>
+    <property name='acpi' type='boolean' value='false'/>
+    <property name='hv-vapic' type='boolean' value='false'/>
+    <property name='fsgsbase' type='boolean' value='true' migratable='yes'/>
+    <property name='ht' type='boolean' value='false'/>
+    <property name='nx' type='boolean' value='true' migratable='yes'/>
+    <property name='pclmulqdq' type='boolean' value='true' migratable='yes'/>
+    <property name='mmxext' type='boolean' value='false'/>
+    <property name='vaes' type='boolean' value='false'/>
+    <property name='popcnt' type='boolean' value='true' migratable='yes'/>
+    <property name='xsaves' type='boolean' value='true' migratable='yes'/>
+    <property name='movdir64b' type='boolean' value='false'/>
+    <property name='tcg-cpuid' type='boolean' value='true' migratable='yes'/>
+    <property name='lm' type='boolean' value='true' migratable='yes'/>
+    <property name='umip' type='boolean' value='true' migratable='yes'/>
+    <property name='pse' type='boolean' value='true' migratable='yes'/>
+    <property name='avx2' type='boolean' value='true' migratable='yes'/>
+    <property name='sep' type='boolean' value='true' migratable='yes'/>
+    <property name='pclmuldq' type='boolean' value='true' migratable='yes'/>
+    <property name='virt-ssbd' type='boolean' value='false'/>
+    <property name='x-hv-max-vps' type='number' value='-1'/>
+    <property name='nodeid-msr' type='boolean' value='false'/>
+    <property name='kvm' type='boolean' value='true' migratable='yes'/>
+    <property name='misalignsse' type='boolean' value='false'/>
+    <property name='min-xlevel' type='number' value='2147483656'/>
+    <property name='kvm-pv-unhalt' type='boolean' value='true' migratable='yes'/>
+    <property name='bmi2' type='boolean' value='true' migratable='yes'/>
+    <property name='bmi1' type='boolean' value='true' migratable='yes'/>
+    <property name='realized' type='boolean' value='false'/>
+    <property name='tsc_scale' type='boolean' value='false'/>
+    <property name='tsc-scale' type='boolean' value='false'/>
+    <property name='topoext' type='boolean' value='false'/>
+    <property name='hv-vpindex' type='boolean' value='false'/>
+    <property name='xlevel2' type='number' value='0'/>
+    <property name='clflushopt' type='boolean' value='true' migratable='yes'/>
+    <property name='kvm-no-smi-migration' type='boolean' value='false'/>
+    <property name='monitor' type='boolean' value='false'/>
+    <property name='avx512er' type='boolean' value='false'/>
+    <property name='pmm-en' type='boolean' value='false'/>
+    <property name='pcid' type='boolean' value='true' migratable='yes'/>
+    <property name='arch-capabilities' type='boolean' value='false'/>
+    <property name='3dnow' type='boolean' value='false'/>
+    <property name='erms' type='boolean' value='true' migratable='yes'/>
+    <property name='lahf-lm' type='boolean' value='true' migratable='yes'/>
+    <property name='lahf_lm' type='boolean' value='true' migratable='yes'/>
+    <property name='vpclmulqdq' type='boolean' value='false'/>
+    <property name='fxsr-opt' type='boolean' value='false'/>
+    <property name='hv-synic' type='boolean' value='false'/>
+    <property name='xstore' type='boolean' value='false'/>
+    <property name='fxsr_opt' type='boolean' value='false'/>
+    <property name='kvm-hint-dedicated' type='boolean' value='false'/>
+    <property name='rtm' type='boolean' value='true' migratable='yes'/>
+    <property name='lmce' type='boolean' value='true' migratable='yes'/>
+    <property name='hv-time' type='boolean' value='false'/>
+    <property name='perfctr-nb' type='boolean' value='false'/>
+    <property name='perfctr_nb' type='boolean' value='false'/>
+    <property name='ffxsr' type='boolean' value='false'/>
+    <property name='hv-tlbflush' type='boolean' value='false'/>
+    <property name='rdrand' type='boolean' value='true' migratable='yes'/>
+    <property name='rdseed' type='boolean' value='true' migratable='yes'/>
+    <property name='avx512-4vnniw' type='boolean' value='false'/>
+    <property name='vmx' type='boolean' value='true' migratable='yes'/>
+    <property name='vme' type='boolean' value='true' migratable='yes'/>
+    <property name='dtes64' type='boolean' value='false'/>
+    <property name='mtrr' type='boolean' value='true' migratable='yes'/>
+    <property name='rdtscp' type='boolean' value='true' migratable='yes'/>
+    <property name='pse36' type='boolean' value='true' migratable='yes'/>
+    <property name='kvm-pv-tlb-flush' type='boolean' value='true' migratable='yes'/>
+    <property name='tbm' type='boolean' value='false'/>
+    <property name='wdt' type='boolean' value='false'/>
+    <property name='pause_filter' type='boolean' value='false'/>
+    <property name='sha-ni' type='boolean' value='false'/>
+    <property name='model-id' type='string' value='Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz'/>
+    <property name='abm' type='boolean' value='true' migratable='yes'/>
+    <property name='avx512pf' type='boolean' value='false'/>
+    <property name='xstore-en' type='boolean' value='false'/>
+  </hostCPU>
+  <hostCPU type='tcg' model='base' migratability='yes'>
+    <property name='phys-bits' type='number' value='0'/>
+    <property name='core-id' type='number' value='-1'/>
+    <property name='xlevel' type='number' value='2147483658'/>
+    <property name='cmov' type='boolean' value='true' migratable='yes'/>
+    <property name='ia64' type='boolean' value='false'/>
+    <property name='ssb-no' type='boolean' value='false'/>
+    <property name='aes' type='boolean' value='true' migratable='yes'/>
+    <property name='mmx' type='boolean' value='true' migratable='yes'/>
+    <property name='rdpid' type='boolean' value='false'/>
+    <property name='arat' type='boolean' value='true' migratable='yes'/>
+    <property name='gfni' type='boolean' value='false'/>
+    <property name='ibrs-all' type='boolean' value='false'/>
+    <property name='pause-filter' type='boolean' value='false'/>
+    <property name='xsavec' type='boolean' value='false'/>
+    <property name='intel-pt' type='boolean' value='false'/>
+    <property name='hv-frequencies' type='boolean' value='false'/>
+    <property name='tsc-frequency' type='number' value='0'/>
+    <property name='xd' type='boolean' value='true' migratable='yes'/>
+    <property name='x-intel-pt-auto-level' type='boolean' value='true' migratable='yes'/>
+    <property name='hv-vendor-id' type='string' value=''/>
+    <property name='kvm-asyncpf' type='boolean' value='false'/>
+    <property name='kvm_asyncpf' type='boolean' value='false'/>
+    <property name='perfctr_core' type='boolean' value='false'/>
+    <property name='perfctr-core' type='boolean' value='false'/>
+    <property name='mpx' type='boolean' value='true' migratable='yes'/>
+    <property name='pbe' type='boolean' value='false'/>
+    <property name='decodeassists' type='boolean' value='false'/>
+    <property name='avx512cd' type='boolean' value='false'/>
+    <property name='sse4_1' type='boolean' value='true' migratable='yes'/>
+    <property name='sse4.1' type='boolean' value='true' migratable='yes'/>
+    <property name='sse4-1' type='boolean' value='true' migratable='yes'/>
+    <property name='family' type='number' value='6'/>
+    <property name='legacy-cache' type='boolean' value='true' migratable='yes'/>
+    <property name='host-phys-bits-limit' type='number' value='0'/>
+    <property name='vmware-cpuid-freq' type='boolean' value='true' migratable='yes'/>
+    <property name='wbnoinvd' type='boolean' value='false'/>
+    <property name='avx512f' type='boolean' value='false'/>
+    <property name='msr' type='boolean' value='true' migratable='yes'/>
+    <property name='mce' type='boolean' value='true' migratable='yes'/>
+    <property name='mca' type='boolean' value='true' migratable='yes'/>
+    <property name='hv-runtime' type='boolean' value='false'/>
+    <property name='xcrypt' type='boolean' value='false'/>
+    <property name='thread-id' type='number' value='-1'/>
+    <property name='min-level' type='number' value='13'/>
+    <property name='xgetbv1' type='boolean' value='true' migratable='yes'/>
+    <property name='cid' type='boolean' value='false'/>
+    <property name='hv-relaxed' type='boolean' value='false'/>
+    <property name='hv-crash' type='boolean' value='false'/>
+    <property name='ds' type='boolean' value='false'/>
+    <property name='fxsr' type='boolean' value='true' migratable='yes'/>
+    <property name='xsaveopt' type='boolean' value='true' migratable='yes'/>
+    <property name='xtpr' type='boolean' value='false'/>
+    <property name='hv-evmcs' type='boolean' value='false'/>
+    <property name='avx512vl' type='boolean' value='false'/>
+    <property name='avx512-vpopcntdq' type='boolean' value='false'/>
+    <property name='phe' type='boolean' value='false'/>
+    <property name='extapic' type='boolean' value='false'/>
+    <property name='3dnowprefetch' type='boolean' value='false'/>
+    <property name='avx512vbmi2' type='boolean' value='false'/>
+    <property name='cr8legacy' type='boolean' value='true' migratable='yes'/>
+    <property name='stibp' type='boolean' value='false'/>
+    <property name='cpuid-0xb' type='boolean' value='true' migratable='yes'/>
+    <property name='xcrypt-en' type='boolean' value='false'/>
+    <property name='kvm_pv_eoi' type='boolean' value='false'/>
+    <property name='apic-id' type='number' value='4294967295'/>
+    <property name='rsba' type='boolean' value='false'/>
+    <property name='pn' type='boolean' value='false'/>
+    <property name='dca' type='boolean' value='false'/>
+    <property name='vendor' type='string' value='AuthenticAMD'/>
+    <property name='hv-ipi' type='boolean' value='false'/>
+    <property name='pku' type='boolean' value='true' migratable='yes'/>
+    <property name='smx' type='boolean' value='false'/>
+    <property name='cmp_legacy' type='boolean' value='false'/>
+    <property name='cmp-legacy' type='boolean' value='false'/>
+    <property name='node-id' type='number' value='-1'/>
+    <property name='avx512-4fmaps' type='boolean' value='false'/>
+    <property name='vmcb_clean' type='boolean' value='false'/>
+    <property name='vmcb-clean' type='boolean' value='false'/>
+    <property name='3dnowext' type='boolean' value='true' migratable='yes'/>
+    <property name='amd-no-ssb' type='boolean' value='false'/>
+    <property name='hle' type='boolean' value='false'/>
+    <property name='npt' type='boolean' value='true' migratable='yes'/>
+    <property name='rdctl-no' type='boolean' value='false'/>
+    <property name='memory' type='string' value='/machine/unattached/system[0]'/>
+    <property name='clwb' type='boolean' value='true' migratable='yes'/>
+    <property name='lbrv' type='boolean' value='false'/>
+    <property name='adx' type='boolean' value='true' migratable='yes'/>
+    <property name='ss' type='boolean' value='true' migratable='yes'/>
+    <property name='pni' type='boolean' value='true' migratable='yes'/>
+    <property name='svm_lock' type='boolean' value='false'/>
+    <property name='svm-lock' type='boolean' value='false'/>
+    <property name='pfthreshold' type='boolean' value='false'/>
+    <property name='smep' type='boolean' value='true' migratable='yes'/>
+    <property name='smap' type='boolean' value='true' migratable='yes'/>
+    <property name='x2apic' type='boolean' value='false'/>
+    <property name='avx512vbmi' type='boolean' value='false'/>
+    <property name='avx512vnni' type='boolean' value='false'/>
+    <property name='hv-stimer' type='boolean' value='false'/>
+    <property name='x-hv-synic-kvm-only' type='boolean' value='false'/>
+    <property name='i64' type='boolean' value='true' migratable='yes'/>
+    <property name='flushbyasid' type='boolean' value='false'/>
+    <property name='f16c' type='boolean' value='false'/>
+    <property name='ace2-en' type='boolean' value='false'/>
+    <property name='pat' type='boolean' value='true' migratable='yes'/>
+    <property name='pae' type='boolean' value='true' migratable='yes'/>
+    <property name='sse' type='boolean' value='true' migratable='yes'/>
+    <property name='phe-en' type='boolean' value='false'/>
+    <property name='kvm_nopiodelay' type='boolean' value='false'/>
+    <property name='kvm-nopiodelay' type='boolean' value='false'/>
+    <property name='tm' type='boolean' value='false'/>
+    <property name='kvmclock-stable-bit' type='boolean' value='false'/>
+    <property name='hypervisor' type='boolean' value='true' migratable='yes'/>
+    <property name='socket-id' type='number' value='-1'/>
+    <property name='pcommit' type='boolean' value='true' migratable='yes'/>
+    <property name='syscall' type='boolean' value='true' migratable='yes'/>
+    <property name='level' type='number' value='13'/>
+    <property name='avx512dq' type='boolean' value='false'/>
+    <property name='x-migrate-smi-count' type='boolean' value='true' migratable='yes'/>
+    <property name='svm' type='boolean' value='true' migratable='yes'/>
+    <property name='full-cpuid-auto-level' type='boolean' value='true' migratable='yes'/>
+    <property name='hv-reset' type='boolean' value='false'/>
+    <property name='invtsc' type='boolean' value='false'/>
+    <property name='sse3' type='boolean' value='true' migratable='yes'/>
+    <property name='sse2' type='boolean' value='true' migratable='yes'/>
+    <property name='ssbd' type='boolean' value='false'/>
+    <property name='est' type='boolean' value='false'/>
+    <property name='avx512ifma' type='boolean' value='false'/>
+    <property name='tm2' type='boolean' value='false'/>
+    <property name='kvm-pv-ipi' type='boolean' value='false'/>
+    <property name='kvm-pv-eoi' type='boolean' value='false'/>
+    <property name='cx8' type='boolean' value='true' migratable='yes'/>
+    <property name='cldemote' type='boolean' value='false'/>
+    <property name='hv-reenlightenment' type='boolean' value='false'/>
+    <property name='kvm_mmu' type='boolean' value='false'/>
+    <property name='kvm-mmu' type='boolean' value='false'/>
+    <property name='sse4_2' type='boolean' value='true' migratable='yes'/>
+    <property name='sse4.2' type='boolean' value='true' migratable='yes'/>
+    <property name='sse4-2' type='boolean' value='true' migratable='yes'/>
+    <property name='pge' type='boolean' value='true' migratable='yes'/>
+    <property name='fill-mtrr-mask' type='boolean' value='true' migratable='yes'/>
+    <property name='avx512bitalg' type='boolean' value='false'/>
+    <property name='nodeid_msr' type='boolean' value='false'/>
+    <property name='pdcm' type='boolean' value='false'/>
+    <property name='movbe' type='boolean' value='true' migratable='yes'/>
+    <property name='model' type='number' value='6'/>
+    <property name='nrip_save' type='boolean' value='false'/>
+    <property name='nrip-save' type='boolean' value='false'/>
+    <property name='kvm_pv_unhalt' type='boolean' value='false'/>
+    <property name='ssse3' type='boolean' value='true' migratable='yes'/>
+    <property name='sse4a' type='boolean' value='true' migratable='yes'/>
+    <property name='invpcid' type='boolean' value='false'/>
+    <property name='pdpe1gb' type='boolean' value='true' migratable='yes'/>
+    <property name='tsc-deadline' type='boolean' value='false'/>
+    <property name='skip-l1dfl-vmentry' type='boolean' value='false'/>
+    <property name='fma' type='boolean' value='false'/>
+    <property name='cx16' type='boolean' value='true' migratable='yes'/>
+    <property name='de' type='boolean' value='true' migratable='yes'/>
+    <property name='enforce' type='boolean' value='false'/>
+    <property name='stepping' type='number' value='3'/>
+    <property name='xsave' type='boolean' value='true' migratable='yes'/>
+    <property name='clflush' type='boolean' value='true' migratable='yes'/>
+    <property name='skinit' type='boolean' value='false'/>
+    <property name='tsc' type='boolean' value='true' migratable='yes'/>
+    <property name='tce' type='boolean' value='false'/>
+    <property name='fpu' type='boolean' value='true' migratable='yes'/>
+    <property name='ibs' type='boolean' value='false'/>
+    <property name='ds_cpl' type='boolean' value='false'/>
+    <property name='ds-cpl' type='boolean' value='false'/>
+    <property name='host-phys-bits' type='boolean' value='false'/>
+    <property name='fma4' type='boolean' value='false'/>
+    <property name='la57' type='boolean' value='true' migratable='yes'/>
+    <property name='osvw' type='boolean' value='false'/>
+    <property name='check' type='boolean' value='true' migratable='yes'/>
+    <property name='hv-spinlocks' type='number' value='-1'/>
+    <property name='pmu' type='boolean' value='false'/>
+    <property name='pmm' type='boolean' value='false'/>
+    <property name='apic' type='boolean' value='true' migratable='yes'/>
+    <property name='spec-ctrl' type='boolean' value='false'/>
+    <property name='min-xlevel2' type='number' value='0'/>
+    <property name='tsc-adjust' type='boolean' value='false'/>
+    <property name='tsc_adjust' type='boolean' value='false'/>
+    <property name='kvm-steal-time' type='boolean' value='false'/>
+    <property name='kvm_steal_time' type='boolean' value='false'/>
+    <property name='kvmclock' type='boolean' value='false'/>
+    <property name='l3-cache' type='boolean' value='true' migratable='yes'/>
+    <property name='lwp' type='boolean' value='false'/>
+    <property name='amd-ssbd' type='boolean' value='false'/>
+    <property name='ibpb' type='boolean' value='false'/>
+    <property name='xop' type='boolean' value='false'/>
+    <property name='avx' type='boolean' value='false'/>
+    <property name='movdiri' type='boolean' value='false'/>
+    <property name='ace2' type='boolean' value='false'/>
+    <property name='avx512bw' type='boolean' value='false'/>
+    <property name='acpi' type='boolean' value='true' migratable='yes'/>
+    <property name='hv-vapic' type='boolean' value='false'/>
+    <property name='fsgsbase' type='boolean' value='true' migratable='yes'/>
+    <property name='ht' type='boolean' value='false'/>
+    <property name='nx' type='boolean' value='true' migratable='yes'/>
+    <property name='pclmulqdq' type='boolean' value='true' migratable='yes'/>
+    <property name='mmxext' type='boolean' value='true' migratable='yes'/>
+    <property name='vaes' type='boolean' value='false'/>
+    <property name='popcnt' type='boolean' value='true' migratable='yes'/>
+    <property name='xsaves' type='boolean' value='false'/>
+    <property name='movdir64b' type='boolean' value='false'/>
+    <property name='tcg-cpuid' type='boolean' value='true' migratable='yes'/>
+    <property name='lm' type='boolean' value='true' migratable='yes'/>
+    <property name='umip' type='boolean' value='false'/>
+    <property name='pse' type='boolean' value='true' migratable='yes'/>
+    <property name='avx2' type='boolean' value='false'/>
+    <property name='sep' type='boolean' value='true' migratable='yes'/>
+    <property name='pclmuldq' type='boolean' value='true' migratable='yes'/>
+    <property name='virt-ssbd' type='boolean' value='false'/>
+    <property name='x-hv-max-vps' type='number' value='-1'/>
+    <property name='nodeid-msr' type='boolean' value='false'/>
+    <property name='kvm' type='boolean' value='true' migratable='yes'/>
+    <property name='misalignsse' type='boolean' value='false'/>
+    <property name='min-xlevel' type='number' value='2147483658'/>
+    <property name='kvm-pv-unhalt' type='boolean' value='false'/>
+    <property name='bmi2' type='boolean' value='true' migratable='yes'/>
+    <property name='bmi1' type='boolean' value='true' migratable='yes'/>
+    <property name='realized' type='boolean' value='false'/>
+    <property name='tsc_scale' type='boolean' value='false'/>
+    <property name='tsc-scale' type='boolean' value='false'/>
+    <property name='topoext' type='boolean' value='false'/>
+    <property name='hv-vpindex' type='boolean' value='false'/>
+    <property name='xlevel2' type='number' value='0'/>
+    <property name='clflushopt' type='boolean' value='true' migratable='yes'/>
+    <property name='kvm-no-smi-migration' type='boolean' value='false'/>
+    <property name='monitor' type='boolean' value='true' migratable='yes'/>
+    <property name='avx512er' type='boolean' value='false'/>
+    <property name='pmm-en' type='boolean' value='false'/>
+    <property name='pcid' type='boolean' value='false'/>
+    <property name='arch-capabilities' type='boolean' value='false'/>
+    <property name='3dnow' type='boolean' value='true' migratable='yes'/>
+    <property name='erms' type='boolean' value='true' migratable='yes'/>
+    <property name='lahf-lm' type='boolean' value='true' migratable='yes'/>
+    <property name='lahf_lm' type='boolean' value='true' migratable='yes'/>
+    <property name='vpclmulqdq' type='boolean' value='false'/>
+    <property name='fxsr-opt' type='boolean' value='false'/>
+    <property name='hv-synic' type='boolean' value='false'/>
+    <property name='xstore' type='boolean' value='false'/>
+    <property name='fxsr_opt' type='boolean' value='false'/>
+    <property name='kvm-hint-dedicated' type='boolean' value='false'/>
+    <property name='rtm' type='boolean' value='false'/>
+    <property name='lmce' type='boolean' value='false'/>
+    <property name='hv-time' type='boolean' value='false'/>
+    <property name='perfctr-nb' type='boolean' value='false'/>
+    <property name='perfctr_nb' type='boolean' value='false'/>
+    <property name='ffxsr' type='boolean' value='false'/>
+    <property name='hv-tlbflush' type='boolean' value='false'/>
+    <property name='rdrand' type='boolean' value='false'/>
+    <property name='rdseed' type='boolean' value='false'/>
+    <property name='avx512-4vnniw' type='boolean' value='false'/>
+    <property name='vmx' type='boolean' value='false'/>
+    <property name='vme' type='boolean' value='false'/>
+    <property name='dtes64' type='boolean' value='false'/>
+    <property name='mtrr' type='boolean' value='true' migratable='yes'/>
+    <property name='rdtscp' type='boolean' value='true' migratable='yes'/>
+    <property name='pse36' type='boolean' value='true' migratable='yes'/>
+    <property name='kvm-pv-tlb-flush' type='boolean' value='false'/>
+    <property name='tbm' type='boolean' value='false'/>
+    <property name='wdt' type='boolean' value='false'/>
+    <property name='pause_filter' type='boolean' value='false'/>
+    <property name='sha-ni' type='boolean' value='false'/>
+    <property name='model-id' type='string' value='QEMU TCG CPU version 2.5+'/>
+    <property name='abm' type='boolean' value='true' migratable='yes'/>
+    <property name='avx512pf' type='boolean' value='false'/>
+    <property name='xstore-en' type='boolean' value='false'/>
+  </hostCPU>
+  <cpu type='kvm' name='max' usable='yes'/>
+  <cpu type='kvm' name='host' usable='yes'/>
+  <cpu type='kvm' name='base' usable='yes'/>
+  <cpu type='kvm' name='qemu64' usable='yes'/>
+  <cpu type='kvm' name='qemu32' usable='yes'/>
+  <cpu type='kvm' name='phenom' usable='no'>
+    <blocker name='mmxext'/>
+    <blocker name='fxsr-opt'/>
+    <blocker name='3dnowext'/>
+    <blocker name='3dnow'/>
+    <blocker name='sse4a'/>
+    <blocker name='npt'/>
+  </cpu>
+  <cpu type='kvm' name='pentium3' usable='yes'/>
+  <cpu type='kvm' name='pentium2' usable='yes'/>
+  <cpu type='kvm' name='pentium' usable='yes'/>
+  <cpu type='kvm' name='n270' usable='yes'/>
+  <cpu type='kvm' name='kvm64' usable='yes'/>
+  <cpu type='kvm' name='kvm32' usable='yes'/>
+  <cpu type='kvm' name='coreduo' usable='yes'/>
+  <cpu type='kvm' name='core2duo' usable='yes'/>
+  <cpu type='kvm' name='athlon' usable='no'>
+    <blocker name='mmxext'/>
+    <blocker name='3dnowext'/>
+    <blocker name='3dnow'/>
+  </cpu>
+  <cpu type='kvm' name='Westmere-IBRS' usable='yes'/>
+  <cpu type='kvm' name='Westmere' usable='yes'/>
+  <cpu type='kvm' name='Skylake-Server-IBRS' usable='no'>
+    <blocker name='avx512f'/>
+    <blocker name='avx512dq'/>
+    <blocker name='clwb'/>
+    <blocker name='avx512cd'/>
+    <blocker name='avx512bw'/>
+    <blocker name='avx512vl'/>
+    <blocker name='pku'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512f'/>
+    <blocker name='pku'/>
+  </cpu>
+  <cpu type='kvm' name='Skylake-Server' usable='no'>
+    <blocker name='avx512f'/>
+    <blocker name='avx512dq'/>
+    <blocker name='clwb'/>
+    <blocker name='avx512cd'/>
+    <blocker name='avx512bw'/>
+    <blocker name='avx512vl'/>
+    <blocker name='pku'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512f'/>
+    <blocker name='pku'/>
+  </cpu>
+  <cpu type='kvm' name='Skylake-Client-IBRS' usable='yes'/>
+  <cpu type='kvm' name='Skylake-Client' usable='yes'/>
+  <cpu type='kvm' name='SandyBridge-IBRS' usable='yes'/>
+  <cpu type='kvm' name='SandyBridge' usable='yes'/>
+  <cpu type='kvm' name='Penryn' usable='yes'/>
+  <cpu type='kvm' name='Opteron_G5' usable='no'>
+    <blocker name='sse4a'/>
+    <blocker name='misalignsse'/>
+    <blocker name='xop'/>
+    <blocker name='fma4'/>
+    <blocker name='tbm'/>
+    <blocker name='npt'/>
+    <blocker name='nrip-save'/>
+  </cpu>
+  <cpu type='kvm' name='Opteron_G4' usable='no'>
+    <blocker name='sse4a'/>
+    <blocker name='misalignsse'/>
+    <blocker name='xop'/>
+    <blocker name='fma4'/>
+    <blocker name='npt'/>
+    <blocker name='nrip-save'/>
+  </cpu>
+  <cpu type='kvm' name='Opteron_G3' usable='no'>
+    <blocker name='sse4a'/>
+    <blocker name='misalignsse'/>
+  </cpu>
+  <cpu type='kvm' name='Opteron_G2' usable='yes'/>
+  <cpu type='kvm' name='Opteron_G1' usable='yes'/>
+  <cpu type='kvm' name='Nehalem-IBRS' usable='yes'/>
+  <cpu type='kvm' name='Nehalem' usable='yes'/>
+  <cpu type='kvm' name='KnightsMill' usable='no'>
+    <blocker name='avx512f'/>
+    <blocker name='avx512pf'/>
+    <blocker name='avx512er'/>
+    <blocker name='avx512cd'/>
+    <blocker name='avx512-vpopcntdq'/>
+    <blocker name='avx512-4vnniw'/>
+    <blocker name='avx512-4fmaps'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512f'/>
+  </cpu>
+  <cpu type='kvm' name='IvyBridge-IBRS' usable='yes'/>
+  <cpu type='kvm' name='IvyBridge' usable='yes'/>
+  <cpu type='kvm' name='Icelake-Server' usable='no'>
+    <blocker name='avx512f'/>
+    <blocker name='avx512dq'/>
+    <blocker name='clwb'/>
+    <blocker name='avx512cd'/>
+    <blocker name='avx512bw'/>
+    <blocker name='avx512vl'/>
+    <blocker name='avx512vbmi'/>
+    <blocker name='pku'/>
+    <blocker name='avx512vbmi2'/>
+    <blocker name='gfni'/>
+    <blocker name='vaes'/>
+    <blocker name='vpclmulqdq'/>
+    <blocker name='avx512vnni'/>
+    <blocker name='avx512bitalg'/>
+    <blocker name='avx512-vpopcntdq'/>
+    <blocker name='la57'/>
+    <blocker name='wbnoinvd'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512f'/>
+    <blocker name='pku'/>
+  </cpu>
+  <cpu type='kvm' name='Icelake-Client' usable='no'>
+    <blocker name='avx512vbmi'/>
+    <blocker name='pku'/>
+    <blocker name='avx512vbmi2'/>
+    <blocker name='gfni'/>
+    <blocker name='vaes'/>
+    <blocker name='vpclmulqdq'/>
+    <blocker name='avx512vnni'/>
+    <blocker name='avx512bitalg'/>
+    <blocker name='avx512-vpopcntdq'/>
+    <blocker name='wbnoinvd'/>
+    <blocker name='pku'/>
+  </cpu>
+  <cpu type='kvm' name='Haswell-noTSX-IBRS' usable='yes'/>
+  <cpu type='kvm' name='Haswell-noTSX' usable='yes'/>
+  <cpu type='kvm' name='Haswell-IBRS' usable='yes'/>
+  <cpu type='kvm' name='Haswell' usable='yes'/>
+  <cpu type='kvm' name='EPYC-IBPB' usable='no'>
+    <blocker name='sha-ni'/>
+    <blocker name='mmxext'/>
+    <blocker name='fxsr-opt'/>
+    <blocker name='cr8legacy'/>
+    <blocker name='sse4a'/>
+    <blocker name='misalignsse'/>
+    <blocker name='osvw'/>
+    <blocker name='ibpb'/>
+    <blocker name='npt'/>
+    <blocker name='nrip-save'/>
+  </cpu>
+  <cpu type='kvm' name='EPYC' usable='no'>
+    <blocker name='sha-ni'/>
+    <blocker name='mmxext'/>
+    <blocker name='fxsr-opt'/>
+    <blocker name='cr8legacy'/>
+    <blocker name='sse4a'/>
+    <blocker name='misalignsse'/>
+    <blocker name='osvw'/>
+    <blocker name='npt'/>
+    <blocker name='nrip-save'/>
+  </cpu>
+  <cpu type='kvm' name='Conroe' usable='yes'/>
+  <cpu type='kvm' name='Cascadelake-Server' usable='no'>
+    <blocker name='avx512f'/>
+    <blocker name='avx512dq'/>
+    <blocker name='clwb'/>
+    <blocker name='avx512cd'/>
+    <blocker name='avx512bw'/>
+    <blocker name='avx512vl'/>
+    <blocker name='pku'/>
+    <blocker name='avx512vnni'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512f'/>
+    <blocker name='pku'/>
+  </cpu>
+  <cpu type='kvm' name='Broadwell-noTSX-IBRS' usable='yes'/>
+  <cpu type='kvm' name='Broadwell-noTSX' usable='yes'/>
+  <cpu type='kvm' name='Broadwell-IBRS' usable='yes'/>
+  <cpu type='kvm' name='Broadwell' usable='yes'/>
+  <cpu type='kvm' name='486' usable='yes'/>
+  <cpu type='tcg' name='max' usable='yes'/>
+  <cpu type='tcg' name='host' usable='no'>
+    <blocker name='kvm'/>
+  </cpu>
+  <cpu type='tcg' name='base' usable='yes'/>
+  <cpu type='tcg' name='qemu64' usable='yes'/>
+  <cpu type='tcg' name='qemu32' usable='yes'/>
+  <cpu type='tcg' name='phenom' usable='no'>
+    <blocker name='fxsr-opt'/>
+  </cpu>
+  <cpu type='tcg' name='pentium3' usable='yes'/>
+  <cpu type='tcg' name='pentium2' usable='yes'/>
+  <cpu type='tcg' name='pentium' usable='yes'/>
+  <cpu type='tcg' name='n270' usable='yes'/>
+  <cpu type='tcg' name='kvm64' usable='yes'/>
+  <cpu type='tcg' name='kvm32' usable='yes'/>
+  <cpu type='tcg' name='coreduo' usable='yes'/>
+  <cpu type='tcg' name='core2duo' usable='yes'/>
+  <cpu type='tcg' name='athlon' usable='yes'/>
+  <cpu type='tcg' name='Westmere-IBRS' usable='no'>
+    <blocker name='spec-ctrl'/>
+  </cpu>
+  <cpu type='tcg' name='Westmere' usable='yes'/>
+  <cpu type='tcg' name='Skylake-Server-IBRS' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='hle'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rtm'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512dq'/>
+    <blocker name='rdseed'/>
+    <blocker name='avx512cd'/>
+    <blocker name='avx512bw'/>
+    <blocker name='avx512vl'/>
+    <blocker name='spec-ctrl'/>
+    <blocker name='3dnowprefetch'/>
+    <blocker name='xsavec'/>
+  </cpu>
+  <cpu type='tcg' name='Skylake-Server' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='hle'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rtm'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512dq'/>
+    <blocker name='rdseed'/>
+    <blocker name='avx512cd'/>
+    <blocker name='avx512bw'/>
+    <blocker name='avx512vl'/>
+    <blocker name='3dnowprefetch'/>
+    <blocker name='xsavec'/>
+  </cpu>
+  <cpu type='tcg' name='Skylake-Client-IBRS' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='hle'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rtm'/>
+    <blocker name='rdseed'/>
+    <blocker name='spec-ctrl'/>
+    <blocker name='3dnowprefetch'/>
+    <blocker name='xsavec'/>
+  </cpu>
+  <cpu type='tcg' name='Skylake-Client' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='hle'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rtm'/>
+    <blocker name='rdseed'/>
+    <blocker name='3dnowprefetch'/>
+    <blocker name='xsavec'/>
+  </cpu>
+  <cpu type='tcg' name='SandyBridge-IBRS' usable='no'>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='spec-ctrl'/>
+  </cpu>
+  <cpu type='tcg' name='SandyBridge' usable='no'>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+  </cpu>
+  <cpu type='tcg' name='Penryn' usable='yes'/>
+  <cpu type='tcg' name='Opteron_G5' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='misalignsse'/>
+    <blocker name='3dnowprefetch'/>
+    <blocker name='xop'/>
+    <blocker name='fma4'/>
+    <blocker name='tbm'/>
+    <blocker name='nrip-save'/>
+  </cpu>
+  <cpu type='tcg' name='Opteron_G4' usable='no'>
+    <blocker name='avx'/>
+    <blocker name='misalignsse'/>
+    <blocker name='3dnowprefetch'/>
+    <blocker name='xop'/>
+    <blocker name='fma4'/>
+    <blocker name='nrip-save'/>
+  </cpu>
+  <cpu type='tcg' name='Opteron_G3' usable='no'>
+    <blocker name='misalignsse'/>
+  </cpu>
+  <cpu type='tcg' name='Opteron_G2' usable='yes'/>
+  <cpu type='tcg' name='Opteron_G1' usable='yes'/>
+  <cpu type='tcg' name='Nehalem-IBRS' usable='no'>
+    <blocker name='spec-ctrl'/>
+  </cpu>
+  <cpu type='tcg' name='Nehalem' usable='yes'/>
+  <cpu type='tcg' name='KnightsMill' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='avx2'/>
+    <blocker name='avx512f'/>
+    <blocker name='rdseed'/>
+    <blocker name='avx512pf'/>
+    <blocker name='avx512er'/>
+    <blocker name='avx512cd'/>
+    <blocker name='avx512-vpopcntdq'/>
+    <blocker name='avx512-4vnniw'/>
+    <blocker name='avx512-4fmaps'/>
+    <blocker name='3dnowprefetch'/>
+  </cpu>
+  <cpu type='tcg' name='IvyBridge-IBRS' usable='no'>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='spec-ctrl'/>
+  </cpu>
+  <cpu type='tcg' name='IvyBridge' usable='no'>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+  </cpu>
+  <cpu type='tcg' name='Icelake-Server' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='hle'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rtm'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512dq'/>
+    <blocker name='rdseed'/>
+    <blocker name='avx512cd'/>
+    <blocker name='avx512bw'/>
+    <blocker name='avx512vl'/>
+    <blocker name='avx512vbmi'/>
+    <blocker name='umip'/>
+    <blocker name='avx512vbmi2'/>
+    <blocker name='gfni'/>
+    <blocker name='vaes'/>
+    <blocker name='vpclmulqdq'/>
+    <blocker name='avx512vnni'/>
+    <blocker name='avx512bitalg'/>
+    <blocker name='avx512-vpopcntdq'/>
+    <blocker name='spec-ctrl'/>
+    <blocker name='ssbd'/>
+    <blocker name='3dnowprefetch'/>
+    <blocker name='wbnoinvd'/>
+    <blocker name='xsavec'/>
+  </cpu>
+  <cpu type='tcg' name='Icelake-Client' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='hle'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rtm'/>
+    <blocker name='rdseed'/>
+    <blocker name='avx512vbmi'/>
+    <blocker name='umip'/>
+    <blocker name='avx512vbmi2'/>
+    <blocker name='gfni'/>
+    <blocker name='vaes'/>
+    <blocker name='vpclmulqdq'/>
+    <blocker name='avx512vnni'/>
+    <blocker name='avx512bitalg'/>
+    <blocker name='avx512-vpopcntdq'/>
+    <blocker name='spec-ctrl'/>
+    <blocker name='ssbd'/>
+    <blocker name='3dnowprefetch'/>
+    <blocker name='wbnoinvd'/>
+    <blocker name='xsavec'/>
+  </cpu>
+  <cpu type='tcg' name='Haswell-noTSX-IBRS' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='spec-ctrl'/>
+  </cpu>
+  <cpu type='tcg' name='Haswell-noTSX' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+  </cpu>
+  <cpu type='tcg' name='Haswell-IBRS' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='hle'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rtm'/>
+    <blocker name='spec-ctrl'/>
+  </cpu>
+  <cpu type='tcg' name='Haswell' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='hle'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rtm'/>
+  </cpu>
+  <cpu type='tcg' name='EPYC-IBPB' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='avx2'/>
+    <blocker name='rdseed'/>
+    <blocker name='sha-ni'/>
+    <blocker name='fxsr-opt'/>
+    <blocker name='misalignsse'/>
+    <blocker name='3dnowprefetch'/>
+    <blocker name='osvw'/>
+    <blocker name='topoext'/>
+    <blocker name='ibpb'/>
+    <blocker name='nrip-save'/>
+    <blocker name='xsavec'/>
+  </cpu>
+  <cpu type='tcg' name='EPYC' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='avx2'/>
+    <blocker name='rdseed'/>
+    <blocker name='sha-ni'/>
+    <blocker name='fxsr-opt'/>
+    <blocker name='misalignsse'/>
+    <blocker name='3dnowprefetch'/>
+    <blocker name='osvw'/>
+    <blocker name='topoext'/>
+    <blocker name='nrip-save'/>
+    <blocker name='xsavec'/>
+  </cpu>
+  <cpu type='tcg' name='Conroe' usable='yes'/>
+  <cpu type='tcg' name='Cascadelake-Server' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='hle'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rtm'/>
+    <blocker name='avx512f'/>
+    <blocker name='avx512dq'/>
+    <blocker name='rdseed'/>
+    <blocker name='avx512cd'/>
+    <blocker name='avx512bw'/>
+    <blocker name='avx512vl'/>
+    <blocker name='avx512vnni'/>
+    <blocker name='spec-ctrl'/>
+    <blocker name='ssbd'/>
+    <blocker name='3dnowprefetch'/>
+    <blocker name='xsavec'/>
+  </cpu>
+  <cpu type='tcg' name='Broadwell-noTSX-IBRS' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rdseed'/>
+    <blocker name='spec-ctrl'/>
+    <blocker name='3dnowprefetch'/>
+  </cpu>
+  <cpu type='tcg' name='Broadwell-noTSX' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rdseed'/>
+    <blocker name='3dnowprefetch'/>
+  </cpu>
+  <cpu type='tcg' name='Broadwell-IBRS' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='hle'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rtm'/>
+    <blocker name='rdseed'/>
+    <blocker name='spec-ctrl'/>
+    <blocker name='3dnowprefetch'/>
+  </cpu>
+  <cpu type='tcg' name='Broadwell' usable='no'>
+    <blocker name='fma'/>
+    <blocker name='pcid'/>
+    <blocker name='x2apic'/>
+    <blocker name='tsc-deadline'/>
+    <blocker name='avx'/>
+    <blocker name='f16c'/>
+    <blocker name='rdrand'/>
+    <blocker name='hle'/>
+    <blocker name='avx2'/>
+    <blocker name='invpcid'/>
+    <blocker name='rtm'/>
+    <blocker name='rdseed'/>
+    <blocker name='3dnowprefetch'/>
+  </cpu>
+  <cpu type='tcg' name='486' usable='yes'/>
+  <machine name='pc-i440fx-5.3' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes'/>
+  <machine name='pc-i440fx-4.0' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes'/>
+  <machine name='isapc' hotplugCpus='yes' maxCpus='1'/>
+  <machine name='pc-1.1' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-1.2' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-1.3' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.8' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-1.0' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.9' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.6' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.7' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.3' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.4' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.5' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.1' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.2' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-q35-3.1' hotplugCpus='yes' maxCpus='288'/>
+  <machine name='pc-i440fx-2.0' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-q35-2.11' hotplugCpus='yes' maxCpus='288'/>
+  <machine name='pc-q35-2.12' hotplugCpus='yes' maxCpus='288'/>
+  <machine name='pc-q35-3.0' hotplugCpus='yes' maxCpus='288'/>
+  <machine name='pc-q35-2.10' hotplugCpus='yes' maxCpus='288'/>
+  <machine name='pc-i440fx-1.7' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-q35-2.9' hotplugCpus='yes' maxCpus='288'/>
+  <machine name='pc-0.15' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-1.5' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-q35-2.7' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-1.6' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.11' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-q35-2.8' hotplugCpus='yes' maxCpus='288'/>
+  <machine name='pc-0.13' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.12' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-0.14' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-3.0' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-3.1' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-q35-2.4' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-q35-2.5' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-q35-2.6' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-2.10' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-i440fx-1.4' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-0.12' hotplugCpus='yes' maxCpus='255'/>
+  <machine name='pc-q35-4.0' alias='q35' hotplugCpus='yes' maxCpus='288'/>
+  <mktme>
+    <keys_supported>15</keys_supported>
+  </mktme>
+</qemuCaps>
-- 
2.21.0.windows.1




More information about the libvir-list mailing list