[libvirt] [PATCH v3 19/28] qemu: Use full CPU model expansion on x86

Jiri Denemark jdenemar at redhat.com
Thu Feb 23 14:15:17 UTC 2017


The static CPU model expansion is designed to return only canonical
names of all CPU properties. To maintain backwards compatibility libvirt
is stuck with different spelling of some of the features, but we need to
use the full expansion to get the additional spellings. In addition to
returning all spelling variants for all properties the full expansion
will contain properties which are not guaranteed to be migration
compatible. Thus, we need to combine both expansions. First we need to
call the static expansion to limit the result to migratable properties.
Then we can use the result of the static expansion as an input to the
full expansion to get both canonical names and their aliases.

Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
---

Notes:
    Version 3:
    - reworded the commit message a bit
    - moved retry label just above switch (type) to simplify the code
    - added a comment to explain why we are jumping back
    
    Version 2:
    - no change

 src/qemu/qemu_capabilities.c                       |  10 +-
 src/qemu/qemu_monitor.h                            |   2 +
 src/qemu/qemu_monitor_json.c                       |  21 +-
 .../domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml |   2 -
 tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml   |   3 +-
 .../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 476 +++++++++++++++++++++
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml   | 178 ++++++--
 7 files changed, 654 insertions(+), 38 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 3f0a0ef07..ce191ee99 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -2845,6 +2845,7 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCapsPtr qemuCaps,
 {
     qemuMonitorCPUModelInfoPtr *modelInfo;
     const char *model;
+    qemuMonitorCPUModelExpansionType type;
 
     if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION))
         return 0;
@@ -2857,9 +2858,12 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCapsPtr qemuCaps,
         model = "host";
     }
 
