Pablo Greco 40546a
From 597dd548f0d5a5ddf662ad748f1b1a9f0a456dce Mon Sep 17 00:00:00 2001
Pablo Greco 40546a
Message-Id: <597dd548f0d5a5ddf662ad748f1b1a9f0a456dce@dist-git>
Pablo Greco 40546a
From: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Date: Fri, 21 Jun 2019 09:25:53 +0200
Pablo Greco 40546a
Subject: [PATCH] qemu: Probe for "unavailable-features" CPU property
Pablo Greco 40546a
MIME-Version: 1.0
Pablo Greco 40546a
Content-Type: text/plain; charset=UTF-8
Pablo Greco 40546a
Content-Transfer-Encoding: 8bit
Pablo Greco 40546a
Pablo Greco 40546a
It is similar to "filtered-features" property, which reports CPUID bits
Pablo Greco 40546a
corresponding to disabled features, but more general. The
Pablo Greco 40546a
"unavailable-features" property supports both CPUID and MSR features by
Pablo Greco 40546a
listing their names.
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Pablo Greco 40546a
(cherry picked from commit 0d254bce4ec6fd62c0277d24e28bf018a4c6cb37)
Pablo Greco 40546a
Pablo Greco 40546a
https://bugzilla.redhat.com/show_bug.cgi?id=1697627
Pablo Greco 40546a
Pablo Greco 40546a
Conflicts:
Pablo Greco 40546a
	src/qemu/qemu_capabilities.c
Pablo Greco 40546a
            - several capabilities check are missing
Pablo Greco 40546a
Pablo Greco 40546a
	tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
Pablo Greco 40546a
	tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies
Pablo Greco 40546a
	tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies
Pablo Greco 40546a
            - QMP message IDs are different
Pablo Greco 40546a
Pablo Greco 40546a
	tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies
Pablo Greco 40546a
	tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies
Pablo Greco 40546a
            - missing
Pablo Greco 40546a
Pablo Greco 40546a
	tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
Pablo Greco 40546a
	tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
Pablo Greco 40546a
	tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
Pablo Greco 40546a
            - file size based microcode version
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Message-Id: <2cf5c234b2b3e54250f0d8b1e12763d4f8e81247.1561068591.git.jdenemar@redhat.com>
Pablo Greco 40546a
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Pablo Greco 40546a
---
Pablo Greco 40546a
 src/qemu/qemu_capabilities.c                  |    8 +
Pablo Greco 40546a
 src/qemu/qemu_capabilities.h                  |    1 +
Pablo Greco 40546a
 .../caps_2.12.0.x86_64.replies                | 1078 ++++++++++++++-
Pablo Greco 40546a
 .../caps_2.12.0.x86_64.xml                    |    2 +-
Pablo Greco 40546a
 .../caps_3.0.0.x86_64.replies                 | 1116 +++++++++++++++-
Pablo Greco 40546a
 .../caps_3.0.0.x86_64.xml                     |    2 +-
Pablo Greco 40546a
 .../caps_4.1.0.x86_64.replies                 | 1188 ++++++++++++++++-
Pablo Greco 40546a
 .../caps_4.1.0.x86_64.xml                     |    3 +-
Pablo Greco 40546a
 8 files changed, 3317 insertions(+), 81 deletions(-)
Pablo Greco 40546a
Pablo Greco 40546a
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
Pablo Greco 40546a
index 4515da4b91..beec9d1497 100644
Pablo Greco 40546a
--- a/src/qemu/qemu_capabilities.c
Pablo Greco 40546a
+++ b/src/qemu/qemu_capabilities.c
Pablo Greco 40546a
@@ -515,6 +515,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
Pablo Greco 40546a
               "zpci",
Pablo Greco 40546a
               "machine.pseries.cap-nested-hv",
Pablo Greco 40546a
               "x86-max-cpu",
Pablo Greco 40546a
+              "cpu-unavailable-features",
Pablo Greco 40546a
     );
Pablo Greco 40546a
 
Pablo Greco 40546a
 
Pablo Greco 40546a
@@ -1452,6 +1453,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsSPAPRMachine[] = {
Pablo Greco 40546a
     { "cap-nested-hv", QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV },
Pablo Greco 40546a
 };
Pablo Greco 40546a
 
Pablo Greco 40546a
+static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMaxX86CPU[] = {
Pablo Greco 40546a
+    { "unavailable-features", QEMU_CAPS_CPU_UNAVAILABLE_FEATURES },
Pablo Greco 40546a
+};
Pablo Greco 40546a
+
Pablo Greco 40546a
 static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
