[libvirt] [PATCH v2 24/33] qemu: Use full CPU model expansion on x86

John Ferlan jferlan at redhat.com
Wed Feb 22 04:11:54 UTC 2017



On 02/15/2017 11:44 AM, Jiri Denemark wrote:
> The static CPU model expansion is designed to return only canonical
> names of all CPU properties. TO maintain backward compatibility libvirt

s/TO/To

> is stuck with different spelling of some of the features, which is only
> returned by the full expansion. But in addition to returned all spelling

s/returned/returning

> variants for all properties the full expansion will contain properties
> which are not guaranteed to be migration compatible. 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 2:
>     - no change
> 
>  src/qemu/qemu_capabilities.c                       |  10 +-
>  src/qemu/qemu_monitor.h                            |   2 +
>  src/qemu/qemu_monitor_json.c                       |  28 +-
>  .../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, 657 insertions(+), 42 deletions(-)
> 
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index 20aaaf8f0..a77e300b7 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -2844,6 +2844,7 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCapsPtr qemuCaps,
>  {
>      qemuMonitorCPUModelInfoPtr *modelInfo;
>      const char *model;
> +    qemuMonitorCPUModelExpansionType type;
>  
>      if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION))
>          return 0;
> @@ -2856,9 +2857,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 b61f1cf54..6407a309f 100644
> --- a/src/qemu/qemu_monitor.h
> +++ b/src/qemu/qemu_monitor.h
> @@ -950,6 +950,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 dd7907482..0454571c1 100644
> --- a/src/qemu/qemu_monitor_json.c
> +++ b/src/qemu/qemu_monitor_json.c
> @@ -5026,7 +5026,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon,
>                                      qemuMonitorCPUModelInfoPtr *model_info)
>  {
>      int ret = -1;
> -    virJSONValuePtr model;
> +    virJSONValuePtr model = NULL;
>      virJSONValuePtr cmd = NULL;
>      virJSONValuePtr reply = NULL;
>      virJSONValuePtr data;
> @@ -5038,16 +5038,24 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon,
>  
>      *model_info = NULL;
>  
> -    if (!(model = virJSONValueNewObject()))
> -        goto cleanup;
> + retry:
> +    if (!model) {
> +        if (!(model = virJSONValueNewObject()))
> +            goto cleanup;
>  
> -    if (virJSONValueObjectAppendString(model, "name", model_name) < 0)
> -        goto cleanup;
> +        if (virJSONValueObjectAppendString(model, "name", model_name) < 0)
> +            goto cleanup;
> +    }
>  
>      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",
> @@ -5084,6 +5092,16 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon,
>          goto cleanup;
>      }
>  
> +    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;

When you get here, model must be set.. The retry label tests for not
set, which cannot be true - so why would the retry label be on the
switch statement?  If it did move, then the move of the AppendString
inside the "if" wouldn't be necessary.

> +    }
> +

This just seems odd - it's not really a retry, it's like piling on. To
me retry is like trying again because something failed. In this case you
get static, but then add on the full afterwards. I don't have a better
suggestion for a label name.

Obviously things work, another weak ACK (sorry it's just getting late
for me and this is a long series)...

John