-    return qemuMonitorGetCPUModelExpansion(mon,
-                                           QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC,
-                                           model, modelInfo);
+    if (ARCH_IS_X86(qemuCaps->arch))
+        type = QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL;
+    else
+        type = QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC;
+
+    return qemuMonitorGetCPUModelExpansion(mon, type, model, modelInfo);
 }
 
 struct tpmTypeToCaps {
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
index 208da2d05..591d6a48f 100644
--- a/src/qemu/qemu_monitor.h
+++ b/src/qemu/qemu_monitor.h
@@ -954,6 +954,8 @@ struct _qemuMonitorCPUModelInfo {
 
 typedef enum {
     QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC,
+    QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL,
+    QEMU_MONITOR_CPU_MODEL_EXPANSION_FULL,
 } qemuMonitorCPUModelExpansionType;
 
 int qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon,
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 7461c8567..7cf70e3b8 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -5031,7 +5031,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon,
                                     qemuMonitorCPUModelInfoPtr *model_info)
 {
     int ret = -1;
-    virJSONValuePtr model;
+    virJSONValuePtr model = NULL;
     virJSONValuePtr cmd = NULL;
     virJSONValuePtr reply = NULL;
     virJSONValuePtr data;
@@ -5049,10 +5049,16 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon,
     if (virJSONValueObjectAppendString(model, "name", model_name) < 0)
         goto cleanup;
 
+ retry:
     switch (type) {
     case QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC:
+    case QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL:
         typeStr = "static";
         break;
+
+    case QEMU_MONITOR_CPU_MODEL_EXPANSION_FULL:
+        typeStr = "full";
+        break;
     }
 
     if (!(cmd = qemuMonitorJSONMakeCommand("query-cpu-model-expansion",
@@ -5089,6 +5095,19 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon,
         goto cleanup;
     }
 
+    /* QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL requests "full" expansion
+     * on the result of the initial "static" expansion.
+     */
+    if (type == QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL) {
+        if (!(model = virJSONValueCopy(cpu_model)))
+            goto cleanup;
+
+        virJSONValueFree(cmd);
+        virJSONValueFree(reply);
+        type = QEMU_MONITOR_CPU_MODEL_EXPANSION_FULL;
+        goto retry;
+    }
+
     if (!(cpu_name = virJSONValueObjectGetString(cpu_model, "name"))) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("query-cpu-model-expansion reply data was missing 'name'"));
diff --git a/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml b/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml
index 1827b1d6f..573eb4bb6 100644
--- a/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml
@@ -46,9 +46,7 @@
       <feature policy='require' name='3dnowext'/>
       <feature policy='require' name='3dnow'/>
       <feature policy='require' name='cr8legacy'/>
-      <feature policy='disable' name='pclmuldq'/>
       <feature policy='disable' name='avx'/>
-      <feature policy='disable' name='lahf_lm'/>
       <feature policy='disable' name='misalignsse'/>
       <feature policy='disable' name='3dnowprefetch'/>
       <feature policy='disable' name='xop'/>
diff --git a/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml b/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml
index a7a2ecdea..b361475d7 100644
--- a/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml
@@ -26,11 +26,10 @@
       <feature policy='require' name='ss'/>
       <feature policy='require' name='vmx'/>
       <feature policy='require' name='hypervisor'/>
+      <feature policy='require' name='tsc_adjust'/>
       <feature policy='require' name='clflushopt'/>
       <feature policy='require' name='xsaves'/>
       <feature policy='require' name='pdpe1gb'/>
-      <feature policy='disable' name='pclmuldq'/>
-      <feature policy='disable' name='lahf_lm'/>
     </mode>
     <mode name='custom' supported='yes'>
       <model usable='yes'>qemu64</model>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
index 6cf1cdd3e..99556487f 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
@@ -14541,6 +14541,244 @@
 
 {
   "return": {
+    "model": {
+      "name": "base",
+      "props": {
+        "phys-bits": 0,
+        "core-id": -1,
+        "xlevel": 2147483656,
+        "cmov": true,
+        "ia64": false,
+        "aes": true,
+        "mmx": true,
+        "arat": true,
+        "rdpid": false,
+        "pause-filter": false,
+        "xsavec": true,
+        "osxsave": false,
+        "tsc-frequency": 0,
+        "xd": true,
+        "hv-vendor-id": "",
+        "kvm-asyncpf": true,
+        "kvm_asyncpf": true,
+        "perfctr_core": false,
+        "perfctr-core": false,
+        "mpx": true,
+        "avx512cd": false,
+        "decodeassists": false,
+        "pbe": false,
+        "sse4_1": true,
+        "sse4.1": true,
+        "sse4-1": true,
+        "family": 6,
+        "avx512f": false,
+        "xcrypt": false,
+        "hv-runtime": false,
+        "msr": true,
+        "mce": true,
+        "mca": true,
+        "thread-id": -1,
+        "min-level": 13,
+        "xgetbv1": true,
+        "cid": false,
+        "hv-relaxed": false,
+        "fxsr": true,
+        "ds": false,
+        "hv-crash": false,
+        "xsaveopt": true,
+        "xtpr": false,
+        "avx512-vpopcntdq": false,
+        "phe": false,
+        "avx512vl": false,
+        "extapic": false,
+        "3dnowprefetch": true,
+        "cr8legacy": false,
+        "cpuid-0xb": true,
+        "xcrypt-en": false,
+        "kvm_pv_eoi": true,
+        "apic-id": 4294967295,
+        "pn": false,
+        "dca": false,
+        "vendor": "GenuineIntel",
+        "pku": false,
+        "smx": false,
+        "cmp-legacy": false,
+        "cmp_legacy": false,
+        "avx512-4fmaps": false,
+        "vmcb-clean": false,
+        "vmcb_clean": false,
+        "3dnowext": false,
+        "hle": true,
+        "npt": false,
+        "memory": "/machine/unattached/system[0]",
+        "clwb": false,
+        "lbrv": false,
+        "adx": true,
+        "ss": true,
+        "pni": true,
+        "svm_lock": false,
+        "svm-lock": false,
+        "smep": true,
+        "pfthreshold": false,
+        "smap": true,
+        "x2apic": true,
+        "avx512vbmi": false,
+        "hv-stimer": false,
+        "i64": true,
+        "flushbyasid": false,
+        "f16c": true,
+        "ace2-en": false,
+        "pat": true,
+        "pae": true,
+        "sse": true,
+        "phe-en": false,
+        "kvm-nopiodelay": true,
+        "kvm_nopiodelay": true,
+        "tm": false,
+        "kvmclock-stable-bit": true,
+        "hypervisor": true,
+        "socket-id": -1,
+        "pcommit": false,
+        "syscall": true,
+        "level": 13,
+        "avx512dq": false,
+        "svm": false,
+        "full-cpuid-auto-level": true,
+        "hv-reset": false,
+        "invtsc": false,
+        "sse3": true,
+        "sse2": true,
+        "est": false,
+        "avx512ifma": false,
+        "tm2": false,
+        "kvm-pv-eoi": true,
+        "cx8": true,
+        "kvm-mmu": false,
+        "kvm_mmu": false,
+        "sse4_2": true,
+        "sse4.2": true,
+        "sse4-2": true,
+        "pge": true,
+        "fill-mtrr-mask": true,
+        "pdcm": false,
+        "nodeid_msr": false,
+        "model": 94,
+        "movbe": true,
+        "nrip-save": false,
+        "nrip_save": false,
+        "sse4a": false,
+        "ssse3": true,
+        "kvm_pv_unhalt": true,
+        "invpcid": true,
+        "pdpe1gb": true,
+        "tsc-deadline": true,
+        "fma": true,
+        "cx16": true,
+        "de": true,
+        "enforce": false,
+        "stepping": 3,
+        "xsave": true,
+        "clflush": true,
+        "skinit": false,
+        "tce": false,
+        "tsc": true,
+        "fpu": true,
+        "ds-cpl": false,
+        "ds_cpl": false,
+        "ibs": false,
+        "host-phys-bits": false,
+        "fma4": false,
+        "la57": false,
+        "osvw": false,
+        "check": true,
+        "pmm": false,
+        "apic": true,
+        "pmu": false,
+        "min-xlevel2": 0,
+        "tsc-adjust": true,
+        "tsc_adjust": true,
+        "kvm-steal-time": true,
+        "kvm_steal_time": true,
+        "kvmclock": true,
+        "l3-cache": true,
+        "lwp": false,
+        "xop": false,
+        "avx": true,
+        "ospke": false,
+        "ace2": false,
+        "acpi": false,
+        "avx512bw": false,
+        "hv-vapic": false,
+        "fsgsbase": true,
+        "ht": false,
+        "nx": true,
+        "pclmulqdq": true,
+        "mmxext": false,
+        "popcnt": true,
+        "xsaves": true,
+        "lm": true,
+        "umip": false,
+        "avx2": true,
+        "pse": true,
+        "sep": true,
+        "pclmuldq": true,
+        "nodeid-msr": false,
+        "kvm": true,
+        "misalignsse": false,
+        "min-xlevel": 2147483656,
+        "bmi2": true,
+        "bmi1": true,
+        "kvm-pv-unhalt": true,
+        "realized": false,
+        "tsc_scale": false,
+        "tsc-scale": false,
+        "topoext": false,
+        "hv-vpindex": false,
+        "xlevel2": 0,
+        "clflushopt": true,
+        "monitor": false,
+        "avx512er": false,
+        "pmm-en": false,
+        "pcid": true,
+        "3dnow": false,
+        "erms": true,
+        "lahf-lm": true,
+        "lahf_lm": true,
+        "xstore": false,
+        "hv-synic": false,
+        "fxsr-opt": false,
+        "fxsr_opt": false,
+        "rtm": true,
+        "lmce": true,
+        "hv-time": false,
+        "perfctr-nb": false,
+        "perfctr_nb": false,
+        "ffxsr": false,
+        "rdrand": true,
+        "rdseed": true,
+        "avx512-4vnniw": false,
+        "vme": true,
+        "vmx": true,
+        "dtes64": false,
+        "mtrr": true,
+        "rdtscp": true,
+        "pse36": true,
+        "tbm": false,
+        "wdt": false,
+        "pause_filter": false,
+        "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz",
+        "sha-ni": false,
+        "abm": true,
+        "avx512pf": false,
+        "xstore-en": false
+      }
+    }
+  },
+  "id": "libvirt-49"
+}
+
+{
+  "return": {
   },
   "id": "libvirt-1"
 }
@@ -15068,3 +15306,241 @@
   },
   "id": "libvirt-3"
 }
+
+{
+  "return": {
+    "model": {
+      "name": "base",
+      "props": {
+        "phys-bits": 0,
+        "core-id": -1,
+        "xlevel": 2147483658,
+        "cmov": true,
+        "ia64": false,
+        "aes": true,
+        "mmx": true,
+        "arat": true,
+        "rdpid": false,
+        "pause-filter": false,
+        "xsavec": false,
+        "osxsave": false,
+        "tsc-frequency": 0,
+        "xd": true,
+        "hv-vendor-id": "",
+        "kvm-asyncpf": false,
+        "kvm_asyncpf": false,
+        "perfctr_core": false,
+        "perfctr-core": false,
+        "mpx": true,
+        "avx512cd": false,
+        "decodeassists": false,
+        "pbe": false,
+        "sse4_1": true,
+        "sse4.1": true,
+        "sse4-1": true,
+        "family": 6,
+        "avx512f": false,
+        "xcrypt": false,
+        "hv-runtime": false,
+        "msr": true,
+        "mce": true,
+        "mca": true,
+        "thread-id": -1,
+        "min-level": 13,
+        "xgetbv1": true,
+        "cid": false,
+        "hv-relaxed": false,
+        "fxsr": true,
+        "ds": false,
+        "hv-crash": false,
+        "xsaveopt": true,
+        "xtpr": false,
+        "avx512-vpopcntdq": false,
+        "phe": false,
+        "avx512vl": false,
+        "extapic": false,
+        "3dnowprefetch": false,
+        "cr8legacy": true,
+        "cpuid-0xb": true,
+        "xcrypt-en": false,
+        "kvm_pv_eoi": false,
+        "apic-id": 4294967295,
+        "pn": false,
+        "dca": false,
+        "vendor": "AuthenticAMD",
+        "pku": true,
+        "smx": false,
+        "cmp-legacy": false,
+        "cmp_legacy": false,
+        "avx512-4fmaps": false,
+        "vmcb-clean": false,
+        "vmcb_clean": false,
+        "3dnowext": true,
+        "hle": false,
+        "npt": false,
+        "memory": "/machine/unattached/system[0]",
+        "clwb": true,
+        "lbrv": false,
+        "adx": true,
+        "ss": true,
+        "pni": true,
+        "svm_lock": false,
+        "svm-lock": false,
+        "smep": true,
+        "pfthreshold": false,
+        "smap": true,
+        "x2apic": false,
+        "avx512vbmi": false,
+        "hv-stimer": false,
+        "i64": true,
+        "flushbyasid": false,
+        "f16c": false,
+        "ace2-en": false,
+        "pat": true,
+        "pae": true,
+        "sse": true,
+        "phe-en": false,
+        "kvm-nopiodelay": false,
+        "kvm_nopiodelay": false,
+        "tm": false,
+        "kvmclock-stable-bit": false,
+        "hypervisor": true,
+        "socket-id": -1,
+        "pcommit": true,
+        "syscall": true,
+        "level": 13,
+        "avx512dq": false,
+        "svm": true,
+        "full-cpuid-auto-level": true,
+        "hv-reset": false,
+        "invtsc": false,
+        "sse3": true,
+        "sse2": true,
+        "est": false,
+        "avx512ifma": false,
+        "tm2": false,
+        "kvm-pv-eoi": false,
+        "cx8": true,
+        "kvm-mmu": false,
+        "kvm_mmu": false,
+        "sse4_2": true,
+        "sse4.2": true,
+        "sse4-2": true,
+        "pge": true,
+        "fill-mtrr-mask": true,
+        "pdcm": false,
+        "nodeid_msr": false,
+        "model": 6,
+        "movbe": true,
+        "nrip-save": false,
+        "nrip_save": false,
+        "sse4a": true,
+        "ssse3": true,
+        "kvm_pv_unhalt": false,
+        "invpcid": false,
+        "pdpe1gb": true,
+        "tsc-deadline": false,
+        "fma": false,
+        "cx16": true,
+        "de": true,
+        "enforce": false,
+        "stepping": 3,
+        "xsave": true,
+        "clflush": true,
+        "skinit": false,
+        "tce": false,
+        "tsc": true,
+        "fpu": true,
+        "ds-cpl": false,
+        "ds_cpl": false,
+        "ibs": false,
+        "host-phys-bits": false,
+        "fma4": false,
+        "la57": true,
+        "osvw": false,
+        "check": true,
+        "pmm": false,
+        "apic": true,
+        "pmu": false,
+        "min-xlevel2": 0,
+        "tsc-adjust": false,
+        "tsc_adjust": false,
+        "kvm-steal-time": false,
+        "kvm_steal_time": false,
+        "kvmclock": false,
+        "l3-cache": true,
+        "lwp": false,
+        "xop": false,
+        "avx": false,
+        "ospke": true,
+        "ace2": false,
+        "acpi": true,
+        "avx512bw": false,
+        "hv-vapic": false,
+        "fsgsbase": true,
+        "ht": false,
+        "nx": true,
+        "pclmulqdq": true,
+        "mmxext": true,
+        "popcnt": true,
+        "xsaves": false,
+        "lm": true,
+        "umip": false,
+        "avx2": false,
+        "pse": true,
+        "sep": true,
+        "pclmuldq": true,
+        "nodeid-msr": false,
+        "kvm": true,
+        "misalignsse": false,
+        "min-xlevel": 2147483658,
+        "bmi2": true,
+        "bmi1": true,
+        "kvm-pv-unhalt": false,
+        "realized": false,
+        "tsc_scale": false,
+        "tsc-scale": false,
+        "topoext": false,
+        "hv-vpindex": false,
+        "xlevel2": 0,
+        "clflushopt": true,
+        "monitor": true,
+        "avx512er": false,
+        "pmm-en": false,
+        "pcid": false,
+        "3dnow": true,
+        "erms": true,
+        "lahf-lm": true,
+        "lahf_lm": true,
+        "xstore": false,
+        "hv-synic": false,
+        "fxsr-opt": false,
+        "fxsr_opt": false,
+        "rtm": false,
+        "lmce": false,
+        "hv-time": false,
+        "perfctr-nb": false,
+        "perfctr_nb": false,
+        "ffxsr": false,
+        "rdrand": false,
+        "rdseed": false,
+        "avx512-4vnniw": false,
+        "vme": false,
+        "vmx": false,
+        "dtes64": false,
+        "mtrr": true,
+        "rdtscp": true,
+        "pse36": true,
+        "tbm": false,
+        "wdt": false,
+        "pause_filter": false,
+        "model-id": "QEMU TCG CPU version 2.5+",
+        "sha-ni": false,
+        "abm": true,
+        "avx512pf": false,
+        "xstore-en": false
+      }
+    }
+  },
+  "id": "libvirt-4"
+}
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
index 2afd78a98..07661fc6e 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
@@ -208,80 +208,109 @@
   <package> (v2.8.0-1428-g1b1a68c602)</package>
   <arch>x86_64</arch>
   <hostCPU type='kvm' model='base'>
+    <property name='phys-bits' type='number' value='0'/>
+    <property name='core-id' type='number' value='18446744073709551615'/>
+    <property name='xlevel' type='number' value='2147483656'/>
     <property name='cmov' type='boolean' value='true'/>
     <property name='ia64' type='boolean' value='false'/>
     <property name='aes' type='boolean' value='true'/>
     <property name='mmx' type='boolean' value='true'/>
-    <property name='rdpid' type='boolean' value='false'/>
     <property name='arat' type='boolean' value='true'/>
+    <property name='rdpid' type='boolean' value='false'/>
     <property name='pause-filter' type='boolean' value='false'/>
     <property name='xsavec' type='boolean' value='true'/>
     <property name='osxsave' type='boolean' value='false'/>
+    <property name='tsc-frequency' type='number' value='0'/>
+    <property name='xd' type='boolean' value='true'/>
+    <property name='hv-vendor-id' type='string' value=''/>
     <property name='kvm-asyncpf' type='boolean' value='true'/>
+    <property name='kvm_asyncpf' type='boolean' value='true'/>
+    <property name='perfctr_core' type='boolean' value='false'/>
     <property name='perfctr-core' type='boolean' value='false'/>
     <property name='mpx' type='boolean' value='true'/>
-    <property name='pbe' type='boolean' value='false'/>
     <property name='avx512cd' type='boolean' value='false'/>
     <property name='decodeassists' type='boolean' value='false'/>
+    <property name='pbe' type='boolean' value='false'/>
+    <property name='sse4_1' type='boolean' value='true'/>
     <property name='sse4.1' type='boolean' value='true'/>
+    <property name='sse4-1' type='boolean' value='true'/>
     <property name='family' type='number' value='6'/>
     <property name='avx512f' type='boolean' value='false'/>
+    <property name='xcrypt' type='boolean' value='false'/>
+    <property name='hv-runtime' type='boolean' value='false'/>
     <property name='msr' type='boolean' value='true'/>
     <property name='mce' type='boolean' value='true'/>
     <property name='mca' type='boolean' value='true'/>
-    <property name='xcrypt' type='boolean' value='false'/>
+    <property name='thread-id' type='number' value='18446744073709551615'/>
     <property name='min-level' type='number' value='13'/>
     <property name='xgetbv1' type='boolean' value='true'/>
     <property name='cid' type='boolean' value='false'/>
-    <property name='ds' type='boolean' value='false'/>
+    <property name='hv-relaxed' type='boolean' value='false'/>
     <property name='fxsr' type='boolean' value='true'/>
+    <property name='ds' type='boolean' value='false'/>
+    <property name='hv-crash' type='boolean' value='false'/>
     <property name='xsaveopt' type='boolean' value='true'/>
     <property name='xtpr' type='boolean' value='false'/>
-    <property name='avx512vl' type='boolean' value='false'/>
     <property name='avx512-vpopcntdq' type='boolean' value='false'/>
     <property name='phe' type='boolean' value='false'/>
+    <property name='avx512vl' type='boolean' value='false'/>
     <property name='extapic' type='boolean' value='false'/>
     <property name='3dnowprefetch' type='boolean' value='true'/>
     <property name='cr8legacy' type='boolean' value='false'/>
+    <property name='cpuid-0xb' type='boolean' value='true'/>
     <property name='xcrypt-en' type='boolean' value='false'/>
+    <property name='kvm_pv_eoi' type='boolean' value='true'/>
+    <property name='apic-id' type='number' value='4294967295'/>
     <property name='pn' type='boolean' value='false'/>
     <property name='dca' type='boolean' value='false'/>
     <property name='vendor' type='string' value='GenuineIntel'/>
     <property name='pku' type='boolean' value='false'/>
     <property name='smx' type='boolean' value='false'/>
     <property name='cmp-legacy' type='boolean' value='false'/>
+    <property name='cmp_legacy' type='boolean' value='false'/>
     <property name='avx512-4fmaps' type='boolean' value='false'/>
     <property name='vmcb-clean' type='boolean' value='false'/>
-    <property name='hle' type='boolean' value='true'/>
+    <property name='vmcb_clean' type='boolean' value='false'/>
     <property name='3dnowext' type='boolean' value='false'/>
+    <property name='hle' type='boolean' value='true'/>
     <property name='npt' type='boolean' value='false'/>
+    <property name='memory' type='string' value='/machine/unattached/system[0]'/>
     <property name='clwb' type='boolean' value='false'/>
     <property name='lbrv' type='boolean' value='false'/>
     <property name='adx' type='boolean' value='true'/>
     <property name='ss' type='boolean' value='true'/>
     <property name='pni' type='boolean' value='true'/>
+    <property name='svm_lock' type='boolean' value='false'/>
     <property name='svm-lock' type='boolean' value='false'/>
     <property name='smep' type='boolean' value='true'/>
-    <property name='smap' type='boolean' value='true'/>
     <property name='pfthreshold' type='boolean' value='false'/>
+    <property name='smap' type='boolean' value='true'/>
     <property name='x2apic' type='boolean' value='true'/>
     <property name='avx512vbmi' type='boolean' value='false'/>
+    <property name='hv-stimer' type='boolean' value='false'/>
+    <property name='i64' type='boolean' value='true'/>
     <property name='flushbyasid' type='boolean' value='false'/>
     <property name='f16c' type='boolean' value='true'/>
     <property name='ace2-en' type='boolean' value='false'/>
-    <property name='pae' type='boolean' value='true'/>
     <property name='pat' type='boolean' value='true'/>
+    <property name='pae' type='boolean' value='true'/>
     <property name='sse' type='boolean' value='true'/>
     <property name='phe-en' type='boolean' value='false'/>
     <property name='kvm-nopiodelay' type='boolean' value='true'/>
+    <property name='kvm_nopiodelay' type='boolean' value='true'/>
     <property name='tm' type='boolean' value='false'/>
     <property name='kvmclock-stable-bit' type='boolean' value='true'/>
     <property name='hypervisor' type='boolean' value='true'/>
+    <property name='socket-id' type='number' value='18446744073709551615'/>
     <property name='pcommit' type='boolean' value='false'/>
     <property name='syscall' type='boolean' value='true'/>
+    <property name='level' type='number' value='13'/>
     <property name='avx512dq' type='boolean' value='false'/>
     <property name='svm' type='boolean' value='false'/>
+    <property name='full-cpuid-auto-level' type='boolean' value='true'/>
+    <property name='hv-reset' type='boolean' value='false'/>
     <property name='invtsc' type='boolean' value='false'/>
+    <property name='sse3' type='boolean' value='true'/>
     <property name='sse2' type='boolean' value='true'/>
     <property name='est' type='boolean' value='false'/>
     <property name='avx512ifma' type='boolean' value='false'/>
@@ -289,44 +318,61 @@
     <property name='kvm-pv-eoi' type='boolean' value='true'/>
     <property name='cx8' type='boolean' value='true'/>
     <property name='kvm-mmu' type='boolean' value='false'/>
+    <property name='kvm_mmu' type='boolean' value='false'/>
+    <property name='sse4_2' type='boolean' value='true'/>
     <property name='sse4.2' type='boolean' value='true'/>
+    <property name='sse4-2' type='boolean' value='true'/>
     <property name='pge' type='boolean' value='true'/>
+    <property name='fill-mtrr-mask' type='boolean' value='true'/>
     <property name='pdcm' type='boolean' value='false'/>
+    <property name='nodeid_msr' type='boolean' value='false'/>
     <property name='model' type='number' value='94'/>
     <property name='movbe' type='boolean' value='true'/>
     <property name='nrip-save' type='boolean' value='false'/>
-    <property name='ssse3' type='boolean' value='true'/>
+    <property name='nrip_save' type='boolean' value='false'/>
     <property name='sse4a' type='boolean' value='false'/>
+    <property name='ssse3' type='boolean' value='true'/>
+    <property name='kvm_pv_unhalt' type='boolean' value='true'/>
     <property name='invpcid' type='boolean' value='true'/>
     <property name='pdpe1gb' type='boolean' value='true'/>
     <property name='tsc-deadline' type='boolean' value='true'/>
     <property name='fma' type='boolean' value='true'/>
     <property name='cx16' type='boolean' value='true'/>
     <property name='de' type='boolean' value='true'/>
+    <property name='enforce' type='boolean' value='false'/>
     <property name='stepping' type='number' value='3'/>
     <property name='xsave' type='boolean' value='true'/>
     <property name='clflush' type='boolean' value='true'/>
     <property name='skinit' type='boolean' value='false'/>
-    <property name='tsc' type='boolean' value='true'/>
     <property name='tce' type='boolean' value='false'/>
+    <property name='tsc' type='boolean' value='true'/>
     <property name='fpu' type='boolean' value='true'/>
     <property name='ds-cpl' type='boolean' value='false'/>
+    <property name='ds_cpl' type='boolean' value='false'/>
     <property name='ibs' type='boolean' value='false'/>
+    <property name='host-phys-bits' type='boolean' value='false'/>
     <property name='fma4' type='boolean' value='false'/>
     <property name='la57' type='boolean' value='false'/>
     <property name='osvw' type='boolean' value='false'/>
-    <property name='apic' type='boolean' value='true'/>
+    <property name='check' type='boolean' value='true'/>
     <property name='pmm' type='boolean' value='false'/>
+    <property name='apic' type='boolean' value='true'/>
+    <property name='pmu' type='boolean' value='false'/>
+    <property name='min-xlevel2' type='number' value='0'/>
     <property name='tsc-adjust' type='boolean' value='true'/>
+    <property name='tsc_adjust' type='boolean' value='true'/>
     <property name='kvm-steal-time' type='boolean' value='true'/>
+    <property name='kvm_steal_time' type='boolean' value='true'/>
     <property name='kvmclock' type='boolean' value='true'/>
+    <property name='l3-cache' type='boolean' value='true'/>
     <property name='lwp' type='boolean' value='false'/>
     <property name='xop' type='boolean' value='false'/>
     <property name='avx' type='boolean' value='true'/>
     <property name='ospke' type='boolean' value='false'/>
+    <property name='ace2' type='boolean' value='false'/>
     <property name='acpi' type='boolean' value='false'/>
     <property name='avx512bw' type='boolean' value='false'/>
-    <property name='ace2' type='boolean' value='false'/>
+    <property name='hv-vapic' type='boolean' value='false'/>
     <property name='fsgsbase' type='boolean' value='true'/>
     <property name='ht' type='boolean' value='false'/>
     <property name='nx' type='boolean' value='true'/>
@@ -336,17 +382,23 @@
     <property name='xsaves' type='boolean' value='true'/>
     <property name='lm' type='boolean' value='true'/>
     <property name='umip' type='boolean' value='false'/>
-    <property name='pse' type='boolean' value='true'/>
     <property name='avx2' type='boolean' value='true'/>
+    <property name='pse' type='boolean' value='true'/>
     <property name='sep' type='boolean' value='true'/>
+    <property name='pclmuldq' type='boolean' value='true'/>
     <property name='nodeid-msr' type='boolean' value='false'/>
+    <property name='kvm' type='boolean' value='true'/>
     <property name='misalignsse' type='boolean' value='false'/>
     <property name='min-xlevel' type='number' value='2147483656'/>
-    <property name='bmi1' type='boolean' value='true'/>
     <property name='bmi2' type='boolean' value='true'/>
+    <property name='bmi1' type='boolean' value='true'/>
     <property name='kvm-pv-unhalt' type='boolean' value='true'/>
+    <property name='realized' type='boolean' value='false'/>
+    <property name='tsc_scale' type='boolean' value='false'/>
     <property name='tsc-scale' type='boolean' value='false'/>
     <property name='topoext' type='boolean' value='false'/>
+    <property name='hv-vpindex' type='boolean' value='false'/>
+    <property name='xlevel2' type='number' value='0'/>
     <property name='clflushopt' type='boolean' value='true'/>
     <property name='monitor' type='boolean' value='false'/>
     <property name='avx512er' type='boolean' value='false'/>
@@ -355,11 +407,17 @@
     <property name='3dnow' type='boolean' value='false'/>
     <property name='erms' type='boolean' value='true'/>
     <property name='lahf-lm' type='boolean' value='true'/>
-    <property name='fxsr-opt' type='boolean' value='false'/>
+    <property name='lahf_lm' type='boolean' value='true'/>
     <property name='xstore' type='boolean' value='false'/>
+    <property name='hv-synic' type='boolean' value='false'/>
+    <property name='fxsr-opt' type='boolean' value='false'/>
+    <property name='fxsr_opt' type='boolean' value='false'/>
     <property name='rtm' type='boolean' value='true'/>
     <property name='lmce' type='boolean' value='true'/>
+    <property name='hv-time' type='boolean' value='false'/>
     <property name='perfctr-nb' type='boolean' value='false'/>
+    <property name='perfctr_nb' type='boolean' value='false'/>
+    <property name='ffxsr' type='boolean' value='false'/>
     <property name='rdrand' type='boolean' value='true'/>
     <property name='rdseed' type='boolean' value='true'/>
     <property name='avx512-4vnniw' type='boolean' value='false'/>
@@ -371,6 +429,7 @@
     <property name='pse36' type='boolean' value='true'/>
     <property name='tbm' type='boolean' value='false'/>
     <property name='wdt' type='boolean' value='false'/>
+    <property name='pause_filter' type='boolean' value='false'/>
     <property name='model-id' type='string' value='Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz'/>
     <property name='sha-ni' type='boolean' value='false'/>
     <property name='abm' type='boolean' value='true'/>
@@ -378,80 +437,109 @@
     <property name='xstore-en' type='boolean' value='false'/>
   </hostCPU>
   <hostCPU type='tcg' model='base'>
+    <property name='phys-bits' type='number' value='0'/>
+    <property name='core-id' type='number' value='18446744073709551615'/>
+    <property name='xlevel' type='number' value='2147483658'/>
     <property name='cmov' type='boolean' value='true'/>
     <property name='ia64' type='boolean' value='false'/>
     <property name='aes' type='boolean' value='true'/>
     <property name='mmx' type='boolean' value='true'/>
-    <property name='rdpid' type='boolean' value='false'/>
     <property name='arat' type='boolean' value='true'/>
+    <property name='rdpid' type='boolean' value='false'/>
     <property name='pause-filter' type='boolean' value='false'/>
     <property name='xsavec' type='boolean' value='false'/>
     <property name='osxsave' type='boolean' value='false'/>
+    <property name='tsc-frequency' type='number' value='0'/>
+    <property name='xd' type='boolean' value='true'/>
+    <property name='hv-vendor-id' type='string' value=''/>
     <property name='kvm-asyncpf' type='boolean' value='false'/>
+    <property name='kvm_asyncpf' type='boolean' value='false'/>
+    <property name='perfctr_core' type='boolean' value='false'/>
     <property name='perfctr-core' type='boolean' value='false'/>
     <property name='mpx' type='boolean' value='true'/>
-    <property name='pbe' type='boolean' value='false'/>
     <property name='avx512cd' type='boolean' value='false'/>
     <property name='decodeassists' type='boolean' value='false'/>
+    <property name='pbe' type='boolean' value='false'/>
+    <property name='sse4_1' type='boolean' value='true'/>
     <property name='sse4.1' type='boolean' value='true'/>
+    <property name='sse4-1' type='boolean' value='true'/>
     <property name='family' type='number' value='6'/>
     <property name='avx512f' type='boolean' value='false'/>
+    <property name='xcrypt' type='boolean' value='false'/>
+    <property name='hv-runtime' type='boolean' value='false'/>
     <property name='msr' type='boolean' value='true'/>
     <property name='mce' type='boolean' value='true'/>
     <property name='mca' type='boolean' value='true'/>
-    <property name='xcrypt' type='boolean' value='false'/>
+    <property name='thread-id' type='number' value='18446744073709551615'/>
     <property name='min-level' type='number' value='13'/>
     <property name='xgetbv1' type='boolean' value='true'/>
     <property name='cid' type='boolean' value='false'/>
-    <property name='ds' type='boolean' value='false'/>
+    <property name='hv-relaxed' type='boolean' value='false'/>
     <property name='fxsr' type='boolean' value='true'/>
+    <property name='ds' type='boolean' value='false'/>
+    <property name='hv-crash' type='boolean' value='false'/>
     <property name='xsaveopt' type='boolean' value='true'/>
     <property name='xtpr' type='boolean' value='false'/>
-    <property name='avx512vl' type='boolean' value='false'/>
     <property name='avx512-vpopcntdq' type='boolean' value='false'/>
     <property name='phe' type='boolean' value='false'/>
+    <property name='avx512vl' type='boolean' value='false'/>
     <property name='extapic' type='boolean' value='false'/>
     <property name='3dnowprefetch' type='boolean' value='false'/>
     <property name='cr8legacy' type='boolean' value='true'/>
+    <property name='cpuid-0xb' type='boolean' value='true'/>
     <property name='xcrypt-en' type='boolean' value='false'/>
+    <property name='kvm_pv_eoi' type='boolean' value='false'/>
+    <property name='apic-id' type='number' value='4294967295'/>
     <property name='pn' type='boolean' value='false'/>
     <property name='dca' type='boolean' value='false'/>
     <property name='vendor' type='string' value='AuthenticAMD'/>
     <property name='pku' type='boolean' value='true'/>
     <property name='smx' type='boolean' value='false'/>
     <property name='cmp-legacy' type='boolean' value='false'/>
+    <property name='cmp_legacy' type='boolean' value='false'/>
     <property name='avx512-4fmaps' type='boolean' value='false'/>
     <property name='vmcb-clean' type='boolean' value='false'/>
-    <property name='hle' type='boolean' value='false'/>
+    <property name='vmcb_clean' type='boolean' value='false'/>
     <property name='3dnowext' type='boolean' value='true'/>
+    <property name='hle' type='boolean' value='false'/>
     <property name='npt' type='boolean' value='false'/>
+    <property name='memory' type='string' value='/machine/unattached/system[0]'/>
     <property name='clwb' type='boolean' value='true'/>
     <property name='lbrv' type='boolean' value='false'/>
     <property name='adx' type='boolean' value='true'/>
     <property name='ss' type='boolean' value='true'/>
     <property name='pni' type='boolean' value='true'/>
+    <property name='svm_lock' type='boolean' value='false'/>
     <property name='svm-lock' type='boolean' value='false'/>
     <property name='smep' type='boolean' value='true'/>
-    <property name='smap' type='boolean' value='true'/>
     <property name='pfthreshold' type='boolean' value='false'/>
+    <property name='smap' type='boolean' value='true'/>
     <property name='x2apic' type='boolean' value='false'/>
     <property name='avx512vbmi' type='boolean' value='false'/>
+    <property name='hv-stimer' type='boolean' value='false'/>
+    <property name='i64' type='boolean' value='true'/>
     <property name='flushbyasid' type='boolean' value='false'/>
     <property name='f16c' type='boolean' value='false'/>
     <property name='ace2-en' type='boolean' value='false'/>
-    <property name='pae' type='boolean' value='true'/>
     <property name='pat' type='boolean' value='true'/>
+    <property name='pae' type='boolean' value='true'/>
     <property name='sse' type='boolean' value='true'/>
     <property name='phe-en' type='boolean' value='false'/>
     <property name='kvm-nopiodelay' type='boolean' value='false'/>
+    <property name='kvm_nopiodelay' type='boolean' value='false'/>
     <property name='tm' type='boolean' value='false'/>
     <property name='kvmclock-stable-bit' type='boolean' value='false'/>
     <property name='hypervisor' type='boolean' value='true'/>
+    <property name='socket-id' type='number' value='18446744073709551615'/>
     <property name='pcommit' type='boolean' value='true'/>
     <property name='syscall' type='boolean' value='true'/>
+    <property name='level' type='number' value='13'/>
     <property name='avx512dq' type='boolean' value='false'/>
     <property name='svm' type='boolean' value='true'/>
+    <property name='full-cpuid-auto-level' type='boolean' value='true'/>
+    <property name='hv-reset' type='boolean' value='false'/>
     <property name='invtsc' type='boolean' value='false'/>
+    <property name='sse3' type='boolean' value='true'/>
     <property name='sse2' type='boolean' value='true'/>
     <property name='est' type='boolean' value='false'/>
     <property name='avx512ifma' type='boolean' value='false'/>
@@ -459,44 +547,61 @@
     <property name='kvm-pv-eoi' type='boolean' value='false'/>
     <property name='cx8' type='boolean' value='true'/>
     <property name='kvm-mmu' type='boolean' value='false'/>
+    <property name='kvm_mmu' type='boolean' value='false'/>
+    <property name='sse4_2' type='boolean' value='true'/>
     <property name='sse4.2' type='boolean' value='true'/>
+    <property name='sse4-2' type='boolean' value='true'/>
     <property name='pge' type='boolean' value='true'/>
+    <property name='fill-mtrr-mask' type='boolean' value='true'/>
     <property name='pdcm' type='boolean' value='false'/>
+    <property name='nodeid_msr' type='boolean' value='false'/>
     <property name='model' type='number' value='6'/>
     <property name='movbe' type='boolean' value='true'/>
     <property name='nrip-save' type='boolean' value='false'/>
-    <property name='ssse3' type='boolean' value='true'/>
+    <property name='nrip_save' type='boolean' value='false'/>
     <property name='sse4a' type='boolean' value='true'/>
+    <property name='ssse3' type='boolean' value='true'/>
+    <property name='kvm_pv_unhalt' type='boolean' value='false'/>
     <property name='invpcid' type='boolean' value='false'/>
     <property name='pdpe1gb' type='boolean' value='true'/>
     <property name='tsc-deadline' type='boolean' value='false'/>
     <property name='fma' type='boolean' value='false'/>
     <property name='cx16' type='boolean' value='true'/>
     <property name='de' type='boolean' value='true'/>
+    <property name='enforce' type='boolean' value='false'/>
     <property name='stepping' type='number' value='3'/>
     <property name='xsave' type='boolean' value='true'/>
     <property name='clflush' type='boolean' value='true'/>
     <property name='skinit' type='boolean' value='false'/>
-    <property name='tsc' type='boolean' value='true'/>
     <property name='tce' type='boolean' value='false'/>
+    <property name='tsc' type='boolean' value='true'/>
     <property name='fpu' type='boolean' value='true'/>
     <property name='ds-cpl' type='boolean' value='false'/>
+    <property name='ds_cpl' type='boolean' value='false'/>
     <property name='ibs' type='boolean' value='false'/>
+    <property name='host-phys-bits' type='boolean' value='false'/>
     <property name='fma4' type='boolean' value='false'/>
     <property name='la57' type='boolean' value='true'/>
     <property name='osvw' type='boolean' value='false'/>
-    <property name='apic' type='boolean' value='true'/>
+    <property name='check' type='boolean' value='true'/>
     <property name='pmm' type='boolean' value='false'/>
+    <property name='apic' type='boolean' value='true'/>
+    <property name='pmu' type='boolean' value='false'/>
+    <property name='min-xlevel2' type='number' value='0'/>
     <property name='tsc-adjust' type='boolean' value='false'/>
+    <property name='tsc_adjust' type='boolean' value='false'/>
     <property name='kvm-steal-time' type='boolean' value='false'/>
+    <property name='kvm_steal_time' type='boolean' value='false'/>
     <property name='kvmclock' type='boolean' value='false'/>
+    <property name='l3-cache' type='boolean' value='true'/>
     <property name='lwp' type='boolean' value='false'/>
     <property name='xop' type='boolean' value='false'/>
     <property name='avx' type='boolean' value='false'/>
     <property name='ospke' type='boolean' value='true'/>
+    <property name='ace2' type='boolean' value='false'/>
     <property name='acpi' type='boolean' value='true'/>
     <property name='avx512bw' type='boolean' value='false'/>
-    <property name='ace2' type='boolean' value='false'/>
+    <property name='hv-vapic' type='boolean' value='false'/>
     <property name='fsgsbase' type='boolean' value='true'/>
     <property name='ht' type='boolean' value='false'/>
     <property name='nx' type='boolean' value='true'/>
@@ -506,17 +611,23 @@
     <property name='xsaves' type='boolean' value='false'/>
     <property name='lm' type='boolean' value='true'/>
     <property name='umip' type='boolean' value='false'/>
-    <property name='pse' type='boolean' value='true'/>
     <property name='avx2' type='boolean' value='false'/>
+    <property name='pse' type='boolean' value='true'/>
     <property name='sep' type='boolean' value='true'/>
+    <property name='pclmuldq' type='boolean' value='true'/>
     <property name='nodeid-msr' type='boolean' value='false'/>
+    <property name='kvm' type='boolean' value='true'/>
     <property name='misalignsse' type='boolean' value='false'/>
     <property name='min-xlevel' type='number' value='2147483658'/>
-    <property name='bmi1' type='boolean' value='true'/>
     <property name='bmi2' type='boolean' value='true'/>
+    <property name='bmi1' type='boolean' value='true'/>
     <property name='kvm-pv-unhalt' type='boolean' value='false'/>
+    <property name='realized' type='boolean' value='false'/>
+    <property name='tsc_scale' type='boolean' value='false'/>
     <property name='tsc-scale' type='boolean' value='false'/>
     <property name='topoext' type='boolean' value='false'/>
+    <property name='hv-vpindex' type='boolean' value='false'/>
+    <property name='xlevel2' type='number' value='0'/>
     <property name='clflushopt' type='boolean' value='true'/>
     <property name='monitor' type='boolean' value='true'/>
     <property name='avx512er' type='boolean' value='false'/>
@@ -525,11 +636,17 @@
     <property name='3dnow' type='boolean' value='true'/>
     <property name='erms' type='boolean' value='true'/>
     <property name='lahf-lm' type='boolean' value='true'/>
-    <property name='fxsr-opt' type='boolean' value='false'/>
+    <property name='lahf_lm' type='boolean' value='true'/>
     <property name='xstore' type='boolean' value='false'/>
+    <property name='hv-synic' type='boolean' value='false'/>
+    <property name='fxsr-opt' type='boolean' value='false'/>
+    <property name='fxsr_opt' type='boolean' value='false'/>
     <property name='rtm' type='boolean' value='false'/>
     <property name='lmce' type='boolean' value='false'/>
+    <property name='hv-time' type='boolean' value='false'/>
     <property name='perfctr-nb' type='boolean' value='false'/>
+    <property name='perfctr_nb' type='boolean' value='false'/>
+    <property name='ffxsr' type='boolean' value='false'/>
     <property name='rdrand' type='boolean' value='false'/>
     <property name='rdseed' type='boolean' value='false'/>
     <property name='avx512-4vnniw' type='boolean' value='false'/>
@@ -541,6 +658,7 @@
     <property name='pse36' type='boolean' value='true'/>
     <property name='tbm' type='boolean' value='false'/>
     <property name='wdt' type='boolean' value='false'/>
+    <property name='pause_filter' type='boolean' value='false'/>
     <property name='model-id' type='string' value='QEMU TCG CPU version 2.5+'/>
     <property name='sha-ni' type='boolean' value='false'/>
     <property name='abm' type='boolean' value='true'/>
-- 
2.11.1




More information about the libvir-list mailing list