Pablo Greco 40546a
     { "memory-backend-file", virQEMUCapsObjectPropsMemoryBackendFile,
Pablo Greco 40546a
       ARRAY_CARDINALITY(virQEMUCapsObjectPropsMemoryBackendFile),
Pablo Greco 40546a
@@ -1459,6 +1464,9 @@ static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
Pablo Greco 40546a
     { "spapr-machine", virQEMUCapsObjectPropsSPAPRMachine,
Pablo Greco 40546a
       ARRAY_CARDINALITY(virQEMUCapsObjectPropsSPAPRMachine),
Pablo Greco 40546a
       -1 },
Pablo Greco 40546a
+    { "max-x86_64-cpu", virQEMUCapsObjectPropsMaxX86CPU,
Pablo Greco 40546a
+      ARRAY_CARDINALITY(virQEMUCapsObjectPropsMaxX86CPU),
Pablo Greco 40546a
+      QEMU_CAPS_X86_MAX_CPU },
Pablo Greco 40546a
 };
Pablo Greco 40546a
 
Pablo Greco 40546a
 static void
Pablo Greco 40546a
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
Pablo Greco 40546a
index 25ed5064b9..5aa41efdb0 100644
Pablo Greco 40546a
--- a/src/qemu/qemu_capabilities.h
Pablo Greco 40546a
+++ b/src/qemu/qemu_capabilities.h
Pablo Greco 40546a
@@ -495,6 +495,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
Pablo Greco 40546a
     QEMU_CAPS_DEVICE_ZPCI, /* -device zpci */
Pablo Greco 40546a
     QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV, /* -machine pseries.cap-nested-hv */
Pablo Greco 40546a
     QEMU_CAPS_X86_MAX_CPU, /* max-x86_64-cpu type exists */
Pablo Greco 40546a
+    QEMU_CAPS_CPU_UNAVAILABLE_FEATURES, /* "unavailable-features" CPU property */
Pablo Greco 40546a
 
Pablo Greco 40546a
     QEMU_CAPS_LAST /* this must always be the last item */
Pablo Greco 40546a
 } virQEMUCapsFlags;
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
Pablo Greco 40546a
index 6f37e4301e..66a5577e5e 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
Pablo Greco 40546a
@@ -5011,10 +5011,1040 @@
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
-  "execute": "query-machines",
Pablo Greco 40546a
+  "execute": "qom-list-properties",
Pablo Greco 40546a
+  "arguments": {
Pablo Greco 40546a
+    "typename": "max-x86_64-cpu"
Pablo Greco 40546a
+  },
Pablo Greco 40546a
   "id": "libvirt-43"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