>      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 390f40f9f..6b1e9ea8a 100644
> --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
> @@ -14360,6 +14360,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"
>  }
> @@ -14887,3 +15125,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 520bf80f4..aae71b1fc 100644
> --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
> @@ -206,80 +206,109 @@
>    <package> (v2.8.0-877-g38e4b757b4)</package>
>    <arch>x86_64</arch>
>    <hostCPU type='kvm' model='base'>
> +    <property name='phys-bits' ull='0'/>
> +    <property name='core-id' ull='18446744073709551615'/>
> +    <property name='xlevel' ull='2147483656'/>
>      <property name='cmov' boolean='yes'/>
>      <property name='ia64' boolean='no'/>
>      <property name='aes' boolean='yes'/>
>      <property name='mmx' boolean='yes'/>
> -    <property name='rdpid' boolean='no'/>
>      <property name='arat' boolean='yes'/>
> +    <property name='rdpid' boolean='no'/>
>      <property name='pause-filter' boolean='no'/>
>      <property name='xsavec' boolean='yes'/>
>      <property name='osxsave' boolean='no'/>
> +    <property name='tsc-frequency' ull='0'/>
> +    <property name='xd' boolean='yes'/>
> +    <property name='hv-vendor-id' string=''/>
>      <property name='kvm-asyncpf' boolean='yes'/>
> +    <property name='kvm_asyncpf' boolean='yes'/>
> +    <property name='perfctr_core' boolean='no'/>
>      <property name='perfctr-core' boolean='no'/>
>      <property name='mpx' boolean='yes'/>
> -    <property name='pbe' boolean='no'/>
>      <property name='avx512cd' boolean='no'/>
>      <property name='decodeassists' boolean='no'/>
> +    <property name='pbe' boolean='no'/>
> +    <property name='sse4_1' boolean='yes'/>
>      <property name='sse4.1' boolean='yes'/>
> +    <property name='sse4-1' boolean='yes'/>
>      <property name='family' ull='6'/>
>      <property name='avx512f' boolean='no'/>
> +    <property name='xcrypt' boolean='no'/>
> +    <property name='hv-runtime' boolean='no'/>
>      <property name='msr' boolean='yes'/>
>      <property name='mce' boolean='yes'/>
>      <property name='mca' boolean='yes'/>
> -    <property name='xcrypt' boolean='no'/>
> +    <property name='thread-id' ull='18446744073709551615'/>
>      <property name='min-level' ull='13'/>
>      <property name='xgetbv1' boolean='yes'/>
>      <property name='cid' boolean='no'/>
> -    <property name='ds' boolean='no'/>
> +    <property name='hv-relaxed' boolean='no'/>
>      <property name='fxsr' boolean='yes'/>
> +    <property name='ds' boolean='no'/>
> +    <property name='hv-crash' boolean='no'/>
>      <property name='xsaveopt' boolean='yes'/>
>      <property name='xtpr' boolean='no'/>
> -    <property name='avx512vl' boolean='no'/>
>      <property name='avx512-vpopcntdq' boolean='no'/>
>      <property name='phe' boolean='no'/>
> +    <property name='avx512vl' boolean='no'/>
>      <property name='extapic' boolean='no'/>
>      <property name='3dnowprefetch' boolean='yes'/>
>      <property name='cr8legacy' boolean='no'/>
> +    <property name='cpuid-0xb' boolean='yes'/>
>      <property name='xcrypt-en' boolean='no'/>
> +    <property name='kvm_pv_eoi' boolean='yes'/>
> +    <property name='apic-id' ull='4294967295'/>
>      <property name='pn' boolean='no'/>
>      <property name='dca' boolean='no'/>
>      <property name='vendor' string='GenuineIntel'/>
>      <property name='pku' boolean='no'/>
>      <property name='smx' boolean='no'/>
>      <property name='cmp-legacy' boolean='no'/>
> +    <property name='cmp_legacy' boolean='no'/>
>      <property name='avx512-4fmaps' boolean='no'/>
>      <property name='vmcb-clean' boolean='no'/>
> -    <property name='hle' boolean='yes'/>
> +    <property name='vmcb_clean' boolean='no'/>
>      <property name='3dnowext' boolean='no'/>
> +    <property name='hle' boolean='yes'/>
>      <property name='npt' boolean='no'/>
> +    <property name='memory' string='/machine/unattached/system[0]'/>
>      <property name='clwb' boolean='no'/>
>      <property name='lbrv' boolean='no'/>
>      <property name='adx' boolean='yes'/>
>      <property name='ss' boolean='yes'/>
>      <property name='pni' boolean='yes'/>
> +    <property name='svm_lock' boolean='no'/>
>      <property name='svm-lock' boolean='no'/>
>      <property name='smep' boolean='yes'/>
> -    <property name='smap' boolean='yes'/>
>      <property name='pfthreshold' boolean='no'/>
> +    <property name='smap' boolean='yes'/>
>      <property name='x2apic' boolean='yes'/>
>      <property name='avx512vbmi' boolean='no'/>
> +    <property name='hv-stimer' boolean='no'/>
> +    <property name='i64' boolean='yes'/>
>      <property name='flushbyasid' boolean='no'/>
>      <property name='f16c' boolean='yes'/>
>      <property name='ace2-en' boolean='no'/>
> -    <property name='pae' boolean='yes'/>
>      <property name='pat' boolean='yes'/>
> +    <property name='pae' boolean='yes'/>
>      <property name='sse' boolean='yes'/>
>      <property name='phe-en' boolean='no'/>
>      <property name='kvm-nopiodelay' boolean='yes'/>
> +    <property name='kvm_nopiodelay' boolean='yes'/>
>      <property name='tm' boolean='no'/>
>      <property name='kvmclock-stable-bit' boolean='yes'/>
>      <property name='hypervisor' boolean='yes'/>
> +    <property name='socket-id' ull='18446744073709551615'/>
>      <property name='pcommit' boolean='no'/>
>      <property name='syscall' boolean='yes'/>
> +    <property name='level' ull='13'/>
>      <property name='avx512dq' boolean='no'/>
>      <property name='svm' boolean='no'/>
> +    <property name='full-cpuid-auto-level' boolean='yes'/>
> +    <property name='hv-reset' boolean='no'/>
>      <property name='invtsc' boolean='no'/>
> +    <property name='sse3' boolean='yes'/>
>      <property name='sse2' boolean='yes'/>
>      <property name='est' boolean='no'/>
>      <property name='avx512ifma' boolean='no'/>
> @@ -287,44 +316,61 @@
>      <property name='kvm-pv-eoi' boolean='yes'/>
>      <property name='cx8' boolean='yes'/>
>      <property name='kvm-mmu' boolean='no'/>
> +    <property name='kvm_mmu' boolean='no'/>
> +    <property name='sse4_2' boolean='yes'/>
>      <property name='sse4.2' boolean='yes'/>
> +    <property name='sse4-2' boolean='yes'/>
>      <property name='pge' boolean='yes'/>
> +    <property name='fill-mtrr-mask' boolean='yes'/>
>      <property name='pdcm' boolean='no'/>
> +    <property name='nodeid_msr' boolean='no'/>
>      <property name='model' ull='94'/>
>      <property name='movbe' boolean='yes'/>
>      <property name='nrip-save' boolean='no'/>
> -    <property name='ssse3' boolean='yes'/>
> +    <property name='nrip_save' boolean='no'/>
>      <property name='sse4a' boolean='no'/>
> +    <property name='ssse3' boolean='yes'/>
> +    <property name='kvm_pv_unhalt' boolean='yes'/>
>      <property name='invpcid' boolean='yes'/>
>      <property name='pdpe1gb' boolean='yes'/>
>      <property name='tsc-deadline' boolean='yes'/>
>      <property name='fma' boolean='yes'/>
>      <property name='cx16' boolean='yes'/>
>      <property name='de' boolean='yes'/>
> +    <property name='enforce' boolean='no'/>
>      <property name='stepping' ull='3'/>
>      <property name='xsave' boolean='yes'/>
>      <property name='clflush' boolean='yes'/>
>      <property name='skinit' boolean='no'/>
> -    <property name='tsc' boolean='yes'/>
>      <property name='tce' boolean='no'/>
> +    <property name='tsc' boolean='yes'/>
>      <property name='fpu' boolean='yes'/>
>      <property name='ds-cpl' boolean='no'/>
> +    <property name='ds_cpl' boolean='no'/>
>      <property name='ibs' boolean='no'/>
> +    <property name='host-phys-bits' boolean='no'/>
>      <property name='fma4' boolean='no'/>
>      <property name='la57' boolean='no'/>
>      <property name='osvw' boolean='no'/>
> -    <property name='apic' boolean='yes'/>
> +    <property name='check' boolean='yes'/>
>      <property name='pmm' boolean='no'/>
> +    <property name='apic' boolean='yes'/>
> +    <property name='pmu' boolean='no'/>
> +    <property name='min-xlevel2' ull='0'/>
>      <property name='tsc-adjust' boolean='yes'/>
> +    <property name='tsc_adjust' boolean='yes'/>
>      <property name='kvm-steal-time' boolean='yes'/>
> +    <property name='kvm_steal_time' boolean='yes'/>
>      <property name='kvmclock' boolean='yes'/>
> +    <property name='l3-cache' boolean='yes'/>
>      <property name='lwp' boolean='no'/>
>      <property name='xop' boolean='no'/>
>      <property name='avx' boolean='yes'/>
>      <property name='ospke' boolean='no'/>
> +    <property name='ace2' boolean='no'/>
>      <property name='acpi' boolean='no'/>
>      <property name='avx512bw' boolean='no'/>
> -    <property name='ace2' boolean='no'/>
> +    <property name='hv-vapic' boolean='no'/>
>      <property name='fsgsbase' boolean='yes'/>
>      <property name='ht' boolean='no'/>
>      <property name='nx' boolean='yes'/>
> @@ -334,17 +380,23 @@
>      <property name='xsaves' boolean='yes'/>
>      <property name='lm' boolean='yes'/>
>      <property name='umip' boolean='no'/>
> -    <property name='pse' boolean='yes'/>
>      <property name='avx2' boolean='yes'/>
> +    <property name='pse' boolean='yes'/>
>      <property name='sep' boolean='yes'/>
> +    <property name='pclmuldq' boolean='yes'/>
>      <property name='nodeid-msr' boolean='no'/>
> +    <property name='kvm' boolean='yes'/>
>      <property name='misalignsse' boolean='no'/>
>      <property name='min-xlevel' ull='2147483656'/>
> -    <property name='bmi1' boolean='yes'/>
>      <property name='bmi2' boolean='yes'/>
> +    <property name='bmi1' boolean='yes'/>
>      <property name='kvm-pv-unhalt' boolean='yes'/>
> +    <property name='realized' boolean='no'/>
> +    <property name='tsc_scale' boolean='no'/>
>      <property name='tsc-scale' boolean='no'/>
>      <property name='topoext' boolean='no'/>
> +    <property name='hv-vpindex' boolean='no'/>
> +    <property name='xlevel2' ull='0'/>
>      <property name='clflushopt' boolean='yes'/>
>      <property name='monitor' boolean='no'/>
>      <property name='avx512er' boolean='no'/>
> @@ -353,11 +405,17 @@
>      <property name='3dnow' boolean='no'/>
>      <property name='erms' boolean='yes'/>
>      <property name='lahf-lm' boolean='yes'/>
> -    <property name='fxsr-opt' boolean='no'/>
> +    <property name='lahf_lm' boolean='yes'/>
>      <property name='xstore' boolean='no'/>
> +    <property name='hv-synic' boolean='no'/>
> +    <property name='fxsr-opt' boolean='no'/>
> +    <property name='fxsr_opt' boolean='no'/>
>      <property name='rtm' boolean='yes'/>
>      <property name='lmce' boolean='yes'/>
> +    <property name='hv-time' boolean='no'/>
>      <property name='perfctr-nb' boolean='no'/>
> +    <property name='perfctr_nb' boolean='no'/>
> +    <property name='ffxsr' boolean='no'/>
>      <property name='rdrand' boolean='yes'/>
>      <property name='rdseed' boolean='yes'/>
>      <property name='avx512-4vnniw' boolean='no'/>
> @@ -369,6 +427,7 @@
>      <property name='pse36' boolean='yes'/>
>      <property name='tbm' boolean='no'/>
>      <property name='wdt' boolean='no'/>
> +    <property name='pause_filter' boolean='no'/>
>      <property name='model-id' string='Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz'/>
>      <property name='sha-ni' boolean='no'/>
>      <property name='abm' boolean='yes'/>
> @@ -376,80 +435,109 @@
>      <property name='xstore-en' boolean='no'/>
>    </hostCPU>
>    <hostCPU type='tcg' model='base'>
> +    <property name='phys-bits' ull='0'/>
> +    <property name='core-id' ull='18446744073709551615'/>
> +    <property name='xlevel' ull='2147483658'/>
>      <property name='cmov' boolean='yes'/>
>      <property name='ia64' boolean='no'/>
>      <property name='aes' boolean='yes'/>
>      <property name='mmx' boolean='yes'/>
> -    <property name='rdpid' boolean='no'/>
>      <property name='arat' boolean='yes'/>
> +    <property name='rdpid' boolean='no'/>
>      <property name='pause-filter' boolean='no'/>
>      <property name='xsavec' boolean='no'/>
>      <property name='osxsave' boolean='no'/>
> +    <property name='tsc-frequency' ull='0'/>
> +    <property name='xd' boolean='yes'/>
> +    <property name='hv-vendor-id' string=''/>
>      <property name='kvm-asyncpf' boolean='no'/>
> +    <property name='kvm_asyncpf' boolean='no'/>
> +    <property name='perfctr_core' boolean='no'/>
>      <property name='perfctr-core' boolean='no'/>
>      <property name='mpx' boolean='yes'/>
> -    <property name='pbe' boolean='no'/>
>      <property name='avx512cd' boolean='no'/>
>      <property name='decodeassists' boolean='no'/>
> +    <property name='pbe' boolean='no'/>
> +    <property name='sse4_1' boolean='yes'/>
>      <property name='sse4.1' boolean='yes'/>
> +    <property name='sse4-1' boolean='yes'/>
>      <property name='family' ull='6'/>
>      <property name='avx512f' boolean='no'/>
> +    <property name='xcrypt' boolean='no'/>
> +    <property name='hv-runtime' boolean='no'/>
>      <property name='msr' boolean='yes'/>
>      <property name='mce' boolean='yes'/>
>      <property name='mca' boolean='yes'/>
> -    <property name='xcrypt' boolean='no'/>
> +    <property name='thread-id' ull='18446744073709551615'/>
>      <property name='min-level' ull='13'/>
>      <property name='xgetbv1' boolean='yes'/>
>      <property name='cid' boolean='no'/>
> -    <property name='ds' boolean='no'/>
> +    <property name='hv-relaxed' boolean='no'/>
>      <property name='fxsr' boolean='yes'/>
> +    <property name='ds' boolean='no'/>
> +    <property name='hv-crash' boolean='no'/>
>      <property name='xsaveopt' boolean='yes'/>
>      <property name='xtpr' boolean='no'/>
> -    <property name='avx512vl' boolean='no'/>
>      <property name='avx512-vpopcntdq' boolean='no'/>
>      <property name='phe' boolean='no'/>
> +    <property name='avx512vl' boolean='no'/>
>      <property name='extapic' boolean='no'/>
>      <property name='3dnowprefetch' boolean='no'/>
>      <property name='cr8legacy' boolean='yes'/>
> +    <property name='cpuid-0xb' boolean='yes'/>
>      <property name='xcrypt-en' boolean='no'/>
> +    <property name='kvm_pv_eoi' boolean='no'/>
> +    <property name='apic-id' ull='4294967295'/>
>      <property name='pn' boolean='no'/>
>      <property name='dca' boolean='no'/>
>      <property name='vendor' string='AuthenticAMD'/>
>      <property name='pku' boolean='yes'/>
>      <property name='smx' boolean='no'/>
>      <property name='cmp-legacy' boolean='no'/>
> +    <property name='cmp_legacy' boolean='no'/>
>      <property name='avx512-4fmaps' boolean='no'/>
>      <property name='vmcb-clean' boolean='no'/>
> -    <property name='hle' boolean='no'/>
> +    <property name='vmcb_clean' boolean='no'/>
>      <property name='3dnowext' boolean='yes'/>
> +    <property name='hle' boolean='no'/>
>      <property name='npt' boolean='no'/>
> +    <property name='memory' string='/machine/unattached/system[0]'/>
>      <property name='clwb' boolean='yes'/>
>      <property name='lbrv' boolean='no'/>
>      <property name='adx' boolean='yes'/>
>      <property name='ss' boolean='yes'/>
>      <property name='pni' boolean='yes'/>
> +    <property name='svm_lock' boolean='no'/>
>      <property name='svm-lock' boolean='no'/>
>      <property name='smep' boolean='yes'/>
> -    <property name='smap' boolean='yes'/>
>      <property name='pfthreshold' boolean='no'/>
> +    <property name='smap' boolean='yes'/>
>      <property name='x2apic' boolean='no'/>
>      <property name='avx512vbmi' boolean='no'/>
> +    <property name='hv-stimer' boolean='no'/>
> +    <property name='i64' boolean='yes'/>
>      <property name='flushbyasid' boolean='no'/>
>      <property name='f16c' boolean='no'/>
>      <property name='ace2-en' boolean='no'/>
> -    <property name='pae' boolean='yes'/>
>      <property name='pat' boolean='yes'/>
> +    <property name='pae' boolean='yes'/>
>      <property name='sse' boolean='yes'/>
>      <property name='phe-en' boolean='no'/>
>      <property name='kvm-nopiodelay' boolean='no'/>
> +    <property name='kvm_nopiodelay' boolean='no'/>
>      <property name='tm' boolean='no'/>
>      <property name='kvmclock-stable-bit' boolean='no'/>
>      <property name='hypervisor' boolean='yes'/>
> +    <property name='socket-id' ull='18446744073709551615'/>
>      <property name='pcommit' boolean='yes'/>
>      <property name='syscall' boolean='yes'/>
> +    <property name='level' ull='13'/>
>      <property name='avx512dq' boolean='no'/>
>      <property name='svm' boolean='yes'/>
> +    <property name='full-cpuid-auto-level' boolean='yes'/>
> +    <property name='hv-reset' boolean='no'/>
>      <property name='invtsc' boolean='no'/>
> +    <property name='sse3' boolean='yes'/>
>      <property name='sse2' boolean='yes'/>
>      <property name='est' boolean='no'/>
>      <property name='avx512ifma' boolean='no'/>
> @@ -457,44 +545,61 @@
>      <property name='kvm-pv-eoi' boolean='no'/>
>      <property name='cx8' boolean='yes'/>
>      <property name='kvm-mmu' boolean='no'/>
> +    <property name='kvm_mmu' boolean='no'/>
> +    <property name='sse4_2' boolean='yes'/>
>      <property name='sse4.2' boolean='yes'/>
> +    <property name='sse4-2' boolean='yes'/>
>      <property name='pge' boolean='yes'/>
> +    <property name='fill-mtrr-mask' boolean='yes'/>
>      <property name='pdcm' boolean='no'/>
> +    <property name='nodeid_msr' boolean='no'/>
>      <property name='model' ull='6'/>
>      <property name='movbe' boolean='yes'/>
>      <property name='nrip-save' boolean='no'/>
> -    <property name='ssse3' boolean='yes'/>
> +    <property name='nrip_save' boolean='no'/>
>      <property name='sse4a' boolean='yes'/>
> +    <property name='ssse3' boolean='yes'/>
> +    <property name='kvm_pv_unhalt' boolean='no'/>
>      <property name='invpcid' boolean='no'/>
>      <property name='pdpe1gb' boolean='yes'/>
>      <property name='tsc-deadline' boolean='no'/>
>      <property name='fma' boolean='no'/>
>      <property name='cx16' boolean='yes'/>
>      <property name='de' boolean='yes'/>
> +    <property name='enforce' boolean='no'/>
>      <property name='stepping' ull='3'/>
>      <property name='xsave' boolean='yes'/>
>      <property name='clflush' boolean='yes'/>
>      <property name='skinit' boolean='no'/>
> -    <property name='tsc' boolean='yes'/>
>      <property name='tce' boolean='no'/>
> +    <property name='tsc' boolean='yes'/>
>      <property name='fpu' boolean='yes'/>
>      <property name='ds-cpl' boolean='no'/>
> +    <property name='ds_cpl' boolean='no'/>
>      <property name='ibs' boolean='no'/>
> +    <property name='host-phys-bits' boolean='no'/>
>      <property name='fma4' boolean='no'/>
>      <property name='la57' boolean='yes'/>
>      <property name='osvw' boolean='no'/>
> -    <property name='apic' boolean='yes'/>
> +    <property name='check' boolean='yes'/>
>      <property name='pmm' boolean='no'/>
> +    <property name='apic' boolean='yes'/>
> +    <property name='pmu' boolean='no'/>
> +    <property name='min-xlevel2' ull='0'/>
>      <property name='tsc-adjust' boolean='no'/>
> +    <property name='tsc_adjust' boolean='no'/>
>      <property name='kvm-steal-time' boolean='no'/>
> +    <property name='kvm_steal_time' boolean='no'/>
>      <property name='kvmclock' boolean='no'/>
> +    <property name='l3-cache' boolean='yes'/>
>      <property name='lwp' boolean='no'/>
>      <property name='xop' boolean='no'/>
>      <property name='avx' boolean='no'/>
>      <property name='ospke' boolean='yes'/>
> +    <property name='ace2' boolean='no'/>
>      <property name='acpi' boolean='yes'/>
>      <property name='avx512bw' boolean='no'/>
> -    <property name='ace2' boolean='no'/>
> +    <property name='hv-vapic' boolean='no'/>
>      <property name='fsgsbase' boolean='yes'/>
>      <property name='ht' boolean='no'/>
>      <property name='nx' boolean='yes'/>
> @@ -504,17 +609,23 @@
>      <property name='xsaves' boolean='no'/>
>      <property name='lm' boolean='yes'/>
>      <property name='umip' boolean='no'/>
> -    <property name='pse' boolean='yes'/>
>      <property name='avx2' boolean='no'/>
> +    <property name='pse' boolean='yes'/>
>      <property name='sep' boolean='yes'/>
> +    <property name='pclmuldq' boolean='yes'/>
>      <property name='nodeid-msr' boolean='no'/>
> +    <property name='kvm' boolean='yes'/>
>      <property name='misalignsse' boolean='no'/>
>      <property name='min-xlevel' ull='2147483658'/>
> -    <property name='bmi1' boolean='yes'/>
>      <property name='bmi2' boolean='yes'/>
> +    <property name='bmi1' boolean='yes'/>
>      <property name='kvm-pv-unhalt' boolean='no'/>
> +    <property name='realized' boolean='no'/>
> +    <property name='tsc_scale' boolean='no'/>
>      <property name='tsc-scale' boolean='no'/>
>      <property name='topoext' boolean='no'/>
> +    <property name='hv-vpindex' boolean='no'/>
> +    <property name='xlevel2' ull='0'/>
>      <property name='clflushopt' boolean='yes'/>
>      <property name='monitor' boolean='yes'/>
>      <property name='avx512er' boolean='no'/>
> @@ -523,11 +634,17 @@
>      <property name='3dnow' boolean='yes'/>
>      <property name='erms' boolean='yes'/>
>      <property name='lahf-lm' boolean='yes'/>
> -    <property name='fxsr-opt' boolean='no'/>
> +    <property name='lahf_lm' boolean='yes'/>
>      <property name='xstore' boolean='no'/>
> +    <property name='hv-synic' boolean='no'/>
> +    <property name='fxsr-opt' boolean='no'/>
> +    <property name='fxsr_opt' boolean='no'/>
>      <property name='rtm' boolean='no'/>
>      <property name='lmce' boolean='no'/>
> +    <property name='hv-time' boolean='no'/>
>      <property name='perfctr-nb' boolean='no'/>
> +    <property name='perfctr_nb' boolean='no'/>
> +    <property name='ffxsr' boolean='no'/>
>      <property name='rdrand' boolean='no'/>
>      <property name='rdseed' boolean='no'/>
>      <property name='avx512-4vnniw' boolean='no'/>
> @@ -539,6 +656,7 @@
>      <property name='pse36' boolean='yes'/>
>      <property name='tbm' boolean='no'/>
>      <property name='wdt' boolean='no'/>
> +    <property name='pause_filter' boolean='no'/>
>      <property name='model-id' string='QEMU TCG CPU version 2.5+'/>
>      <property name='sha-ni' boolean='no'/>
>      <property name='abm' boolean='yes'/>
> 




More information about the libvir-list mailing list