+{
Pablo Greco 40546a
+  "return": [
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "min-xlevel2",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vendor",
Pablo Greco 40546a
+      "type": "string"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "gfni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "clwb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "x2apic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvmclock-stable-bit",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmcb_clean",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "min-level",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fxsr-opt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "skinit",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "3dnowext",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-crash",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nodeid_msr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hypervisor",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "enforce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "stepping",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4_2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4_1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "x-hv-max-vps",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-frequencies",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-hint-dedicated",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cmp_legacy",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tm2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "smx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "host-cache-info",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-vendor-id",
Pablo Greco 40546a
+      "type": "str"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "movbe",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "3dnowprefetch",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mtrr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "wdt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "thread-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "aes",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "apic-id",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "family",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-adjust",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pfthreshold",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ospke",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-no-smi-migration",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pse",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "filtered-features",
Pablo Greco 40546a
+      "type": "X86CPUFeatureWordInfo"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-vpindex",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "adx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512bitalg",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "i64",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vaes",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ia64",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nodeid-msr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ibpb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-synic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ibs",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_mmu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tcg-cpuid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nrip_save",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_nopiodelay",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lbrv",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdtscp",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "memory",
Pablo Greco 40546a
+      "type": "link<qemu:memory-region>"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vbmi2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ace2-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "invtsc",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4.2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4.1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pbe",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdrand",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "socket-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hotpluggable",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-steal-time",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "l3-cache",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmware-cpuid-freq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xop",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-frequency",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fill-mtrr-mask",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "core-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "intel-pt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pat",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pcid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pclmulqdq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4-2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4-1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sha-ni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cmov",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pae",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "smep",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "abm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xstore",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc_adjust",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "type",
Pablo Greco 40546a
+      "type": "string"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-asyncpf",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "min-xlevel",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pdpe1gb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-mmu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-pv-unhalt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512f",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vbmi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512-4vnniw",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mmxext",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "decodeassists",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ht",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsave",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr_core",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "feature-words",
Pablo Greco 40546a
+      "type": "X86CPUFeatureWordInfo"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "migratable",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "3dnow",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "spec-ctrl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "model",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nrip-save",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lwp",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xstore-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_pv_unhalt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "bmi2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "bmi1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "la57",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ffxsr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmcb-clean",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pause-filter",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_steal_time",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "svm_lock",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pse36",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-stimer",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "host-phys-bits",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "extapic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-spinlocks",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pmu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pmm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vpclmulqdq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512-vpopcntdq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512er",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pdcm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "svm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "apic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xcrypt-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cr8legacy",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fma4",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "erms",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "msr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ds_cpl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xlevel",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hotplugged",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-relaxed",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr-core",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sep",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "smap",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse3",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512dq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ssse3",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pmm-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "npt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-pv-tlb-flush",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "monitor",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "f16c",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdpid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "full-cpuid-auto-level",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xtpr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mca",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pku",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vnni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvmclock",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4a",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ds",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lahf-lm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsaves",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "clflushopt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ss",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "flushbyasid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pause_filter",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "de",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "est",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "check",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lahf_lm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "dtes64",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsavec",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "svm-lock",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512ifma",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "clflush",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdseed",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512cd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsaveopt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tbm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ace2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vme",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_asyncpf",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-vapic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "parent_bus",
Pablo Greco 40546a
+      "type": "link<bus>"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lmce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-reset",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-runtime",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512bw",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xcrypt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fpu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fxsr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ds-cpl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-pv-eoi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hle",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cx8",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mpx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "invpcid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pcommit",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "arat",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "syscall",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc_scale",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xlevel2",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-time",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_pv_eoi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "osvw",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr-nb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rtm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512-4fmaps",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr_nb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-nopiodelay",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "phys-bits",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512pf",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "level",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "osxsave",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cpuid-0xb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-deadline",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xgetbv1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fxsr_opt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "popcnt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "umip",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "realized",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "phe",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cmp-legacy",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "dca",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "acpi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pn",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "model-id",
Pablo Greco 40546a
+      "type": "string"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "crash-information",
Pablo Greco 40546a
+      "type": "GuestPanicInformation"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-scale",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "node-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cx16",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mmx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "topoext",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pge",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fsgsbase",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pclmuldq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "misalignsse",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "phe-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fma",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    }
Pablo Greco 40546a
+  ],
Pablo Greco 40546a
+  "id": "libvirt-43"
Pablo Greco 40546a
+}
Pablo Greco 40546a
+
Pablo Greco 40546a
+{
Pablo Greco 40546a
+  "execute": "query-machines",
Pablo Greco 40546a
+  "id": "libvirt-44"
Pablo Greco 40546a
+}
Pablo Greco 40546a
+
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "return": [
Pablo Greco 40546a
     {
Pablo Greco 40546a
@@ -5211,12 +6241,12 @@
Pablo Greco 40546a
       "cpu-max": 255
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-43"
Pablo Greco 40546a
+  "id": "libvirt-44"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-cpu-definitions",
Pablo Greco 40546a
-  "id": "libvirt-44"
Pablo Greco 40546a
+  "id": "libvirt-45"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -5730,12 +6760,12 @@
Pablo Greco 40546a
       "migration-safe": true
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-44"
Pablo Greco 40546a
+  "id": "libvirt-45"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-tpm-models",
Pablo Greco 40546a
-  "id": "libvirt-45"
Pablo Greco 40546a
+  "id": "libvirt-46"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -5743,12 +6773,12 @@
Pablo Greco 40546a
     "tpm-crb",
Pablo Greco 40546a
     "tpm-tis"
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-45"
Pablo Greco 40546a
+  "id": "libvirt-46"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-tpm-types",
Pablo Greco 40546a
-  "id": "libvirt-46"
Pablo Greco 40546a
+  "id": "libvirt-47"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -5756,12 +6786,12 @@
Pablo Greco 40546a
     "passthrough",
Pablo Greco 40546a
     "emulator"
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-46"
Pablo Greco 40546a
+  "id": "libvirt-47"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-command-line-options",
Pablo Greco 40546a
-  "id": "libvirt-47"
Pablo Greco 40546a
+  "id": "libvirt-48"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -7048,12 +8078,12 @@
Pablo Greco 40546a
       "option": "drive"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-47"
Pablo Greco 40546a
+  "id": "libvirt-48"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-migrate-capabilities",
Pablo Greco 40546a
-  "id": "libvirt-48"
Pablo Greco 40546a
+  "id": "libvirt-49"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -7115,12 +8145,12 @@
Pablo Greco 40546a
       "capability": "dirty-bitmaps"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-48"
Pablo Greco 40546a
+  "id": "libvirt-49"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-qmp-schema",
Pablo Greco 40546a
-  "id": "libvirt-49"
Pablo Greco 40546a
+  "id": "libvirt-50"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -18488,7 +19518,7 @@
Pablo Greco 40546a
       "meta-type": "object"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-49"
Pablo Greco 40546a
+  "id": "libvirt-50"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -18499,7 +19529,7 @@
Pablo Greco 40546a
       "name": "host"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-50"
Pablo Greco 40546a
+  "id": "libvirt-51"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -18689,7 +19719,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-50"
Pablo Greco 40546a
+  "id": "libvirt-51"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -18881,7 +19911,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-51"
Pablo Greco 40546a
+  "id": "libvirt-52"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -19136,7 +20166,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-51"
Pablo Greco 40546a
+  "id": "libvirt-52"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -19150,7 +20180,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-52"
Pablo Greco 40546a
+  "id": "libvirt-53"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -19340,7 +20370,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-52"
Pablo Greco 40546a
+  "id": "libvirt-53"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -19532,7 +20562,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-53"
Pablo Greco 40546a
+  "id": "libvirt-54"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -19787,12 +20817,12 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-53"
Pablo Greco 40546a
+  "id": "libvirt-54"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-sev-capabilities",
Pablo Greco 40546a
-  "id": "libvirt-54"
Pablo Greco 40546a
+  "id": "libvirt-55"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -19802,7 +20832,7 @@
Pablo Greco 40546a
     "cert-chain": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA",
Pablo Greco 40546a
     "pdh": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA"
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-54"
Pablo Greco 40546a
+  "id": "libvirt-55"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
Pablo Greco 40546a
index f4416e7b55..a8a82ca110 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
Pablo Greco 40546a
@@ -216,7 +216,7 @@
Pablo Greco 40546a
   <flag name='x86-max-cpu'/>
Pablo Greco 40546a
   <version>2011090</version>
Pablo Greco 40546a
   <kvmVersion>0</kvmVersion>
Pablo Greco 40546a
-  <microcodeVersion>416196</microcodeVersion>
Pablo Greco 40546a
+  <microcodeVersion>431483</microcodeVersion>
Pablo Greco 40546a
   <package>v2.12.0-rc0</package>
Pablo Greco 40546a
   <arch>x86_64</arch>
Pablo Greco 40546a
   <hostCPU type='kvm' model='base' migratability='yes'>
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies
Pablo Greco 40546a
index b2f8377248..9f44eb4fae 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies
Pablo Greco 40546a
@@ -5123,10 +5123,1072 @@
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
-  "execute": "query-machines",
Pablo Greco 40546a
+  "execute": "qom-list-properties",
Pablo Greco 40546a
+  "arguments": {
Pablo Greco 40546a
+    "typename": "max-x86_64-cpu"
Pablo Greco 40546a
+  },
Pablo Greco 40546a
   "id": "libvirt-43"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
+{
Pablo Greco 40546a
+  "return": [
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "min-xlevel2",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "amd-ssbd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vendor",
Pablo Greco 40546a
+      "type": "string"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "gfni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "clwb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "x2apic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvmclock-stable-bit",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmcb_clean",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "min-level",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fxsr-opt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "skinit",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "3dnowext",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nodeid_msr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-crash",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hypervisor",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "enforce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "stepping",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4_2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4_1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "x-hv-max-vps",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-frequencies",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-hint-dedicated",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cmp_legacy",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tm2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "smx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "host-cache-info",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-vendor-id",
Pablo Greco 40546a
+      "type": "str"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "movbe",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "3dnowprefetch",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mtrr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "wdt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "thread-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "aes",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "apic-id",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "family",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-adjust",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pfthreshold",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-no-smi-migration",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "amd-no-ssb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pse",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "filtered-features",
Pablo Greco 40546a
+      "type": "X86CPUFeatureWordInfo"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-vpindex",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "adx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512bitalg",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "i64",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vaes",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ia64",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nodeid-msr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ibpb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-synic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ibs",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_mmu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tcg-cpuid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nrip_save",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_nopiodelay",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lbrv",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdtscp",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "memory",
Pablo Greco 40546a
+      "type": "link<qemu:memory-region>"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vbmi2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ace2-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "invtsc",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4.2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4.1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pbe",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdrand",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "socket-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hotpluggable",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "l3-cache",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-steal-time",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmware-cpuid-freq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "legacy-cache",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xop",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-frequency",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fill-mtrr-mask",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "core-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "intel-pt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pat",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pcid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pclmulqdq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4-2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4-1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sha-ni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cmov",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pae",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "smep",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "virt-ssbd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "abm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xstore",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc_adjust",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "type",
Pablo Greco 40546a
+      "type": "string"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-asyncpf",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pdpe1gb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "min-xlevel",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-mmu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-pv-unhalt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512f",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vbmi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512-4vnniw",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mmxext",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "decodeassists",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ht",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsave",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr_core",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "feature-words",
Pablo Greco 40546a
+      "type": "X86CPUFeatureWordInfo"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "migratable",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "3dnow",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "spec-ctrl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "model",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nrip-save",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lwp",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xstore-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_pv_unhalt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "bmi2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "bmi1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "la57",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ffxsr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmcb-clean",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pause-filter",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_steal_time",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "svm_lock",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pse36",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-stimer",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "host-phys-bits",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "extapic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-spinlocks",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pmu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pmm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vpclmulqdq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512-vpopcntdq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512er",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pdcm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "svm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "apic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xcrypt-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cr8legacy",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fma4",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "erms",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "msr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ds_cpl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xlevel",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sep",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hotplugged",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-relaxed",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cldemote",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr-core",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vnni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "smap",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse3",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512dq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ssse3",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pmm-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "npt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-pv-tlb-flush",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "monitor",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "f16c",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdpid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "full-cpuid-auto-level",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xtpr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mca",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pku",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-tlbflush",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ds",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvmclock",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4a",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lahf-lm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsaves",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "clflushopt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ss",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "flushbyasid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "md-clear",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pause_filter",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "de",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "est",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "check",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lahf_lm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "dtes64",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsavec",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "svm-lock",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512ifma",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "clflush",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdseed",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512cd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsaveopt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tbm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ace2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vme",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_asyncpf",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-vapic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "parent_bus",
Pablo Greco 40546a
+      "type": "link<bus>"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lmce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "x-migrate-smi-count",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-reset",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-runtime",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ssbd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512bw",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xcrypt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fpu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fxsr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ds-cpl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-pv-eoi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hle",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cx8",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mpx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "invpcid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pcommit",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "arat",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "syscall",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc_scale",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xlevel2",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-time",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_pv_eoi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "osvw",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr-nb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rtm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512-4fmaps",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr_nb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-nopiodelay",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512pf",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "level",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "phys-bits",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cpuid-0xb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-deadline",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fxsr_opt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xgetbv1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "popcnt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "umip",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "realized",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "phe",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cmp-legacy",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "dca",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "acpi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pn",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "model-id",
Pablo Greco 40546a
+      "type": "string"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "crash-information",
Pablo Greco 40546a
+      "type": "GuestPanicInformation"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-scale",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "node-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-reenlightenment",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cx16",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mmx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "topoext",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pge",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fsgsbase",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pclmuldq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "misalignsse",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "phe-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fma",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    }
Pablo Greco 40546a
+  ],
Pablo Greco 40546a
+  "id": "libvirt-43"
Pablo Greco 40546a
+}
Pablo Greco 40546a
+
Pablo Greco 40546a
+{
Pablo Greco 40546a
+  "execute": "query-machines",
Pablo Greco 40546a
+  "id": "libvirt-44"
Pablo Greco 40546a
+}
Pablo Greco 40546a
+
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "return": [
Pablo Greco 40546a
     {
Pablo Greco 40546a
@@ -5333,12 +6395,12 @@
Pablo Greco 40546a
       "cpu-max": 255
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-43"
Pablo Greco 40546a
+  "id": "libvirt-44"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-cpu-definitions",
Pablo Greco 40546a
-  "id": "libvirt-44"
Pablo Greco 40546a
+  "id": "libvirt-45"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -5775,12 +6837,12 @@
Pablo Greco 40546a
       "migration-safe": true
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-44"
Pablo Greco 40546a
+  "id": "libvirt-45"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-tpm-models",
Pablo Greco 40546a
-  "id": "libvirt-45"
Pablo Greco 40546a
+  "id": "libvirt-46"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -5788,12 +6850,12 @@
Pablo Greco 40546a
     "tpm-crb",
Pablo Greco 40546a
     "tpm-tis"
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-45"
Pablo Greco 40546a
+  "id": "libvirt-46"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-tpm-types",
Pablo Greco 40546a
-  "id": "libvirt-46"
Pablo Greco 40546a
+  "id": "libvirt-47"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -5801,12 +6863,12 @@
Pablo Greco 40546a
     "passthrough",
Pablo Greco 40546a
     "emulator"
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-46"
Pablo Greco 40546a
+  "id": "libvirt-47"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-command-line-options",
Pablo Greco 40546a
-  "id": "libvirt-47"
Pablo Greco 40546a
+  "id": "libvirt-48"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -7105,12 +8167,12 @@
Pablo Greco 40546a
       "option": "drive"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-47"
Pablo Greco 40546a
+  "id": "libvirt-48"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-migrate-capabilities",
Pablo Greco 40546a
-  "id": "libvirt-48"
Pablo Greco 40546a
+  "id": "libvirt-49"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -7180,12 +8242,12 @@
Pablo Greco 40546a
       "capability": "late-block-activate"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-48"
Pablo Greco 40546a
+  "id": "libvirt-49"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-qmp-schema",
Pablo Greco 40546a
-  "id": "libvirt-49"
Pablo Greco 40546a
+  "id": "libvirt-50"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -19425,7 +20487,7 @@
Pablo Greco 40546a
       "meta-type": "object"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-49"
Pablo Greco 40546a
+  "id": "libvirt-50"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -19436,7 +20498,7 @@
Pablo Greco 40546a
       "name": "host"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-50"
Pablo Greco 40546a
+  "id": "libvirt-51"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -19629,7 +20691,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-50"
Pablo Greco 40546a
+  "id": "libvirt-51"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -19824,7 +20886,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-51"
Pablo Greco 40546a
+  "id": "libvirt-52"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -20086,7 +21148,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-51"
Pablo Greco 40546a
+  "id": "libvirt-52"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -20100,7 +21162,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-52"
Pablo Greco 40546a
+  "id": "libvirt-53"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -20293,7 +21355,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-52"
Pablo Greco 40546a
+  "id": "libvirt-53"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -20488,7 +21550,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-53"
Pablo Greco 40546a
+  "id": "libvirt-54"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -20750,16 +21812,16 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-53"
Pablo Greco 40546a
-}
Pablo Greco 40546a
-
Pablo Greco 40546a
-{
Pablo Greco 40546a
-  "execute": "query-sev-capabilities",
Pablo Greco 40546a
   "id": "libvirt-54"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
-  "id": "libvirt-54",
Pablo Greco 40546a
+  "execute": "query-sev-capabilities",
Pablo Greco 40546a
+  "id": "libvirt-55"
Pablo Greco 40546a
+}
Pablo Greco 40546a
+
Pablo Greco 40546a
+{
Pablo Greco 40546a
+  "id": "libvirt-55",
Pablo Greco 40546a
   "error": {
Pablo Greco 40546a
     "class": "GenericError",
Pablo Greco 40546a
     "desc": "SEV feature is not available"
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
Pablo Greco 40546a
index dceb719fcf..22dc60d13e 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
Pablo Greco 40546a
@@ -218,7 +218,7 @@
Pablo Greco 40546a
   <flag name='x86-max-cpu'/>
Pablo Greco 40546a
   <version>2012090</version>
Pablo Greco 40546a
   <kvmVersion>0</kvmVersion>
Pablo Greco 40546a
-  <microcodeVersion>438109</microcodeVersion>
Pablo Greco 40546a
+  <microcodeVersion>453907</microcodeVersion>
Pablo Greco 40546a
   <package>v3.0.0-rc0-31-g633e824037</package>
Pablo Greco 40546a
   <arch>x86_64</arch>
Pablo Greco 40546a
   <hostCPU type='kvm' model='base' migratability='yes'>
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies
Pablo Greco 40546a
index ab0ac1e7bf..82b320b1d0 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies
Pablo Greco 40546a
@@ -5510,10 +5510,1144 @@
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
-  "execute": "query-machines",
Pablo Greco 40546a
+  "execute": "qom-list-properties",
Pablo Greco 40546a
+  "arguments": {
Pablo Greco 40546a
+    "typename": "max-x86_64-cpu"
Pablo Greco 40546a
+  },
Pablo Greco 40546a
   "id": "libvirt-43"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
+{
Pablo Greco 40546a
+  "return": [
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "type",
Pablo Greco 40546a
+      "type": "string"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "min-xlevel2",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "amd-ssbd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vendor",
Pablo Greco 40546a
+      "type": "string"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "gfni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "clwb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "x2apic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mds-no",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvmclock-stable-bit",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmcb_clean",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "min-level",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fxsr-opt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "skinit",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "unavailable-features",
Pablo Greco 40546a
+      "type": "strList"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "3dnowext",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nodeid_msr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-crash",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hypervisor",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "enforce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "stepping",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4_2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4_1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "x-hv-max-vps",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-frequencies",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-hint-dedicated",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cmp_legacy",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tm2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "smx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "host-cache-info",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-pv-ipi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-vendor-id",
Pablo Greco 40546a
+      "type": "str"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "movbe",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "3dnowprefetch",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mtrr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "wdt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "thread-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "aes",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "apic-id",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "family",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-adjust",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pfthreshold",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-no-smi-migration",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "amd-no-ssb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pse",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "filtered-features",
Pablo Greco 40546a
+      "type": "X86CPUFeatureWordInfo"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-evmcs",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-vpindex",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "i64",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512bitalg",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "adx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vaes",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ia64",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nodeid-msr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ibpb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-synic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ibs",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_mmu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tcg-cpuid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nrip_save",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_nopiodelay",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lbrv",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdtscp",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "memory",
Pablo Greco 40546a
+      "type": "link<qemu:memory-region>"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vbmi2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ace2-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "invtsc",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4.2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4.1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pbe",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdrand",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "socket-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hotpluggable",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "l3-cache",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-steal-time",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmware-cpuid-freq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "legacy-cache",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xop",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-frequency",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fill-mtrr-mask",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "core-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "intel-pt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pat",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pcid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rsba",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4-2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4-1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pclmulqdq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sha-ni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cmov",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pae",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "smep",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "arch-capabilities",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "virt-ssbd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "abm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xstore",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc_adjust",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-asyncpf",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pdpe1gb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "min-xlevel",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-mmu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-pv-unhalt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512f",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vbmi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512-4vnniw",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mmxext",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "decodeassists",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ht",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsave",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr_core",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "feature-words",
Pablo Greco 40546a
+      "type": "X86CPUFeatureWordInfo"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "migratable",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "3dnow",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "spec-ctrl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "model",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "nrip-save",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lwp",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xstore-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_pv_unhalt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "bmi2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "bmi1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "la57",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ffxsr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "stibp",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmcb-clean",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "wbnoinvd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pause-filter",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_steal_time",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdctl-no",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "svm_lock",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ibrs-all",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pse36",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-stimer",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "host-phys-bits",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "extapic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "skip-l1dfl-vmentry",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-spinlocks",
Pablo Greco 40546a
+      "type": "int"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pmu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pmm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vpclmulqdq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512-vpopcntdq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512er",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pdcm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "svm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "apic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xcrypt-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cr8legacy",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fma4",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "host-phys-bits-limit",
Pablo Greco 40546a
+      "type": "uint8"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "erms",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "msr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ds_cpl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xlevel",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsaves",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hotplugged",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-relaxed",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pause_filter",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cldemote",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr-core",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-ipi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "smap",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse3",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512dq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ssse3",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pmm-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "npt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-pv-tlb-flush",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "monitor",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "f16c",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdpid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "full-cpuid-auto-level",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xtpr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mca",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sep",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512vnni",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ds",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pku",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse4a",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvmclock",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lahf-lm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "clflushopt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ss",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "flushbyasid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-tlbflush",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lahf_lm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "de",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsavec",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "est",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "check",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "movdir64b",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "dtes64",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "md-clear",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vmx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "svm-lock",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512ifma",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "clflush",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rdseed",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512cd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xsaveopt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tbm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ace2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "vme",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_asyncpf",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-vapic",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "parent_bus",
Pablo Greco 40546a
+      "type": "link<bus>"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "lmce",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "x-migrate-smi-count",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-reset",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-runtime",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ssbd",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512bw",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xcrypt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fpu",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "arat",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fxsr",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ds-cpl",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-pv-eoi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hle",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mpx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "invpcid",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cx8",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pcommit",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "sse",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "syscall",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc_scale",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "movdiri",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "ssb-no",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xlevel2",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-time",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm_pv_eoi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "osvw",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr-nb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "rtm",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512-4fmaps",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx2",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "perfctr_nb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm-nopiodelay",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "avx512pf",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "level",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "phys-bits",
Pablo Greco 40546a
+      "type": "uint32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cpuid-0xb",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-deadline",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fxsr_opt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "xgetbv1",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "popcnt",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "umip",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "realized",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "phe",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cmp-legacy",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "dca",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "acpi",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pn",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "model-id",
Pablo Greco 40546a
+      "type": "string"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "crash-information",
Pablo Greco 40546a
+      "type": "GuestPanicInformation"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "x-intel-pt-auto-level",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "x-hv-synic-kvm-only",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "tsc-scale",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "node-id",
Pablo Greco 40546a
+      "type": "int32"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "hv-reenlightenment",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cx16",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "mmx",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "topoext",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pge",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fsgsbase",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pclmuldq",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "misalignsse",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "phe-en",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "fma",
Pablo Greco 40546a
+      "type": "bool"
Pablo Greco 40546a
+    }
Pablo Greco 40546a
+  ],
Pablo Greco 40546a
+  "id": "libvirt-43"
Pablo Greco 40546a
+}
Pablo Greco 40546a
+
Pablo Greco 40546a
+{
Pablo Greco 40546a
+  "execute": "query-machines",
Pablo Greco 40546a
+  "id": "libvirt-44"
Pablo Greco 40546a
+}
Pablo Greco 40546a
+
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "return": [
Pablo Greco 40546a
     {
Pablo Greco 40546a
@@ -5755,12 +6889,12 @@
Pablo Greco 40546a
       "alias": "q35"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-43"
Pablo Greco 40546a
+  "id": "libvirt-44"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-cpu-definitions",
Pablo Greco 40546a
-  "id": "libvirt-44"
Pablo Greco 40546a
+  "id": "libvirt-45"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -6310,12 +7444,12 @@
Pablo Greco 40546a
       "migration-safe": true
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-44"
Pablo Greco 40546a
+  "id": "libvirt-45"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-tpm-models",
Pablo Greco 40546a
-  "id": "libvirt-45"
Pablo Greco 40546a
+  "id": "libvirt-46"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -6323,12 +7457,12 @@
Pablo Greco 40546a
     "tpm-crb",
Pablo Greco 40546a
     "tpm-tis"
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-45"
Pablo Greco 40546a
+  "id": "libvirt-46"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-tpm-types",
Pablo Greco 40546a
-  "id": "libvirt-46"
Pablo Greco 40546a
+  "id": "libvirt-47"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -6336,12 +7470,12 @@
Pablo Greco 40546a
     "passthrough",
Pablo Greco 40546a
     "emulator"
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-46"
Pablo Greco 40546a
+  "id": "libvirt-47"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-command-line-options",
Pablo Greco 40546a
-  "id": "libvirt-47"
Pablo Greco 40546a
+  "id": "libvirt-48"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -7611,12 +8745,12 @@
Pablo Greco 40546a
       "option": "drive"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-47"
Pablo Greco 40546a
+  "id": "libvirt-48"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-migrate-capabilities",
Pablo Greco 40546a
-  "id": "libvirt-48"
Pablo Greco 40546a
+  "id": "libvirt-49"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -7690,12 +8824,12 @@
Pablo Greco 40546a
       "capability": "x-ignore-shared"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-48"
Pablo Greco 40546a
+  "id": "libvirt-49"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
   "execute": "query-qmp-schema",
Pablo Greco 40546a
-  "id": "libvirt-49"
Pablo Greco 40546a
+  "id": "libvirt-50"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -20178,7 +21312,7 @@
Pablo Greco 40546a
       ]
Pablo Greco 40546a
     }
Pablo Greco 40546a
   ],
Pablo Greco 40546a
-  "id": "libvirt-49"
Pablo Greco 40546a
+  "id": "libvirt-50"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -20189,7 +21323,7 @@
Pablo Greco 40546a
       "name": "host"
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-50"
Pablo Greco 40546a
+  "id": "libvirt-51"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -20395,7 +21529,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-50"
Pablo Greco 40546a
+  "id": "libvirt-51"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -20603,7 +21737,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-51"
Pablo Greco 40546a
+  "id": "libvirt-52"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -20884,7 +22018,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-51"
Pablo Greco 40546a
+  "id": "libvirt-52"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -20898,7 +22032,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-52"
Pablo Greco 40546a
+  "id": "libvirt-53"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -21104,7 +22238,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-52"
Pablo Greco 40546a
+  "id": "libvirt-53"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -21312,7 +22446,7 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-53"
Pablo Greco 40546a
+  "id": "libvirt-54"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
@@ -21593,16 +22727,16 @@
Pablo Greco 40546a
       }
Pablo Greco 40546a
     }
Pablo Greco 40546a
   },
Pablo Greco 40546a
-  "id": "libvirt-53"
Pablo Greco 40546a
-}
Pablo Greco 40546a
-
Pablo Greco 40546a
-{
Pablo Greco 40546a
-  "execute": "query-sev-capabilities",
Pablo Greco 40546a
   "id": "libvirt-54"
Pablo Greco 40546a
 }
Pablo Greco 40546a
 
Pablo Greco 40546a
 {
Pablo Greco 40546a
-  "id": "libvirt-54",
Pablo Greco 40546a
+  "execute": "query-sev-capabilities",
Pablo Greco 40546a
+  "id": "libvirt-55"
Pablo Greco 40546a
+}
Pablo Greco 40546a
+
Pablo Greco 40546a
+{
Pablo Greco 40546a
+  "id": "libvirt-55",
Pablo Greco 40546a
   "error": {
Pablo Greco 40546a
     "class": "GenericError",
Pablo Greco 40546a
     "desc": "SEV feature is not available"
Pablo Greco 40546a
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
Pablo Greco 40546a
index 4836dbb8a4..95d26dfce8 100644
Pablo Greco 40546a
--- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
Pablo Greco 40546a
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
Pablo Greco 40546a
@@ -215,9 +215,10 @@
Pablo Greco 40546a
   <flag name='egl-headless'/>
Pablo Greco 40546a
   <flag name='vfio-pci.display'/>
Pablo Greco 40546a
   <flag name='x86-max-cpu'/>
Pablo Greco 40546a
+  <flag name='cpu-unavailable-features'/>
Pablo Greco 40546a
   <version>4000050</version>
Pablo Greco 40546a
   <kvmVersion>0</kvmVersion>
Pablo Greco 40546a
-  <microcodeVersion>456805</microcodeVersion>
Pablo Greco 40546a
+  <microcodeVersion>473743</microcodeVersion>
Pablo Greco 40546a
   <package>v4.0.0-1173-g9c70209b63</package>
Pablo Greco 40546a
   <arch>x86_64</arch>
Pablo Greco 40546a
   <hostCPU type='kvm' model='base' migratability='yes'>
Pablo Greco 40546a
-- 
Pablo Greco 40546a
2.22.0
Pablo Greco 40546a