From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) client-ip=209.132.183.39; envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by mx.zohomail.com with SMTPS id 1487859583493163.210409923199; Thu, 23 Feb 2017 06:19:43 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEGIPk008577; Thu, 23 Feb 2017 09:16:19 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFTmb022292 for ; Thu, 23 Feb 2017 09:15:29 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFRCV011337 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:28 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 599C310021D; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:14:59 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 01/28] qemucapstest: Update test data for QEMU 2.9.0 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Generated from Eduardo's work/x86-query-cpu-expansion-full branch rebased on current QEMU master. =20 Version 3: - regenerated with a rebased QEMU to avoid conflicts with existing caps_2.9.0.x86_64.replies file - summary changed from "qemucapstest: Add test data for QEMU 2.9.0" =20 Version 2: - no change .../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 224 +++++++++++++++++= +++- tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 170 +++++++++++++++- 2 files changed, 391 insertions(+), 3 deletions(-) diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_2.9.0.x86_64.replies index fe9fe7d5b..c000f8cf9 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies @@ -6,7 +6,7 @@ "minor": 8, "major": 2 }, - "package": " (v2.8.0-1321-gad584d3)" + "package": " (v2.8.0-1428-g1b1a68c602)" }, "capabilities": [ ] @@ -26,7 +26,7 @@ "minor": 8, "major": 2 }, - "package": " (v2.8.0-1321-gad584d3)" + "package": " (v2.8.0-1428-g1b1a68c602)" }, "id": "libvirt-2" } @@ -215,6 +215,9 @@ "name": "query-cpus" }, { + "name": "query-cpu-model-expansion" + }, + { "name": "query-cpu-definitions" }, { @@ -677,6 +680,9 @@ "name": "floppy-bus" }, { + "name": "base-x86_64-cpu" + }, + { "name": "isa-parallel" }, { @@ -1406,6 +1412,9 @@ "name": "pc-i440fx-1.7-machine" }, { + "name": "max-x86_64-cpu" + }, + { "name": "virtio-serial-device" }, { @@ -3996,6 +4005,14 @@ { "return": [ { + "name": "max", + "typename": "max-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": false + }, + { "name": "host", "typename": "host-x86_64-cpu", "unavailable-features": [ @@ -4004,6 +4021,14 @@ "migration-safe": false }, { + "name": "base", + "typename": "base-x86_64-cpu", + "unavailable-features": [ + ], + "static": true, + "migration-safe": true + }, + { "name": "qemu64", "typename": "qemu64-x86_64-cpu", "unavailable-features": [ @@ -14337,6 +14362,185 @@ =20 { "return": { + "model": { + "name": "base", + "props": { + "cmov": true, + "ia64": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "pause-filter": false, + "xsavec": true, + "osxsave": false, + "kvm-asyncpf": true, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "sse4.1": true, + "family": 6, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "cr8legacy": false, + "xcrypt-en": false, + "pn": false, + "dca": false, + "vendor": "GenuineIntel", + "pku": false, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": true, + "3dnowext": false, + "npt": false, + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "x2apic": true, + "avx512vbmi": false, + "flushbyasid": false, + "f16c": true, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "hypervisor": true, + "pcommit": false, + "syscall": true, + "avx512dq": false, + "svm": false, + "invtsc": false, + "sse2": true, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "cx8": true, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "pdcm": false, + "model": 94, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": false, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "fma": true, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "la57": false, + "osvw": false, + "apic": true, + "pmm": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "kvmclock": true, + "lwp": false, + "xop": false, + "avx": true, + "ospke": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "popcnt": true, + "xsaves": true, + "lm": true, + "umip": false, + "pse": true, + "avx2": true, + "sep": true, + "nodeid-msr": false, + "misalignsse": false, + "min-xlevel": 2147483656, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "clflushopt": true, + "monitor": false, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "3dnow": false, + "erms": true, + "lahf-lm": true, + "fxsr-opt": false, + "xstore": false, + "rtm": true, + "lmce": true, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "tbm": false, + "wdt": 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-48" +} + +{ + "return": { }, "id": "libvirt-1" } @@ -14344,6 +14548,14 @@ { "return": [ { + "name": "max", + "typename": "max-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": false + }, + { "name": "host", "typename": "host-x86_64-cpu", "unavailable-features": [ @@ -14353,6 +14565,14 @@ "migration-safe": false }, { + "name": "base", + "typename": "base-x86_64-cpu", + "unavailable-features": [ + ], + "static": true, + "migration-safe": true + }, + { "name": "qemu64", "typename": "qemu64-x86_64-cpu", "unavailable-features": [ diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.9.0.x86_64.xml index dcdc0e621..369e18ee1 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -201,12 +201,178 @@ + 2008050 0 - (v2.8.0-1321-gad584d3) + (v2.8.0-1428-g1b1a68c602) x86_64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -236,7 +402,9 @@ + + --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) client-ip=209.132.183.39; envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by mx.zohomail.com with SMTPS id 1487859526675828.5758734108852; Thu, 23 Feb 2017 06:18:46 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFUWF008129; Thu, 23 Feb 2017 09:15:31 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFTxi022285 for ; Thu, 23 Feb 2017 09:15:29 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFRAF000699 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:28 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 5B383102386; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:00 +0100 Message-Id: <3f00999e9acd4581de900a1f97eea4db31eda9e0.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 02/28] domaincapstest: Add test data for QEMU 2.9.0 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - no change .../domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml | 116 +++++++++++++++++= ++++ tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml | 116 +++++++++++++++++= ++++ tests/domaincapstest.c | 8 ++ 3 files changed, 240 insertions(+) create mode 100644 tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml create mode 100644 tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml diff --git a/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml b/tests/d= omaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml new file mode 100644 index 000000000..9b9dfec09 --- /dev/null +++ b/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml @@ -0,0 +1,116 @@ + + /usr/bin/qemu-system-x86_64 + qemu + pc-i440fx-2.9 + x86_64 + + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + + + + + Broadwell + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere + Skylake-Client + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem + IvyBridge + Haswell + Haswell-noTSX + Conroe + Broadwell + Broadwell-noTSX + 486 + + + + + + disk + cdrom + floppy + lun + + + ide + fdc + scsi + virtio + usb + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + kvm + vfio + + + + + + + diff --git a/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml b/tests/domai= ncapsschemadata/qemu_2.9.0.x86_64.xml new file mode 100644 index 000000000..49722f91f --- /dev/null +++ b/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml @@ -0,0 +1,116 @@ + + /usr/bin/qemu-system-x86_64 + kvm + pc-i440fx-2.9 + x86_64 + + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + + + + + Broadwell + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere + Skylake-Client + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem + IvyBridge + Haswell + Haswell-noTSX + Conroe + Broadwell + Broadwell-noTSX + 486 + + + + + + disk + cdrom + floppy + lun + + + ide + fdc + scsi + virtio + usb + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + kvm + vfio + + + + + + + diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c index 28d8609ac..9b64f2c18 100644 --- a/tests/domaincapstest.c +++ b/tests/domaincapstest.c @@ -453,6 +453,14 @@ mymain(void) "/usr/bin/qemu-system-x86_64", NULL, "x86_64", VIR_DOMAIN_VIRT_QEMU); =20 + DO_TEST_QEMU("2.9.0", "caps_2.9.0", + "/usr/bin/qemu-system-x86_64", NULL, + "x86_64", VIR_DOMAIN_VIRT_KVM); + + DO_TEST_QEMU("2.9.0-tcg", "caps_2.9.0", + "/usr/bin/qemu-system-x86_64", NULL, + "x86_64", VIR_DOMAIN_VIRT_QEMU); + DO_TEST_QEMU("2.7.0", "caps_2.7.0", "/usr/bin/qemu-system-s390x", NULL, "s390x", VIR_DOMAIN_VIRT_KVM); --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) client-ip=209.132.183.39; envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by mx.zohomail.com with SMTPS id 148785956998975.56978434883808; Thu, 23 Feb 2017 06:19:29 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEGIrR008578; Thu, 23 Feb 2017 09:16:19 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFTVO022282 for ; Thu, 23 Feb 2017 09:15:29 -0500 Received: by smtp.corp.redhat.com (Postfix) id F29481FC840; Thu, 23 Feb 2017 14:15:28 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9FC431FC844 for ; Thu, 23 Feb 2017 14:15:28 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 5D1B8102387; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:01 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 03/28] qemu: Refactor virQEMUCapsInitHostCPUModel X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - no change src/qemu/qemu_capabilities.c | 109 ++++++++++++++++++++++-----------------= ---- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 5b5e3ac18..0f5acb76a 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3048,37 +3048,36 @@ virQEMUCapsCPUFilterFeatures(const char *name, } =20 =20 -static void -virQEMUCapsCopyCPUModelFromQEMU(virQEMUCapsPtr qemuCaps) +/** + * Returns 0 when host CPU model provided by QEMU was filled in qemuCaps, + * 1 when the caller should fall back to using virCapsPtr->host.c= pu, + * -1 on error. + */ +static int +virQEMUCapsInitCPUModelS390(virQEMUCapsPtr qemuCaps, + virCPUDefPtr cpu) { - virCPUDefPtr cpu =3D NULL; - qemuMonitorCPUModelInfoPtr modelInfo =3D NULL; + qemuMonitorCPUModelInfoPtr modelInfo =3D qemuCaps->hostCPUModelInfo; size_t i; =20 - if (!(modelInfo =3D qemuCaps->hostCPUModelInfo)) { + if (!modelInfo) { virReportError(VIR_ERR_INTERNAL_ERROR, - _("missing host CPU model info from QEMU capabiliti= es" - " for binary %s"), qemuCaps->binary); - goto error; + _("missing host CPU model info from QEMU capabiliti= es " + "for binary %s"), + qemuCaps->binary); + return -1; } =20 - if (VIR_ALLOC(cpu) < 0) - goto error; - if (VIR_STRDUP(cpu->model, modelInfo->name) < 0 || VIR_ALLOC_N(cpu->features, modelInfo->nprops) < 0) - goto error; + return -1; =20 cpu->nfeatures_max =3D modelInfo->nprops; cpu->nfeatures =3D 0; - cpu->sockets =3D cpu->cores =3D cpu->threads =3D 0; - cpu->type =3D VIR_CPU_TYPE_GUEST; - cpu->mode =3D VIR_CPU_MODE_CUSTOM; - cpu->match =3D VIR_CPU_MATCH_EXACT; =20 for (i =3D 0; i < modelInfo->nprops; i++) { if (VIR_STRDUP(cpu->features[i].name, modelInfo->props[i].name) < = 0) - goto error; + return -1; =20 if (modelInfo->props[i].supported) cpu->features[i].policy =3D VIR_CPU_FEATURE_REQUIRE; @@ -3088,31 +3087,53 @@ virQEMUCapsCopyCPUModelFromQEMU(virQEMUCapsPtr qemu= Caps) cpu->nfeatures++; } =20 - qemuCaps->hostCPUModel =3D cpu; - return; - - error: - virCPUDefFree(cpu); - qemuCaps->hostCPUModel =3D NULL; - virResetLastError(); + return 0; } =20 =20 -static void -virQEMUCapsCopyCPUModelFromHost(virQEMUCapsPtr qemuCaps, - virCapsPtr caps) +/** + * Returns 0 when host CPU model provided by QEMU was filled in qemuCaps, + * 1 when the caller should fall back to using virCapsPtr->host.c= pu, + * -1 on error. + */ +static int +virQEMUCapsInitCPUModel(virQEMUCapsPtr qemuCaps, + virCPUDefPtr cpu) +{ + int ret =3D 1; + + if (ARCH_IS_S390(qemuCaps->arch)) + ret =3D virQEMUCapsInitCPUModelS390(qemuCaps, cpu); + + return ret; +} + + +void +virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, + virCapsPtr caps) { virCPUDefPtr cpu =3D NULL; + int rc; =20 - if (caps->host.cpu && caps->host.cpu->model) { - if (VIR_ALLOC(cpu) < 0) + if (!caps || !virQEMUCapsGuestIsNative(caps->host.arch, qemuCaps->arch= )) + return; + + if (VIR_ALLOC(cpu) < 0) + goto error; + + cpu->type =3D VIR_CPU_TYPE_GUEST; + cpu->mode =3D VIR_CPU_MODE_CUSTOM; + cpu->match =3D VIR_CPU_MATCH_EXACT; + cpu->fallback =3D VIR_CPU_FALLBACK_ALLOW; + + if ((rc =3D virQEMUCapsInitCPUModel(qemuCaps, cpu)) < 0) { + goto error; + } else if (rc =3D=3D 1) { + VIR_DEBUG("No host CPU model info from QEMU; using host capabiliti= es"); + if (!caps->host.cpu || !caps->host.cpu->model) goto error; =20 - cpu->sockets =3D cpu->cores =3D cpu->threads =3D 0; - cpu->type =3D VIR_CPU_TYPE_GUEST; - cpu->mode =3D VIR_CPU_MODE_CUSTOM; - cpu->match =3D VIR_CPU_MATCH_EXACT; - if (virCPUDefCopyModelFilter(cpu, caps->host.cpu, true, virQEMUCapsCPUFilterFeatures, qemuCaps) < 0) @@ -3124,30 +3145,10 @@ virQEMUCapsCopyCPUModelFromHost(virQEMUCapsPtr qemu= Caps, =20 error: virCPUDefFree(cpu); - qemuCaps->hostCPUModel =3D NULL; virResetLastError(); } =20 =20 -void -virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, - virCapsPtr caps) -{ - if (!caps || !virQEMUCapsGuestIsNative(caps->host.arch, qemuCaps->arch= )) - return; - - switch (qemuCaps->arch) { - case VIR_ARCH_S390: - case VIR_ARCH_S390X: - virQEMUCapsCopyCPUModelFromQEMU(qemuCaps); - break; - - default: - virQEMUCapsCopyCPUModelFromHost(qemuCaps, caps); - } -} - - static int virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCaps, xmlXPathContextPtr ctxt) --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.25 as permitted sender) client-ip=209.132.183.25; envelope-from=libvir-list-bounces@redhat.com; helo=mx4-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.25 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by mx.zohomail.com with SMTPS id 1487859531265886.0274224618021; Thu, 23 Feb 2017 06:18:51 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFUbO003533; Thu, 23 Feb 2017 09:15:31 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFSP2022277 for ; Thu, 23 Feb 2017 09:15:28 -0500 Received: by smtp.corp.redhat.com (Postfix) id CC8151FC845; Thu, 23 Feb 2017 14:15:28 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9F47E1FC840 for ; Thu, 23 Feb 2017 14:15:28 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 5F1BC102388; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:02 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 04/28] qemu: Fix CPU model fallback in domain capabilities X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Our documentation of the domain capabilities XML says that the fallback attribute of a CPU model is used to indicate whether the CPU model was detected by libvirt itself (fallback=3D"allow") or by asking the hypervisor (fallback=3D"forbid"). We need to properly set fallback=3D"forbid" when CPU model comes from QEMU to match the documentation. Signed-off-by: Jiri Denemark --- Notes: Version 3: - ACKed in v2 - no change =20 Version 2: - no change src/qemu/qemu_capabilities.c | 3 +++ tests/domaincapsschemadata/qemu_2.8.0.s390x.xml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 0f5acb76a..29ca3d4f9 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3105,6 +3105,9 @@ virQEMUCapsInitCPUModel(virQEMUCapsPtr qemuCaps, if (ARCH_IS_S390(qemuCaps->arch)) ret =3D virQEMUCapsInitCPUModelS390(qemuCaps, cpu); =20 + if (ret =3D=3D 0) + cpu->fallback =3D VIR_CPU_FALLBACK_FORBID; + return ret; } =20 diff --git a/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml b/tests/domain= capsschemadata/qemu_2.8.0.s390x.xml index efe345962..0b8135bc5 100644 --- a/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml +++ b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml @@ -21,7 +21,7 @@ - zEC12.2-base + zEC12.2-base --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) client-ip=209.132.183.24; envelope-from=libvir-list-bounces@redhat.com; helo=mx3-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by mx.zohomail.com with SMTPS id 1487859601607661.9560598183239; Thu, 23 Feb 2017 06:20:01 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEGwQS030050; Thu, 23 Feb 2017 09:16:58 -0500 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFUBP022304 for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFTKO015250 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 63461102389; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:03 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 05/28] docs: Update description of the host-model CPU mode X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - reworded and updated documentation =20 Version 2: - no change docs/formatdomain.html.in | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 02ce7924c..ee631186c 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -1272,19 +1272,21 @@ model even if the destination host contains more capable CPUs for the running instance of the guest; but shutting down and restart= ing the guest may present different hardware to the guest according = to - the capabilities of the new host. Beware, due t= o the - way libvirt detects host CPU and due to the fact libvirt does not - talk to QEMU/KVM when creating the CPU model, CPU configuration - created using host-model may not work as expected. = The - guest CPU may differ from the configuration and it may also conf= use - guest OS by using a combination of CPU features and other parame= ters - (such as CPUID level) that don't work. Until these issues are fi= xed, - it's a good idea to avoid using host-model and use - custom mode with just the CPU model from host - capabilities XML. - Since 1.2.11 PowerISA allows - processors to run VMs in binary compatibility mode supporting an - older version of ISA. Libvirt on PowerPC architecture uses the + the capabilities of the new host. Prior to libvirt 3.1.0 and QEMU + 2.9.0 detection of the host CPU model via QEMU is not supported. + Thus the CPU configuration created using host-model + may not work as expected. + Since 3.1.0 and QEMU 2.9.0 this mode + works the way it was designed and it is indicated by the + fallback attribute set to forbid in the + host-model CPU definition advertised in + domain capabilitie= s XML. + When fallback attribute is set to allow + in the domain capabilities XML, it is recommended to use + custom mode with just the CPU model from the host + capabilities XML. Since 1.2.11 Powe= rISA + allows processors to run VMs in binary compatibility mode suppor= ting + an older version of ISA. Libvirt on PowerPC architecture uses t= he host-model to signify a guest mode CPU running in binary compatibility mode. Example: When a user needs a power7 VM to run in compatibility mode @@ -1307,6 +1309,15 @@ a migration is attempted then the guest may hang or crash upon resuming execution on the destination host. + + Both host-model and host-passthrough mod= es + make sense when a domain can run directly on the host CPUs (for + example, domains with type kvm). The actual host CPU = is + irrelevant for domains with emulated virtual CPUs (such as domains= with + type qemu). However, for backward compatibility + host-model may be implemented even for domains runnin= g on + emulated CPUs in which case the best CPU the hypervisor is able to + emulate may be used rather then trying to mimic the host CPU model. =20
model
--=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) client-ip=209.132.183.24; envelope-from=libvir-list-bounces@redhat.com; helo=mx3-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by mx.zohomail.com with SMTPS id 1487859657526199.2864490760121; Thu, 23 Feb 2017 06:20:57 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEHag6030317; Thu, 23 Feb 2017 09:17:36 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFUF8022317 for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFTKl023992 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 64FF610238A; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:04 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 06/28] qemu: Rename hostCPU/feature element in capabilities cache X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The element will be generalized in the following commits. Signed-off-by: Jiri Denemark --- Notes: Version 3: - s/featureNodes/nodes/ - drop s/supported/boolean/ change =20 Version 2: - no change src/qemu/qemu_capabilities.c | 16 +- tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 30 +-- tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 322 +++++++++++--------= ---- 3 files changed, 184 insertions(+), 184 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 29ca3d4f9..c5643f7a0 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3158,7 +3158,7 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCa= ps, { char *str =3D NULL; xmlNodePtr hostCPUNode; - xmlNodePtr *featureNodes =3D NULL; + xmlNodePtr *nodes =3D NULL; xmlNodePtr oldnode =3D ctxt->node; qemuMonitorCPUModelInfoPtr hostCPU =3D NULL; int ret =3D -1; @@ -3182,25 +3182,25 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemu= Caps, =20 ctxt->node =3D hostCPUNode; =20 - if ((n =3D virXPathNodeSet("./feature", ctxt, &featureNodes)) > 0) { + if ((n =3D virXPathNodeSet("./property", ctxt, &nodes)) > 0) { if (VIR_ALLOC_N(hostCPU->props, n) < 0) goto cleanup; =20 hostCPU->nprops =3D n; =20 for (i =3D 0; i < n; i++) { - hostCPU->props[i].name =3D virXMLPropString(featureNodes[i], "= name"); + hostCPU->props[i].name =3D virXMLPropString(nodes[i], "name"); if (!hostCPU->props[i].name) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing 'name' attribute for a host CPU" - " model feature in QEMU capabilities cach= e")); + " model property in QEMU capabilities cac= he")); goto cleanup; } =20 - if (!(str =3D virXMLPropString(featureNodes[i], "supported")))= { + if (!(str =3D virXMLPropString(nodes[i], "supported"))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing 'supported' attribute for a host= CPU" - " model feature in QEMU capabilities cach= e")); + " model property in QEMU capabilities cac= he")); goto cleanup; } if (STREQ(str, "yes")) { @@ -3223,7 +3223,7 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCa= ps, cleanup: ctxt->node =3D oldnode; VIR_FREE(str); - VIR_FREE(featureNodes); + VIR_FREE(nodes); qemuMonitorCPUModelInfoFree(hostCPU); return ret; } @@ -3554,7 +3554,7 @@ virQEMUCapsFormatHostCPUModelInfo(virQEMUCapsPtr qemu= Caps, virBufferAdjustIndent(buf, 2); =20 for (i =3D 0; i < model->nprops; i++) { - virBufferAsprintf(buf, "\n", + virBufferAsprintf(buf, "\n= ", model->props[i].name, model->props[i].supported ? "yes" : "no"); } diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_2.8.0.s390x.xml index c4c9bf9d5..02e89c841 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml @@ -134,21 +134,21 @@ s390x - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.9.0.x86_64.xml index 369e18ee1..0f19d5242 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -208,167 +208,167 @@ (v2.8.0-1428-g1b1a68c602) x86_64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) client-ip=209.132.183.24; envelope-from=libvir-list-bounces@redhat.com; helo=mx3-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by mx.zohomail.com with SMTPS id 1487859767193754.1635949506192; Thu, 23 Feb 2017 06:22:47 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEIFOp030370; Thu, 23 Feb 2017 09:18:15 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFUUq022329 for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFT7b023994 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 66B3210238B; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:05 +0100 Message-Id: <472b3c6bcd8adee1680d8c8f699dff060e924518.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 07/28] qemu: Prepare for more types in qemuMonitorCPUModelInfo X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - new patch src/qemu/qemu_capabilities.c | 14 +- tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 30 +-- tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 322 +++++++++++--------= ---- 3 files changed, 183 insertions(+), 183 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index c5643f7a0..e037d5f95 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3197,19 +3197,19 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemu= Caps, goto cleanup; } =20 - if (!(str =3D virXMLPropString(nodes[i], "supported"))) { + if (!(str =3D virXMLPropString(nodes[i], "value"))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("missing 'supported' attribute for a host= CPU" + _("missing 'value' attribute for a host CPU" " model property in QEMU capabilities cac= he")); goto cleanup; } - if (STREQ(str, "yes")) { + if (STREQ(str, "true")) { hostCPU->props[i].supported =3D true; - } else if (STREQ(str, "no")) { + } else if (STREQ(str, "false")) { hostCPU->props[i].supported =3D false; } else { virReportError(VIR_ERR_INTERNAL_ERROR, - _("invalid supported value: '%s'"), str); + _("invalid boolean value: '%s'"), str); goto cleanup; } VIR_FREE(str); @@ -3554,9 +3554,9 @@ virQEMUCapsFormatHostCPUModelInfo(virQEMUCapsPtr qemu= Caps, virBufferAdjustIndent(buf, 2); =20 for (i =3D 0; i < model->nprops; i++) { - virBufferAsprintf(buf, "\n= ", + virBufferAsprintf(buf, "\n", model->props[i].name, - model->props[i].supported ? "yes" : "no"); + model->props[i].supported ? "true" : "false"); } =20 virBufferAdjustIndent(buf, -2); diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_2.8.0.s390x.xml index 02e89c841..84c570020 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml @@ -134,21 +134,21 @@ s390x - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.9.0.x86_64.xml index 0f19d5242..73d1e59c8 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -208,167 +208,167 @@ (v2.8.0-1428-g1b1a68c602) x86_64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) client-ip=209.132.183.37; envelope-from=libvir-list-bounces@redhat.com; helo=mx5-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by mx.zohomail.com with SMTPS id 1487859587996826.1805800634236; Thu, 23 Feb 2017 06:19:47 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx5-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEGI2m063632; Thu, 23 Feb 2017 09:16:19 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFU0W022323 for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: by smtp.corp.redhat.com (Postfix) id CC69D1FC847; Thu, 23 Feb 2017 14:15:30 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 547381FC845 for ; Thu, 23 Feb 2017 14:15:30 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 68D5B10238C; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:06 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 08/28] qemu: Store more types in qemuMonitorCPUModelInfo X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" While query-cpu-model-expansion returns only boolean features on s390, but x86_64 reports some integer and string properties which we are interested in. Signed-off-by: Jiri Denemark --- Notes: Version 3: - change the XML element to =20 Version 2: - no change src/qemu/qemu_capabilities.c | 100 +++++++++++++++++--= ---- src/qemu/qemu_monitor.c | 25 +++++- src/qemu/qemu_monitor.h | 27 +++++- src/qemu/qemu_monitor_json.c | 42 ++++++++-- tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 7 ++ 5 files changed, 163 insertions(+), 38 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index e037d5f95..0b611c323 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3076,14 +3076,16 @@ virQEMUCapsInitCPUModelS390(virQEMUCapsPtr qemuCaps, cpu->nfeatures =3D 0; =20 for (i =3D 0; i < modelInfo->nprops; i++) { - if (VIR_STRDUP(cpu->features[i].name, modelInfo->props[i].name) < = 0) + virCPUFeatureDefPtr feature =3D cpu->features + cpu->nfeatures; + qemuMonitorCPUPropertyPtr prop =3D modelInfo->props + i; + + if (prop->type !=3D QEMU_MONITOR_CPU_PROPERTY_BOOLEAN) + continue; + + if (VIR_STRDUP(feature->name, prop->name) < 0) return -1; - - if (modelInfo->props[i].supported) - cpu->features[i].policy =3D VIR_CPU_FEATURE_REQUIRE; - else - cpu->features[i].policy =3D VIR_CPU_FEATURE_DISABLE; - + feature->policy =3D prop->value.boolean ? VIR_CPU_FEATURE_REQUIRE + : VIR_CPU_FEATURE_DISABLE; cpu->nfeatures++; } =20 @@ -3189,30 +3191,59 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemu= Caps, hostCPU->nprops =3D n; =20 for (i =3D 0; i < n; i++) { - hostCPU->props[i].name =3D virXMLPropString(nodes[i], "name"); - if (!hostCPU->props[i].name) { + qemuMonitorCPUPropertyPtr prop =3D hostCPU->props + i; + int type; + + ctxt->node =3D nodes[i]; + + if (!(prop->name =3D virXMLPropString(ctxt->node, "name"))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing 'name' attribute for a host CPU" " model property in QEMU capabilities cac= he")); goto cleanup; } =20 - if (!(str =3D virXMLPropString(nodes[i], "value"))) { + if (!(str =3D virXMLPropString(ctxt->node, "type")) || + (type =3D qemuMonitorCPUPropertyTypeFromString(str)) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("missing 'value' attribute for a host CPU" - " model property in QEMU capabilities cac= he")); - goto cleanup; - } - if (STREQ(str, "true")) { - hostCPU->props[i].supported =3D true; - } else if (STREQ(str, "false")) { - hostCPU->props[i].supported =3D false; - } else { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("invalid boolean value: '%s'"), str); + _("missing CPU model property type in QEMU " + "capabilities cache")); goto cleanup; } VIR_FREE(str); + + prop->type =3D type; + switch (prop->type) { + case QEMU_MONITOR_CPU_PROPERTY_BOOLEAN: + if (virXPathBoolean("./@value=3D'true'", ctxt)) + prop->value.boolean =3D true; + break; + + case QEMU_MONITOR_CPU_PROPERTY_STRING: + prop->value.string =3D virXMLPropString(ctxt->node, "value= "); + if (!prop->value.string) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("invalid string value for '%s' host C= PU " + "model property in QEMU capabilities = cache"), + prop->name); + goto cleanup; + } + break; + + case QEMU_MONITOR_CPU_PROPERTY_NUMBER: + if (virXPathULongLong("string(./@value)", ctxt, + &prop->value.number) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("invalid number value for '%s' host C= PU " + "model property in QEMU capabilities = cache"), + prop->name); + goto cleanup; + } + break; + + case QEMU_MONITOR_CPU_PROPERTY_LAST: + break; + } } } =20 @@ -3554,9 +3585,30 @@ virQEMUCapsFormatHostCPUModelInfo(virQEMUCapsPtr qem= uCaps, virBufferAdjustIndent(buf, 2); =20 for (i =3D 0; i < model->nprops; i++) { - virBufferAsprintf(buf, "\n", - model->props[i].name, - model->props[i].supported ? "true" : "false"); + qemuMonitorCPUPropertyPtr prop =3D model->props + i; + + virBufferAsprintf(buf, "name, + qemuMonitorCPUPropertyTypeToString(prop->type)); + + switch (prop->type) { + case QEMU_MONITOR_CPU_PROPERTY_BOOLEAN: + virBufferAsprintf(buf, "value=3D'%s'", + prop->value.boolean ? "true" : "false"); + break; + + case QEMU_MONITOR_CPU_PROPERTY_STRING: + virBufferEscapeString(buf, "value=3D'%s'", prop->value.string); + break; + + case QEMU_MONITOR_CPU_PROPERTY_NUMBER: + virBufferAsprintf(buf, "value=3D'%llu'", prop->value.number); + break; + + case QEMU_MONITOR_CPU_PROPERTY_LAST: + break; + } + virBufferAddLit(buf, "/>\n"); } =20 virBufferAdjustIndent(buf, -2); diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index b15207a69..4c3f7a20f 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3661,8 +3661,11 @@ qemuMonitorCPUModelInfoFree(qemuMonitorCPUModelInfoP= tr model_info) if (!model_info) return; =20 - for (i =3D 0; i < model_info->nprops; i++) + for (i =3D 0; i < model_info->nprops; i++) { VIR_FREE(model_info->props[i].name); + if (model_info->props[i].type =3D=3D QEMU_MONITOR_CPU_PROPERTY_STR= ING) + VIR_FREE(model_info->props[i].value.string); + } =20 VIR_FREE(model_info->props); VIR_FREE(model_info->name); @@ -3691,7 +3694,25 @@ qemuMonitorCPUModelInfoCopy(const qemuMonitorCPUMode= lInfo *orig) if (VIR_STRDUP(copy->props[i].name, orig->props[i].name) < 0) goto error; =20 - copy->props[i].supported =3D orig->props[i].supported; + copy->props[i].type =3D orig->props[i].type; + switch (orig->props[i].type) { + case QEMU_MONITOR_CPU_PROPERTY_BOOLEAN: + copy->props[i].value.boolean =3D orig->props[i].value.boolean; + break; + + case QEMU_MONITOR_CPU_PROPERTY_STRING: + if (VIR_STRDUP(copy->props[i].value.string, + orig->props[i].value.string) < 0) + goto error; + break; + + case QEMU_MONITOR_CPU_PROPERTY_NUMBER: + copy->props[i].value.number =3D orig->props[i].value.number; + break; + + case QEMU_MONITOR_CPU_PROPERTY_LAST: + break; + } } =20 return copy; diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 8811d8501..ff8731bdd 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -921,16 +921,35 @@ int qemuMonitorGetCPUDefinitions(qemuMonitorPtr mon, qemuMonitorCPUDefInfoPtr **cpus); void qemuMonitorCPUDefInfoFree(qemuMonitorCPUDefInfoPtr cpu); =20 +typedef enum { + QEMU_MONITOR_CPU_PROPERTY_BOOLEAN, + QEMU_MONITOR_CPU_PROPERTY_STRING, + QEMU_MONITOR_CPU_PROPERTY_NUMBER, + + QEMU_MONITOR_CPU_PROPERTY_LAST +} qemuMonitorCPUPropertyType; + +VIR_ENUM_DECL(qemuMonitorCPUProperty) + +typedef struct _qemuMonitorCPUProperty qemuMonitorCPUProperty; +typedef qemuMonitorCPUProperty *qemuMonitorCPUPropertyPtr; +struct _qemuMonitorCPUProperty { + char *name; + qemuMonitorCPUPropertyType type; + union { + bool boolean; + char *string; + unsigned long long number; + } value; +}; + typedef struct _qemuMonitorCPUModelInfo qemuMonitorCPUModelInfo; typedef qemuMonitorCPUModelInfo *qemuMonitorCPUModelInfoPtr; =20 struct _qemuMonitorCPUModelInfo { char *name; size_t nprops; - struct { - char *name; - bool supported; - } *props; + qemuMonitorCPUPropertyPtr props; }; =20 int qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon, diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 7aa9e314c..b6a4824d6 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4977,24 +4977,50 @@ qemuMonitorJSONGetCPUDefinitions(qemuMonitorPtr mon, return ret; } =20 + +VIR_ENUM_IMPL(qemuMonitorCPUProperty, + QEMU_MONITOR_CPU_PROPERTY_LAST, + "boolean", "string", "number") + static int qemuMonitorJSONParseCPUModelProperty(const char *key, virJSONValue *value, void *opaque) { qemuMonitorCPUModelInfoPtr machine_model =3D opaque; - size_t n =3D machine_model->nprops; - bool supported; + qemuMonitorCPUPropertyPtr prop; =20 - if (virJSONValueGetBoolean(value, &supported) < 0) + prop =3D machine_model->props + machine_model->nprops; + + switch ((virJSONType) value->type) { + case VIR_JSON_TYPE_STRING: + if (VIR_STRDUP(prop->value.string, virJSONValueGetString(value)) <= 0) + return -1; + prop->type =3D QEMU_MONITOR_CPU_PROPERTY_STRING; + break; + + case VIR_JSON_TYPE_NUMBER: + /* Ignore numbers which cannot be parsed as unsigned long long */ + if (virJSONValueGetNumberUlong(value, &prop->value.number) < 0) + return 0; + prop->type =3D QEMU_MONITOR_CPU_PROPERTY_NUMBER; + break; + + case VIR_JSON_TYPE_BOOLEAN: + virJSONValueGetBoolean(value, &prop->value.boolean); + prop->type =3D QEMU_MONITOR_CPU_PROPERTY_BOOLEAN; + break; + + case VIR_JSON_TYPE_OBJECT: + case VIR_JSON_TYPE_ARRAY: + case VIR_JSON_TYPE_NULL: return 0; - - if (VIR_STRDUP(machine_model->props[n].name, key) < 0) - return -1; - - machine_model->props[n].supported =3D supported; + } =20 machine_model->nprops++; + if (VIR_STRDUP(prop->name, key) < 0) + return -1; + return 0; } =20 diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.9.0.x86_64.xml index 73d1e59c8..805fee78b 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -224,11 +224,13 @@ + + @@ -244,6 +246,7 @@ + @@ -289,6 +292,7 @@ + @@ -299,6 +303,7 @@ + @@ -336,6 +341,7 @@ + @@ -365,6 +371,7 @@ + --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) client-ip=209.132.183.37; envelope-from=libvir-list-bounces@redhat.com; helo=mx5-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by mx.zohomail.com with SMTPS id 1487859753281179.46650852937682; Thu, 23 Feb 2017 06:22:33 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx5-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEIso3063824; Thu, 23 Feb 2017 09:18:54 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFV17022346 for ; Thu, 23 Feb 2017 09:15:31 -0500 Received: by smtp.corp.redhat.com (Postfix) id 00C131FC845; Thu, 23 Feb 2017 14:15:31 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 541F71FC840 for ; Thu, 23 Feb 2017 14:15:30 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 6AF4310238D; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:07 +0100 Message-Id: <28ff665b87b9fef60d33892c88304e499a59675b.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 09/28] qemu: Probe "max" CPU model in TCG X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Querying "host" CPU model expansion only makes sense for KVM. QEMU 2.9.0 introduces a new "max" CPU model which can be used to ask QEMU what the best CPU it can provide to a TCG domain is. Signed-off-by: Jiri Denemark --- Notes: Version 3: - s/type/virtType/ in virQEMUCapsLoadHostCPUModelInfo as type variable was added in the previous patch =20 Version 2: - no change src/qemu/qemu_capabilities.c | 151 ++++++++++++----- src/qemu/qemu_capabilities.h | 3 +- src/qemu/qemu_capspriv.h | 3 +- src/qemu/qemu_command.c | 2 +- src/qemu/qemu_process.c | 5 +- .../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 8 + tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 +- .../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 179 +++++++++++++++++= ++++ tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 172 +++++++++++++++++= ++- tests/qemuxml2argvtest.c | 3 +- 10 files changed, 480 insertions(+), 48 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 0b611c323..f31a9ce6e 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -401,13 +401,15 @@ struct _virQEMUCaps { size_t ngicCapabilities; virGICCapability *gicCapabilities; =20 - qemuMonitorCPUModelInfoPtr hostCPUModelInfo; + qemuMonitorCPUModelInfoPtr kvmCPUModelInfo; + qemuMonitorCPUModelInfoPtr tcgCPUModelInfo; =20 /* Anything below is not stored in the cache since the values are * re-computed from the other fields or external data sources every * time we probe QEMU or load the results from the cache. */ - virCPUDefPtr hostCPUModel; + virCPUDefPtr kvmCPUModel; + virCPUDefPtr tcgCPUModel; }; =20 struct virQEMUCapsSearchData { @@ -2164,12 +2166,20 @@ virQEMUCapsPtr virQEMUCapsNewCopy(virQEMUCapsPtr qe= muCaps) goto error; } =20 - if (qemuCaps->hostCPUModel && - !(ret->hostCPUModel =3D virCPUDefCopy(qemuCaps->hostCPUModel))) + if (qemuCaps->kvmCPUModel && + !(ret->kvmCPUModel =3D virCPUDefCopy(qemuCaps->kvmCPUModel))) goto error; =20 - if (qemuCaps->hostCPUModelInfo && - !(ret->hostCPUModelInfo =3D qemuMonitorCPUModelInfoCopy(qemuCaps->= hostCPUModelInfo))) + if (qemuCaps->tcgCPUModel && + !(ret->tcgCPUModel =3D virCPUDefCopy(qemuCaps->tcgCPUModel))) + goto error; + + if (qemuCaps->kvmCPUModelInfo && + !(ret->kvmCPUModelInfo =3D qemuMonitorCPUModelInfoCopy(qemuCaps->k= vmCPUModelInfo))) + goto error; + + if (qemuCaps->tcgCPUModelInfo && + !(ret->tcgCPUModelInfo =3D qemuMonitorCPUModelInfoCopy(qemuCaps->t= cgCPUModelInfo))) goto error; =20 if (VIR_ALLOC_N(ret->machineTypes, qemuCaps->nmachineTypes) < 0) @@ -2218,8 +2228,10 @@ void virQEMUCapsDispose(void *obj) =20 VIR_FREE(qemuCaps->gicCapabilities); =20 - qemuMonitorCPUModelInfoFree(qemuCaps->hostCPUModelInfo); - virCPUDefFree(qemuCaps->hostCPUModel); + qemuMonitorCPUModelInfoFree(qemuCaps->kvmCPUModelInfo); + qemuMonitorCPUModelInfoFree(qemuCaps->tcgCPUModelInfo); + virCPUDefFree(qemuCaps->kvmCPUModel); + virCPUDefFree(qemuCaps->tcgCPUModel); } =20 void @@ -2436,9 +2448,13 @@ virQEMUCapsGetCPUDefinitions(virQEMUCapsPtr qemuCaps, =20 =20 virCPUDefPtr -virQEMUCapsGetHostModel(virQEMUCapsPtr qemuCaps) +virQEMUCapsGetHostModel(virQEMUCapsPtr qemuCaps, + virDomainVirtType type) { - return qemuCaps->hostCPUModel; + if (type =3D=3D VIR_DOMAIN_VIRT_KVM) + return qemuCaps->kvmCPUModel; + else + return qemuCaps->tcgCPUModel; } =20 =20 @@ -2456,7 +2472,7 @@ virQEMUCapsIsCPUModeSupported(virQEMUCapsPtr qemuCaps, virQEMUCapsGuestIsNative(caps->host.arch, qemuCaps->arch); =20 case VIR_CPU_MODE_HOST_MODEL: - return !!qemuCaps->hostCPUModel; + return !!virQEMUCapsGetHostModel(qemuCaps, type); =20 case VIR_CPU_MODE_CUSTOM: if (type =3D=3D VIR_DOMAIN_VIRT_KVM) @@ -2823,14 +2839,24 @@ virQEMUCapsProbeQMPCPUDefinitions(virQEMUCapsPtr qe= muCaps, =20 static int virQEMUCapsProbeQMPHostCPU(virQEMUCapsPtr qemuCaps, - qemuMonitorPtr mon) + qemuMonitorPtr mon, + bool tcg) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION) || - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM)) + qemuMonitorCPUModelInfoPtr *modelInfo; + const char *model; + + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) return 0; =20 - return qemuMonitorGetCPUModelExpansion(mon, "static", "host", - &qemuCaps->hostCPUModelInfo); + if (tcg || !virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM)) { + modelInfo =3D &qemuCaps->tcgCPUModelInfo; + model =3D "max"; + } else { + modelInfo =3D &qemuCaps->kvmCPUModelInfo; + model =3D "host"; + } + + return qemuMonitorGetCPUModelExpansion(mon, "static", model, modelInfo= ); } =20 struct tpmTypeToCaps { @@ -3055,12 +3081,16 @@ virQEMUCapsCPUFilterFeatures(const char *name, */ static int virQEMUCapsInitCPUModelS390(virQEMUCapsPtr qemuCaps, + virDomainVirtType type, virCPUDefPtr cpu) { - qemuMonitorCPUModelInfoPtr modelInfo =3D qemuCaps->hostCPUModelInfo; + qemuMonitorCPUModelInfoPtr modelInfo; size_t i; =20 - if (!modelInfo) { + if (type !=3D VIR_DOMAIN_VIRT_KVM) + return -1; + + if (!(modelInfo =3D qemuCaps->kvmCPUModelInfo)) { virReportError(VIR_ERR_INTERNAL_ERROR, _("missing host CPU model info from QEMU capabiliti= es " "for binary %s"), @@ -3100,12 +3130,13 @@ virQEMUCapsInitCPUModelS390(virQEMUCapsPtr qemuCaps, */ static int virQEMUCapsInitCPUModel(virQEMUCapsPtr qemuCaps, + virDomainVirtType type, virCPUDefPtr cpu) { int ret =3D 1; =20 if (ARCH_IS_S390(qemuCaps->arch)) - ret =3D virQEMUCapsInitCPUModelS390(qemuCaps, cpu); + ret =3D virQEMUCapsInitCPUModelS390(qemuCaps, type, cpu); =20 if (ret =3D=3D 0) cpu->fallback =3D VIR_CPU_FALLBACK_FORBID; @@ -3116,7 +3147,8 @@ virQEMUCapsInitCPUModel(virQEMUCapsPtr qemuCaps, =20 void virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, - virCapsPtr caps) + virCapsPtr caps, + virDomainVirtType type) { virCPUDefPtr cpu =3D NULL; int rc; @@ -3132,7 +3164,7 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, cpu->match =3D VIR_CPU_MATCH_EXACT; cpu->fallback =3D VIR_CPU_FALLBACK_ALLOW; =20 - if ((rc =3D virQEMUCapsInitCPUModel(qemuCaps, cpu)) < 0) { + if ((rc =3D virQEMUCapsInitCPUModel(qemuCaps, type, cpu)) < 0) { goto error; } else if (rc =3D=3D 1) { VIR_DEBUG("No host CPU model info from QEMU; using host capabiliti= es"); @@ -3145,7 +3177,11 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, goto error; } =20 - qemuCaps->hostCPUModel =3D cpu; + if (type =3D=3D VIR_DOMAIN_VIRT_KVM) + qemuCaps->kvmCPUModel =3D cpu; + else + qemuCaps->tcgCPUModel =3D cpu; + return; =20 error: @@ -3156,7 +3192,8 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, =20 static int virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCaps, - xmlXPathContextPtr ctxt) + xmlXPathContextPtr ctxt, + virDomainVirtType virtType) { char *str =3D NULL; xmlNodePtr hostCPUNode; @@ -3167,7 +3204,12 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuC= aps, size_t i; int n; =20 - if (!(hostCPUNode =3D virXPathNode("./hostCPU", ctxt))) { + if (virtType =3D=3D VIR_DOMAIN_VIRT_KVM) + hostCPUNode =3D virXPathNode("./hostCPU[@type=3D'kvm']", ctxt); + else + hostCPUNode =3D virXPathNode("./hostCPU[@type=3D'tcg']", ctxt); + + if (!hostCPUNode) { ret =3D 0; goto cleanup; } @@ -3247,7 +3289,10 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuC= aps, } } =20 - qemuCaps->hostCPUModelInfo =3D hostCPU; + if (virtType =3D=3D VIR_DOMAIN_VIRT_KVM) + qemuCaps->kvmCPUModelInfo =3D hostCPU; + else + qemuCaps->tcgCPUModelInfo =3D hostCPU; hostCPU =3D NULL; ret =3D 0; =20 @@ -3454,7 +3499,8 @@ virQEMUCapsLoadCache(virCapsPtr caps, } VIR_FREE(str); =20 - if (virQEMUCapsLoadHostCPUModelInfo(qemuCaps, ctxt) < 0) + if (virQEMUCapsLoadHostCPUModelInfo(qemuCaps, ctxt, VIR_DOMAIN_VIRT_KV= M) < 0 || + virQEMUCapsLoadHostCPUModelInfo(qemuCaps, ctxt, VIR_DOMAIN_VIRT_QE= MU) < 0) goto cleanup; =20 if (virQEMUCapsLoadCPUModels(qemuCaps, ctxt, VIR_DOMAIN_VIRT_KVM) < 0 = || @@ -3562,7 +3608,8 @@ virQEMUCapsLoadCache(virCapsPtr caps, } VIR_FREE(nodes); =20 - virQEMUCapsInitHostCPUModel(qemuCaps, caps); + virQEMUCapsInitHostCPUModel(qemuCaps, caps, VIR_DOMAIN_VIRT_KVM); + virQEMUCapsInitHostCPUModel(qemuCaps, caps, VIR_DOMAIN_VIRT_QEMU); =20 ret =3D 0; cleanup: @@ -3576,12 +3623,26 @@ virQEMUCapsLoadCache(virCapsPtr caps, =20 static void virQEMUCapsFormatHostCPUModelInfo(virQEMUCapsPtr qemuCaps, - virBufferPtr buf) + virBufferPtr buf, + virDomainVirtType type) { - qemuMonitorCPUModelInfoPtr model =3D qemuCaps->hostCPUModelInfo; + qemuMonitorCPUModelInfoPtr model; + const char *typeStr; size_t i; =20 - virBufferAsprintf(buf, "\n", model->name); + if (type =3D=3D VIR_DOMAIN_VIRT_KVM) { + typeStr =3D "kvm"; + model =3D qemuCaps->kvmCPUModelInfo; + } else { + typeStr =3D "tcg"; + model =3D qemuCaps->tcgCPUModelInfo; + } + + if (!model) + return; + + virBufferAsprintf(buf, "\n", + typeStr, model->name); virBufferAdjustIndent(buf, 2); =20 for (i =3D 0; i < model->nprops; i++) { @@ -3692,8 +3753,8 @@ virQEMUCapsFormatCache(virQEMUCapsPtr qemuCaps, virBufferAsprintf(&buf, "%s\n", virArchToString(qemuCaps->arch)); =20 - if (qemuCaps->hostCPUModelInfo) - virQEMUCapsFormatHostCPUModelInfo(qemuCaps, &buf); + virQEMUCapsFormatHostCPUModelInfo(qemuCaps, &buf, VIR_DOMAIN_VIRT_KVM); + virQEMUCapsFormatHostCPUModelInfo(qemuCaps, &buf, VIR_DOMAIN_VIRT_QEMU= ); =20 virQEMUCapsFormatCPUModels(qemuCaps, &buf, VIR_DOMAIN_VIRT_KVM); virQEMUCapsFormatCPUModels(qemuCaps, &buf, VIR_DOMAIN_VIRT_QEMU); @@ -3828,11 +3889,15 @@ virQEMUCapsReset(virQEMUCapsPtr qemuCaps) VIR_FREE(qemuCaps->gicCapabilities); qemuCaps->ngicCapabilities =3D 0; =20 - qemuMonitorCPUModelInfoFree(qemuCaps->hostCPUModelInfo); - qemuCaps->hostCPUModelInfo =3D NULL; + qemuMonitorCPUModelInfoFree(qemuCaps->kvmCPUModelInfo); + qemuMonitorCPUModelInfoFree(qemuCaps->tcgCPUModelInfo); + qemuCaps->kvmCPUModelInfo =3D NULL; + qemuCaps->tcgCPUModelInfo =3D NULL; =20 - virCPUDefFree(qemuCaps->hostCPUModel); - qemuCaps->hostCPUModel =3D NULL; + virCPUDefFree(qemuCaps->kvmCPUModel); + virCPUDefFree(qemuCaps->tcgCPUModel); + qemuCaps->kvmCPUModel =3D NULL; + qemuCaps->tcgCPUModel =3D NULL; } =20 =20 @@ -4390,7 +4455,7 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps, if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_QMP_SCHEMA) && virQEMUCapsProbeQMPSchemaCapabilities(qemuCaps, mon) < 0) goto cleanup; - if (virQEMUCapsProbeQMPHostCPU(qemuCaps, mon) < 0) + if (virQEMUCapsProbeQMPHostCPU(qemuCaps, mon, false) < 0) goto cleanup; =20 /* 'intel-iommu' shows up as a device since 2.2.0, but can @@ -4432,6 +4497,9 @@ virQEMUCapsInitQMPMonitorTCG(virQEMUCapsPtr qemuCaps = ATTRIBUTE_UNUSED, if (virQEMUCapsProbeQMPCPUDefinitions(qemuCaps, mon, true) < 0) goto cleanup; =20 + if (virQEMUCapsProbeQMPHostCPU(qemuCaps, mon, true) < 0) + goto cleanup; + ret =3D 0; cleanup: return ret; @@ -4776,7 +4844,8 @@ virQEMUCapsNewForBinaryInternal(virCapsPtr caps, virQEMUCapsRememberCached(qemuCaps, cacheDir) < 0) goto error; =20 - virQEMUCapsInitHostCPUModel(qemuCaps, caps); + virQEMUCapsInitHostCPUModel(qemuCaps, caps, VIR_DOMAIN_VIRT_KVM); + virQEMUCapsInitHostCPUModel(qemuCaps, caps, VIR_DOMAIN_VIRT_QEMU); } =20 cleanup: @@ -5222,8 +5291,10 @@ virQEMUCapsFillDomainCPUCaps(virCapsPtr caps, domCaps->cpu.hostPassthrough =3D true; =20 if (virQEMUCapsIsCPUModeSupported(qemuCaps, caps, domCaps->virttype, - VIR_CPU_MODE_HOST_MODEL)) - domCaps->cpu.hostModel =3D virCPUDefCopy(qemuCaps->hostCPUModel); + VIR_CPU_MODE_HOST_MODEL)) { + virCPUDefPtr cpu =3D virQEMUCapsGetHostModel(qemuCaps, domCaps->vi= rttype); + domCaps->cpu.hostModel =3D virCPUDefCopy(cpu); + } =20 if (virQEMUCapsIsCPUModeSupported(qemuCaps, caps, domCaps->virttype, VIR_CPU_MODE_CUSTOM)) { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 0f998c473..eba06aa6d 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -442,7 +442,8 @@ int virQEMUCapsGetCPUDefinitions(virQEMUCapsPtr qemuCap= s, virDomainVirtType type, char ***names, size_t *count); -virCPUDefPtr virQEMUCapsGetHostModel(virQEMUCapsPtr qemuCaps); +virCPUDefPtr virQEMUCapsGetHostModel(virQEMUCapsPtr qemuCaps, + virDomainVirtType type); bool virQEMUCapsIsCPUModeSupported(virQEMUCapsPtr qemuCaps, virCapsPtr caps, virDomainVirtType type, diff --git a/src/qemu/qemu_capspriv.h b/src/qemu/qemu_capspriv.h index 38b971e0e..75499d462 100644 --- a/src/qemu/qemu_capspriv.h +++ b/src/qemu/qemu_capspriv.h @@ -71,5 +71,6 @@ virQEMUCapsSetArch(virQEMUCapsPtr qemuCaps, =20 void virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, - virCapsPtr caps); + virCapsPtr caps, + virDomainVirtType type); #endif diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index d5da533e5..cf2184969 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6665,7 +6665,7 @@ qemuBuildCpuCommandLine(virCommandPtr cmd, if (def->cpu->mode =3D=3D VIR_CPU_MODE_CUSTOM) cpuDef =3D def->cpu; else if (def->cpu->mode =3D=3D VIR_CPU_MODE_HOST_PASSTHROUGH) - cpuDef =3D virQEMUCapsGetHostModel(qemuCaps); + cpuDef =3D virQEMUCapsGetHostModel(qemuCaps, def->virtType= ); =20 if (cpuDef) { int svm =3D virCPUCheckFeature(def->os.arch, cpuDef, "svm"= ); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index ea10fff45..1d7128037 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5177,13 +5177,14 @@ qemuProcessUpdateGuestCPU(virDomainDefPtr def, /* custom CPUs in TCG mode don't need to be compared to host CPU */ if (def->virtType !=3D VIR_DOMAIN_VIRT_QEMU || def->cpu->mode !=3D VIR_CPU_MODE_CUSTOM) { - if (virCPUCompare(caps->host.arch, virQEMUCapsGetHostModel(qemuCap= s), + if (virCPUCompare(caps->host.arch, + virQEMUCapsGetHostModel(qemuCaps, def->virtType), def->cpu, true) < 0) return -1; } =20 if (virCPUUpdate(def->os.arch, def->cpu, - virQEMUCapsGetHostModel(qemuCaps)) < 0) + virQEMUCapsGetHostModel(qemuCaps, def->virtType)) < 0) goto cleanup; =20 if (virQEMUCapsGetCPUDefinitions(qemuCaps, def->virtType, diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies b/tests/qe= mucapabilitiesdata/caps_2.8.0.s390x.replies index 0405d5d7b..c3cbeee0a 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies @@ -13378,3 +13378,11 @@ ], "id": "libvirt-2" } + +{ + "id": "libvirt-3", + "error": { + "class": "GenericError", + "desc": "The CPU definition 'max' is unknown." + } +} diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_2.8.0.s390x.xml index 84c570020..d179a8413 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml @@ -133,7 +133,7 @@ 0 s390x - + diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_2.9.0.x86_64.replies index c000f8cf9..6cf1cdd3e 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies @@ -14889,3 +14889,182 @@ ], "id": "libvirt-2" } + +{ + "return": { + "model": { + "name": "base", + "props": { + "cmov": true, + "ia64": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "pause-filter": false, + "xsavec": false, + "osxsave": false, + "kvm-asyncpf": false, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "sse4.1": true, + "family": 6, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": false, + "cr8legacy": true, + "xcrypt-en": false, + "pn": false, + "dca": false, + "vendor": "AuthenticAMD", + "pku": true, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "3dnowext": true, + "npt": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "x2apic": false, + "avx512vbmi": false, + "flushbyasid": false, + "f16c": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": false, + "tm": false, + "kvmclock-stable-bit": false, + "hypervisor": true, + "pcommit": true, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": false, + "sse2": true, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": false, + "cx8": true, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "pdcm": false, + "model": 6, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": true, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": false, + "fma": false, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "la57": true, + "osvw": false, + "apic": true, + "pmm": false, + "tsc-adjust": false, + "kvm-steal-time": false, + "kvmclock": false, + "lwp": false, + "xop": false, + "avx": false, + "ospke": true, + "acpi": true, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "xsaves": false, + "lm": true, + "umip": false, + "pse": true, + "avx2": false, + "sep": true, + "nodeid-msr": false, + "misalignsse": false, + "min-xlevel": 2147483658, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": false, + "tsc-scale": false, + "topoext": false, + "clflushopt": true, + "monitor": true, + "avx512er": false, + "pmm-en": false, + "pcid": false, + "3dnow": true, + "erms": true, + "lahf-lm": true, + "fxsr-opt": false, + "xstore": false, + "rtm": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": false, + "rdseed": false, + "avx512-4vnniw": false, + "vme": false, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "tbm": false, + "wdt": false, + "model-id": "QEMU TCG CPU version 2.5+", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-3" +} diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.9.0.x86_64.xml index 805fee78b..2afd78a98 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -207,7 +207,7 @@ 0 (v2.8.0-1428-g1b1a68c602) x86_64 - + @@ -377,6 +377,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index f55b04b05..3590920d4 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -384,7 +384,8 @@ testUpdateQEMUCaps(const struct testInfo *info, if (testAddCPUModels(info->qemuCaps, info->skipLegacyCPUs) < 0) goto cleanup; =20 - virQEMUCapsInitHostCPUModel(info->qemuCaps, caps); + virQEMUCapsInitHostCPUModel(info->qemuCaps, caps, VIR_DOMAIN_VIRT_KVM); + virQEMUCapsInitHostCPUModel(info->qemuCaps, caps, VIR_DOMAIN_VIRT_QEMU= ); =20 virQEMUCapsFilterByMachineType(info->qemuCaps, vm->def->os.machine); =20 --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) client-ip=209.132.183.24; envelope-from=libvir-list-bounces@redhat.com; helo=mx3-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by mx.zohomail.com with SMTPS id 1487859531890190.9575383469587; Thu, 23 Feb 2017 06:18:51 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFbxu029712; Thu, 23 Feb 2017 09:15:38 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFUOp022324 for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: by smtp.corp.redhat.com (Postfix) id CD8511FC845; Thu, 23 Feb 2017 14:15:30 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 548B11FC846 for ; Thu, 23 Feb 2017 14:15:30 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 6CF4F10238E; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:08 +0100 Message-Id: <925b5ee7cc8a8bd8a4acaefd13464d87bc4498d4.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 10/28] cpu_x86: Drop virCPUx86MakeData and use virCPUDataNew X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - no change src/cpu/cpu_x86.c | 147 ++++++++++++++++++-------------------= ---- src/cpu/cpu_x86.h | 3 - src/libvirt_private.syms | 1 - src/libxl/libxl_capabilities.c | 18 ++--- src/qemu/qemu_monitor_json.c | 33 ++++----- 5 files changed, 92 insertions(+), 110 deletions(-) diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index d9764a260..ccd68b681 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -303,22 +303,6 @@ virCPUx86DataClear(virCPUx86Data *data) } =20 =20 -virCPUDataPtr -virCPUx86MakeData(virArch arch, virCPUx86Data *data) -{ - virCPUDataPtr cpuData; - - if (VIR_ALLOC(cpuData) < 0) - return NULL; - - cpuData->arch =3D arch; - cpuData->data.x86 =3D *data; - data->len =3D 0; - data->data =3D NULL; - - return cpuData; -} - static void x86FreeCPUData(virCPUDataPtr data) { @@ -1441,7 +1425,6 @@ virCPUx86DataParse(xmlXPathContextPtr ctxt) { xmlNodePtr *nodes =3D NULL; virCPUDataPtr cpuData =3D NULL; - virCPUx86Data data =3D VIR_CPU_X86_DATA_INIT; virCPUx86CPUID cpuid; size_t i; int n; @@ -1450,26 +1433,31 @@ virCPUx86DataParse(xmlXPathContextPtr ctxt) if (n <=3D 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("no x86 CPU data found")); - goto cleanup; + goto error; } =20 + if (!(cpuData =3D virCPUDataNew(VIR_ARCH_X86_64))) + goto error; + for (i =3D 0; i < n; i++) { ctxt->node =3D nodes[i]; if (x86ParseCPUID(ctxt, &cpuid) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("failed to parse cpuid[%zu]"), i); - goto cleanup; + goto error; } - if (virCPUx86DataAddCPUID(&data, &cpuid) < 0) - goto cleanup; + if (virCPUx86DataAddCPUID(&cpuData->data.x86, &cpuid) < 0) + goto error; } =20 - cpuData =3D virCPUx86MakeData(VIR_ARCH_X86_64, &data); - cleanup: VIR_FREE(nodes); - virCPUx86DataClear(&data); return cpuData; + + error: + x86FreeCPUData(cpuData); + cpuData =3D NULL; + goto cleanup; } =20 =20 @@ -1514,7 +1502,7 @@ x86Compute(virCPUDefPtr host, virCPUx86ModelPtr cpu_forbid =3D NULL; virCPUx86ModelPtr diff =3D NULL; virCPUx86ModelPtr guest_model =3D NULL; - virCPUx86Data guestData =3D VIR_CPU_X86_DATA_INIT; + virCPUDataPtr guestData =3D NULL; virCPUCompareResult ret; virCPUx86CompareResult result; virArch arch; @@ -1633,9 +1621,11 @@ x86Compute(virCPUDefPtr host, =20 x86DataSubtract(&guest_model->data, &cpu_disable->data); =20 - if (x86DataCopy(&guestData, &guest_model->data) < 0 || - !(*guest =3D virCPUx86MakeData(arch, &guestData))) + if (!(guestData =3D virCPUDataNew(arch)) || + x86DataCopy(&guestData->data.x86, &guest_model->data) < 0) goto error; + + *guest =3D guestData; } =20 cleanup: @@ -1647,11 +1637,11 @@ x86Compute(virCPUDefPtr host, x86ModelFree(cpu_disable); x86ModelFree(cpu_forbid); x86ModelFree(guest_model); - virCPUx86DataClear(&guestData); =20 return ret; =20 error: + x86FreeCPUData(guestData); ret =3D VIR_CPU_COMPARE_ERROR; goto cleanup; } @@ -1958,12 +1948,12 @@ x86Encode(virArch arch, virCPUDataPtr *vendor) { virCPUx86MapPtr map =3D NULL; - virCPUx86Data data_forced =3D VIR_CPU_X86_DATA_INIT; - virCPUx86Data data_required =3D VIR_CPU_X86_DATA_INIT; - virCPUx86Data data_optional =3D VIR_CPU_X86_DATA_INIT; - virCPUx86Data data_disabled =3D VIR_CPU_X86_DATA_INIT; - virCPUx86Data data_forbidden =3D VIR_CPU_X86_DATA_INIT; - virCPUx86Data data_vendor =3D VIR_CPU_X86_DATA_INIT; + virCPUDataPtr data_forced =3D NULL; + virCPUDataPtr data_required =3D NULL; + virCPUDataPtr data_optional =3D NULL; + virCPUDataPtr data_disabled =3D NULL; + virCPUDataPtr data_forbidden =3D NULL; + virCPUDataPtr data_vendor =3D NULL; =20 if (forced) *forced =3D NULL; @@ -1982,23 +1972,33 @@ x86Encode(virArch arch, goto error; =20 if (forced && - x86EncodePolicy(&data_forced, cpu, map, VIR_CPU_FEATURE_FORCE) < 0) + (!(data_forced =3D virCPUDataNew(arch)) || + x86EncodePolicy(&data_forced->data.x86, cpu, map, + VIR_CPU_FEATURE_FORCE) < 0)) goto error; =20 if (required && - x86EncodePolicy(&data_required, cpu, map, VIR_CPU_FEATURE_REQUIRE)= < 0) + (!(data_required =3D virCPUDataNew(arch)) || + x86EncodePolicy(&data_required->data.x86, cpu, map, + VIR_CPU_FEATURE_REQUIRE) < 0)) goto error; =20 if (optional && - x86EncodePolicy(&data_optional, cpu, map, VIR_CPU_FEATURE_OPTIONAL= ) < 0) + (!(data_optional =3D virCPUDataNew(arch)) || + x86EncodePolicy(&data_optional->data.x86, cpu, map, + VIR_CPU_FEATURE_OPTIONAL) < 0)) goto error; =20 if (disabled && - x86EncodePolicy(&data_disabled, cpu, map, VIR_CPU_FEATURE_DISABLE)= < 0) + (!(data_disabled =3D virCPUDataNew(arch)) || + x86EncodePolicy(&data_disabled->data.x86, cpu, map, + VIR_CPU_FEATURE_DISABLE) < 0)) goto error; =20 if (forbidden && - x86EncodePolicy(&data_forbidden, cpu, map, VIR_CPU_FEATURE_FORBID)= < 0) + (!(data_forbidden =3D virCPUDataNew(arch)) || + x86EncodePolicy(&data_forbidden->data.x86, cpu, map, + VIR_CPU_FEATURE_FORBID) < 0)) goto error; =20 if (vendor) { @@ -2010,50 +2010,35 @@ x86Encode(virArch arch, goto error; } =20 - if (v && virCPUx86DataAddCPUID(&data_vendor, &v->cpuid) < 0) + if (!(data_vendor =3D virCPUDataNew(arch))) + goto error; + + if (v && virCPUx86DataAddCPUID(&data_vendor->data.x86, &v->cpuid) = < 0) goto error; } =20 - if (forced && - !(*forced =3D virCPUx86MakeData(arch, &data_forced))) - goto error; - if (required && - !(*required =3D virCPUx86MakeData(arch, &data_required))) - goto error; - if (optional && - !(*optional =3D virCPUx86MakeData(arch, &data_optional))) - goto error; - if (disabled && - !(*disabled =3D virCPUx86MakeData(arch, &data_disabled))) - goto error; - if (forbidden && - !(*forbidden =3D virCPUx86MakeData(arch, &data_forbidden))) - goto error; - if (vendor && - !(*vendor =3D virCPUx86MakeData(arch, &data_vendor))) - goto error; + if (forced) + *forced =3D data_forced; + if (required) + *required =3D data_required; + if (optional) + *optional =3D data_optional; + if (disabled) + *disabled =3D data_disabled; + if (forbidden) + *forbidden =3D data_forbidden; + if (vendor) + *vendor =3D data_vendor; =20 return 0; =20 error: - virCPUx86DataClear(&data_forced); - virCPUx86DataClear(&data_required); - virCPUx86DataClear(&data_optional); - virCPUx86DataClear(&data_disabled); - virCPUx86DataClear(&data_forbidden); - virCPUx86DataClear(&data_vendor); - if (forced) - x86FreeCPUData(*forced); - if (required) - x86FreeCPUData(*required); - if (optional) - x86FreeCPUData(*optional); - if (disabled) - x86FreeCPUData(*disabled); - if (forbidden) - x86FreeCPUData(*forbidden); - if (vendor) - x86FreeCPUData(*vendor); + x86FreeCPUData(data_forced); + x86FreeCPUData(data_required); + x86FreeCPUData(data_optional); + x86FreeCPUData(data_disabled); + x86FreeCPUData(data_forbidden); + x86FreeCPUData(data_vendor); return -1; } =20 @@ -2382,22 +2367,20 @@ static virCPUDataPtr x86NodeData(virArch arch) { virCPUDataPtr cpuData =3D NULL; - virCPUx86Data data =3D VIR_CPU_X86_DATA_INIT; =20 - if (cpuidSet(CPUX86_BASIC, &data) < 0) + if (!(cpuData =3D virCPUDataNew(arch))) goto error; =20 - if (cpuidSet(CPUX86_EXTENDED, &data) < 0) + if (cpuidSet(CPUX86_BASIC, &cpuData->data.x86) < 0) goto error; =20 - if (!(cpuData =3D virCPUx86MakeData(arch, &data))) + if (cpuidSet(CPUX86_EXTENDED, &cpuData->data.x86) < 0) goto error; =20 return cpuData; =20 error: - virCPUx86DataClear(&data); - + x86FreeCPUData(cpuData); return NULL; } #endif diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h index 09b95a5a2..8c8c6ed4f 100644 --- a/src/cpu/cpu_x86.h +++ b/src/cpu/cpu_x86.h @@ -34,7 +34,4 @@ int virCPUx86DataAddCPUID(virCPUx86Data *data, =20 void virCPUx86DataClear(virCPUx86Data *data); =20 -virCPUDataPtr virCPUx86MakeData(virArch arch, - virCPUx86Data *data); - #endif /* __VIR_CPU_X86_H__ */ diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 07a35333b..2005569aa 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1004,7 +1004,6 @@ virCPUUpdate; # cpu/cpu_x86.h virCPUx86DataAddCPUID; virCPUx86DataClear; -virCPUx86MakeData; =20 =20 # datatypes.h diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index 2bbd2d1b4..622e9f6bb 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -65,14 +65,14 @@ struct guest_arch { #define XEN_CAP_REGEX "(xen|hvm)-[[:digit:]]+\\.[[:digit:]]+-(aarch64|armv= 7l|x86_32|x86_64|ia64|powerpc64)(p|be)?" =20 static int -libxlCapsAddCPUID(virCPUx86Data *data, virCPUx86CPUID *cpuid, ssize_t ncap= s) +libxlCapsAddCPUID(virCPUDataPtr data, virCPUx86CPUID *cpuid, ssize_t ncaps) { size_t i; =20 for (i =3D 0; i < ncaps; i++) { virCPUx86CPUID *c =3D &cpuid[i]; =20 - if (virCPUx86DataAddCPUID(data, c) < 0) { + if (virCPUx86DataAddCPUID(&data->data.x86, c) < 0) { VIR_DEBUG("Failed to add CPUID(%x,%x)", c->eax_in, c->ecx_in); return -1; } @@ -112,7 +112,6 @@ libxlCapsNodeData(virCPUDefPtr cpu, libxl_hwcap hwcap, { ssize_t ncaps; virCPUDataPtr cpudata =3D NULL; - virCPUx86Data data =3D VIR_CPU_X86_DATA_INIT; virCPUx86CPUID cpuid[] =3D { { .eax_in =3D 0x00000001, .edx =3D hwcap[0] }, @@ -131,20 +130,23 @@ libxlCapsNodeData(virCPUDefPtr cpu, libxl_hwcap hwcap, { .eax_in =3D 0x80000007, .ecx_in =3D 0U, .edx =3D hwcap[7] }, }; =20 + if (!(cpudata =3D virCPUDataNew(cpu->arch))) + goto error; + ncaps =3D ARRAY_CARDINALITY(cpuid); - if (libxlCapsAddCPUID(&data, cpuid, ncaps) < 0) + if (libxlCapsAddCPUID(cpudata, cpuid, ncaps) < 0) goto error; =20 ncaps =3D ARRAY_CARDINALITY(cpuid_ver1); if (version > LIBXL_HWCAP_V0 && - libxlCapsAddCPUID(&data, cpuid_ver1, ncaps) < 0) + libxlCapsAddCPUID(cpudata, cpuid_ver1, ncaps) < 0) goto error; =20 - cpudata =3D virCPUx86MakeData(cpu->arch, &data); + return cpudata; =20 error: - virCPUx86DataClear(&data); - return cpudata; + cpuDataFree(cpudata); + return NULL; } =20 /* hw_caps is an array of 32-bit words whose meaning is listed in diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index b6a4824d6..24c1e600a 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6570,37 +6570,35 @@ qemuMonitorJSONParseCPUx86FeatureWord(virJSONValueP= tr data, } =20 =20 -static int -qemuMonitorJSONParseCPUx86Features(virJSONValuePtr data, - virCPUDataPtr *cpudata) +static virCPUDataPtr +qemuMonitorJSONParseCPUx86Features(virJSONValuePtr data) { - virCPUx86Data x86Data =3D VIR_CPU_X86_DATA_INIT; + virCPUDataPtr cpudata =3D NULL; virCPUx86CPUID cpuid; size_t i; ssize_t n; - int ret =3D -1; =20 if (!data || (n =3D virJSONValueArraySize(data)) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("invalid array of CPUID features")); - return -1; + goto error; } =20 + if (!(cpudata =3D virCPUDataNew(VIR_ARCH_X86_64))) + goto error; + for (i =3D 0; i < n; i++) { if (qemuMonitorJSONParseCPUx86FeatureWord(virJSONValueArrayGet(dat= a, i), &cpuid) < 0 || - virCPUx86DataAddCPUID(&x86Data, &cpuid) < 0) - goto cleanup; + virCPUx86DataAddCPUID(&cpudata->data.x86, &cpuid) < 0) + goto error; } =20 - if (!(*cpudata =3D virCPUx86MakeData(VIR_ARCH_X86_64, &x86Data))) - goto cleanup; + return cpudata; =20 - ret =3D 0; - - cleanup: - virCPUx86DataClear(&x86Data); - return ret; + error: + cpuDataFree(cpudata); + return NULL; } =20 =20 @@ -6627,7 +6625,10 @@ qemuMonitorJSONGetCPUx86Data(qemuMonitorPtr mon, goto cleanup; =20 data =3D virJSONValueObjectGetArray(reply, "return"); - ret =3D qemuMonitorJSONParseCPUx86Features(data, cpudata); + if (!(*cpudata =3D qemuMonitorJSONParseCPUx86Features(data))) + goto cleanup; + + ret =3D 0; =20 cleanup: virJSONValueFree(cmd); --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) client-ip=209.132.183.39; envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by mx.zohomail.com with SMTPS id 1487859642036744.7066997320215; Thu, 23 Feb 2017 06:20:42 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEHaVE008685; Thu, 23 Feb 2017 09:17:36 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFUD7022312 for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: by smtp.corp.redhat.com (Postfix) id A2DD11FC848; Thu, 23 Feb 2017 14:15:30 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7522E1FC847 for ; Thu, 23 Feb 2017 14:15:30 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 6F8B110238F; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:09 +0100 Message-Id: <6460bfe912992595f2a0dc604403586e08b22e76.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 11/28] cpu_x86: Make virCPUx86DataClear static X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - ACKed in v2 - no change =20 Version 2: - no change src/cpu/cpu_x86.c | 2 +- src/cpu/cpu_x86.h | 2 -- src/libvirt_private.syms | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index ccd68b681..0058abef7 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -293,7 +293,7 @@ x86DataCpuid(const virCPUx86Data *data, return NULL; } =20 -void +static void virCPUx86DataClear(virCPUx86Data *data) { if (!data) diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h index 8c8c6ed4f..bcda0da95 100644 --- a/src/cpu/cpu_x86.h +++ b/src/cpu/cpu_x86.h @@ -32,6 +32,4 @@ extern struct cpuArchDriver cpuDriverX86; int virCPUx86DataAddCPUID(virCPUx86Data *data, const virCPUx86CPUID *cpuid); =20 -void virCPUx86DataClear(virCPUx86Data *data); - #endif /* __VIR_CPU_X86_H__ */ diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 2005569aa..67a17c35f 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1003,7 +1003,6 @@ virCPUUpdate; =20 # cpu/cpu_x86.h virCPUx86DataAddCPUID; -virCPUx86DataClear; =20 =20 # datatypes.h --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) client-ip=209.132.183.39; envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by mx.zohomail.com with SMTPS id 14878597790155.032311495353724; Thu, 23 Feb 2017 06:22:59 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEIsvr008792; Thu, 23 Feb 2017 09:18:54 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFUCt022343 for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFT8n000723 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 71B7F1023B0; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:10 +0100 Message-Id: <462e5683c1faa24773ae8266a9dfe28e4bc5183f.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 12/28] cpu: Rework cpuDataFree X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The new API is called virCPUDataFree. Individual CPU drivers are no longer required to implement their own freeing function unless they need to free architecture specific data from virCPUData. Signed-off-by: Jiri Denemark --- Notes: Version 3: - ACKed in v2 - no change =20 Version 2: - no change src/bhyve/bhyve_capabilities.c | 2 +- src/cpu/cpu.c | 21 +++++++-------------- src/cpu/cpu.h | 4 ++-- src/cpu/cpu_arm.c | 7 ------- src/cpu/cpu_ppc64.c | 6 +++--- src/cpu/cpu_s390.c | 7 ------- src/cpu/cpu_x86.c | 22 +++++++++++----------- src/libvirt_private.syms | 2 +- src/libxl/libxl_capabilities.c | 4 ++-- src/qemu/qemu_capabilities.c | 2 +- src/qemu/qemu_monitor_json.c | 2 +- src/qemu/qemu_parse_command.c | 2 +- src/qemu/qemu_process.c | 2 +- src/vmware/vmware_conf.c | 2 +- src/vz/vz_driver.c | 2 +- tests/cputest.c | 6 +++--- tests/qemumonitorjsontest.c | 4 ++-- 17 files changed, 38 insertions(+), 59 deletions(-) diff --git a/src/bhyve/bhyve_capabilities.c b/src/bhyve/bhyve_capabilities.c index 1dc0593af..52d6ca782 100644 --- a/src/bhyve/bhyve_capabilities.c +++ b/src/bhyve/bhyve_capabilities.c @@ -68,7 +68,7 @@ virBhyveCapsInitCPU(virCapsPtr caps, ret =3D 0; =20 cleanup: - cpuDataFree(data); + virCPUDataFree(data); =20 return ret; =20 diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 6a808a0c1..051a58040 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -331,7 +331,7 @@ virCPUDataNew(virArch arch) =20 =20 /** - * cpuDataFree: + * virCPUDataFree: * * @data: CPU data structure to be freed * @@ -340,26 +340,19 @@ virCPUDataNew(virArch arch) * Returns nothing. */ void -cpuDataFree(virCPUDataPtr data) +virCPUDataFree(virCPUDataPtr data) { struct cpuArchDriver *driver; =20 VIR_DEBUG("data=3D%p", data); =20 - if (data =3D=3D NULL) + if (!data) return; =20 - if ((driver =3D cpuGetSubDriver(data->arch)) =3D=3D NULL) - return; - - if (driver->free =3D=3D NULL) { - virReportError(VIR_ERR_NO_SUPPORT, - _("cannot free CPU data for %s architecture"), - virArchToString(data->arch)); - return; - } - - (driver->free)(data); + if ((driver =3D cpuGetSubDriver(data->arch)) && driver->dataFree) + driver->dataFree(data); + else + VIR_FREE(data); } =20 =20 diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h index ceb1e7256..0324284b9 100644 --- a/src/cpu/cpu.h +++ b/src/cpu/cpu.h @@ -116,7 +116,7 @@ struct cpuArchDriver { virCPUArchCompare compare; cpuArchDecode decode; cpuArchEncode encode; - cpuArchDataFree free; + cpuArchDataFree dataFree; cpuArchNodeData nodeData; cpuArchBaseline baseline; virCPUArchUpdate update; @@ -166,7 +166,7 @@ virCPUDataPtr virCPUDataNew(virArch arch); =20 void -cpuDataFree (virCPUDataPtr data); +virCPUDataFree(virCPUDataPtr data); =20 virCPUDataPtr cpuNodeData (virArch arch); diff --git a/src/cpu/cpu_arm.c b/src/cpu/cpu_arm.c index 653b06b2f..3a0ee2b14 100644 --- a/src/cpu/cpu_arm.c +++ b/src/cpu/cpu_arm.c @@ -37,12 +37,6 @@ static const virArch archs[] =3D { VIR_ARCH_AARCH64, }; =20 -static void -armDataFree(virCPUDataPtr data) -{ - VIR_FREE(data); -} - =20 static int virCPUarmUpdate(virCPUDefPtr guest, @@ -117,7 +111,6 @@ struct cpuArchDriver cpuDriverArm =3D { .compare =3D virCPUarmCompare, .decode =3D NULL, .encode =3D NULL, - .free =3D armDataFree, .nodeData =3D NULL, .baseline =3D armBaseline, .update =3D virCPUarmUpdate, diff --git a/src/cpu/cpu_ppc64.c b/src/cpu/cpu_ppc64.c index 180ad87d1..a7c8545db 100644 --- a/src/cpu/cpu_ppc64.c +++ b/src/cpu/cpu_ppc64.c @@ -705,7 +705,7 @@ ppc64DriverDecode(virCPUDefPtr cpu, } =20 static void -ppc64DriverFree(virCPUDataPtr data) +virCPUppc64DataFree(virCPUDataPtr data) { if (!data) return; @@ -741,7 +741,7 @@ ppc64DriverNodeData(virArch arch) return nodeData; =20 error: - ppc64DriverFree(nodeData); + virCPUppc64DataFree(nodeData); return NULL; } =20 @@ -901,7 +901,7 @@ struct cpuArchDriver cpuDriverPPC64 =3D { .compare =3D virCPUppc64Compare, .decode =3D ppc64DriverDecode, .encode =3D NULL, - .free =3D ppc64DriverFree, + .dataFree =3D virCPUppc64DataFree, .nodeData =3D ppc64DriverNodeData, .baseline =3D ppc64DriverBaseline, .update =3D virCPUppc64Update, diff --git a/src/cpu/cpu_s390.c b/src/cpu/cpu_s390.c index 0248328db..9503e8e2b 100644 --- a/src/cpu/cpu_s390.c +++ b/src/cpu/cpu_s390.c @@ -33,12 +33,6 @@ =20 static const virArch archs[] =3D { VIR_ARCH_S390, VIR_ARCH_S390X }; =20 -static void -s390DataFree(virCPUDataPtr data) -{ - VIR_FREE(data); -} - static virCPUCompareResult virCPUs390Compare(virCPUDefPtr host ATTRIBUTE_UNUSED, virCPUDefPtr cpu ATTRIBUTE_UNUSED, @@ -115,7 +109,6 @@ struct cpuArchDriver cpuDriverS390 =3D { .compare =3D virCPUs390Compare, .decode =3D NULL, .encode =3D NULL, - .free =3D s390DataFree, .nodeData =3D NULL, .baseline =3D NULL, .update =3D virCPUs390Update, diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index 0058abef7..3b540f99c 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -304,7 +304,7 @@ virCPUx86DataClear(virCPUx86Data *data) =20 =20 static void -x86FreeCPUData(virCPUDataPtr data) +virCPUx86DataFree(virCPUDataPtr data) { if (!data) return; @@ -1455,7 +1455,7 @@ virCPUx86DataParse(xmlXPathContextPtr ctxt) return cpuData; =20 error: - x86FreeCPUData(cpuData); + virCPUx86DataFree(cpuData); cpuData =3D NULL; goto cleanup; } @@ -1641,7 +1641,7 @@ x86Compute(virCPUDefPtr host, return ret; =20 error: - x86FreeCPUData(guestData); + virCPUx86DataFree(guestData); ret =3D VIR_CPU_COMPARE_ERROR; goto cleanup; } @@ -2033,12 +2033,12 @@ x86Encode(virArch arch, return 0; =20 error: - x86FreeCPUData(data_forced); - x86FreeCPUData(data_required); - x86FreeCPUData(data_optional); - x86FreeCPUData(data_disabled); - x86FreeCPUData(data_forbidden); - x86FreeCPUData(data_vendor); + virCPUx86DataFree(data_forced); + virCPUx86DataFree(data_required); + virCPUx86DataFree(data_optional); + virCPUx86DataFree(data_disabled); + virCPUx86DataFree(data_forbidden); + virCPUx86DataFree(data_vendor); return -1; } =20 @@ -2380,7 +2380,7 @@ x86NodeData(virArch arch) return cpuData; =20 error: - x86FreeCPUData(cpuData); + virCPUx86DataFree(cpuData); return NULL; } #endif @@ -2718,7 +2718,7 @@ struct cpuArchDriver cpuDriverX86 =3D { .compare =3D virCPUx86Compare, .decode =3D x86DecodeCPUData, .encode =3D x86Encode, - .free =3D x86FreeCPUData, + .dataFree =3D virCPUx86DataFree, #if defined(__i386__) || defined(__x86_64__) .nodeData =3D x86NodeData, #else diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 67a17c35f..145e23bd8 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -984,7 +984,6 @@ virSecretObjSetValueSize; # cpu/cpu.h cpuBaseline; cpuBaselineXML; -cpuDataFree; cpuDecode; cpuEncode; cpuNodeData; @@ -994,6 +993,7 @@ virCPUCompareXML; virCPUConvertLegacy; virCPUDataCheckFeature; virCPUDataFormat; +virCPUDataFree; virCPUDataNew; virCPUDataParse; virCPUGetModels; diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index 622e9f6bb..117055cf2 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -145,7 +145,7 @@ libxlCapsNodeData(virCPUDefPtr cpu, libxl_hwcap hwcap, return cpudata; =20 error: - cpuDataFree(cpudata); + virCPUDataFree(cpudata); return NULL; } =20 @@ -198,7 +198,7 @@ libxlCapsInitCPU(virCapsPtr caps, libxl_physinfo *phy_i= nfo, } =20 cleanup: - cpuDataFree(data); + virCPUDataFree(data); =20 return ret; =20 diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index f31a9ce6e..5c0353159 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1092,7 +1092,7 @@ virQEMUCapsInitCPU(virCapsPtr caps, ret =3D 0; =20 cleanup: - cpuDataFree(data); + virCPUDataFree(data); =20 return ret; =20 diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 24c1e600a..c8e1764f8 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6597,7 +6597,7 @@ qemuMonitorJSONParseCPUx86Features(virJSONValuePtr da= ta) return cpudata; =20 error: - cpuDataFree(cpudata); + virCPUDataFree(cpudata); return NULL; } =20 diff --git a/src/qemu/qemu_parse_command.c b/src/qemu/qemu_parse_command.c index 405e65549..a215027c1 100644 --- a/src/qemu/qemu_parse_command.c +++ b/src/qemu/qemu_parse_command.c @@ -1606,7 +1606,7 @@ qemuParseCommandLineCPU(virDomainDefPtr dom, goto cleanup; =20 is_32bit =3D (virCPUDataCheckFeature(cpuData, "lm") !=3D 1); - cpuDataFree(cpuData); + virCPUDataFree(cpuData); } else if (model) { is_32bit =3D STREQ(model, "qemu32"); } diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 1d7128037..82ff95d20 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -3816,7 +3816,7 @@ qemuProcessVerifyGuestCPU(virQEMUDriverPtr driver, ret =3D true; =20 cleanup: - cpuDataFree(guestcpu); + virCPUDataFree(guestcpu); return ret; } =20 diff --git a/src/vmware/vmware_conf.c b/src/vmware/vmware_conf.c index 4222f4e38..5b1b5f5fd 100644 --- a/src/vmware/vmware_conf.c +++ b/src/vmware/vmware_conf.c @@ -118,7 +118,7 @@ vmwareCapsInit(void) =20 cleanup: virCPUDefFree(cpu); - cpuDataFree(data); + virCPUDataFree(data); =20 return caps; =20 diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 440859117..1ca9fd726 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -151,7 +151,7 @@ vzBuildCapabilities(void) } =20 cleanup: - cpuDataFree(data); + virCPUDataFree(data); return caps; =20 error: diff --git a/tests/cputest.c b/tests/cputest.c index 8612e920e..8d761af61 100644 --- a/tests/cputest.c +++ b/tests/cputest.c @@ -439,7 +439,7 @@ cpuTestHasFeature(const void *arg) ret =3D 0; =20 cleanup: - cpuDataFree(hostData); + virCPUDataFree(hostData); virCPUDefFree(host); return ret; } @@ -489,7 +489,7 @@ cpuTestCPUID(bool guest, const void *arg) cleanup: VIR_FREE(hostFile); VIR_FREE(host); - cpuDataFree(hostData); + virCPUDataFree(hostData); virCPUDefFree(cpu); VIR_FREE(result); return ret; @@ -549,7 +549,7 @@ cpuTestJSONCPUID(const void *arg) =20 cleanup: qemuMonitorTestFree(testMon); - cpuDataFree(cpuData); + virCPUDataFree(cpuData); virCPUDefFree(cpu); VIR_FREE(result); VIR_FREE(json); diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 5b2d6bb34..402c87d45 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -2410,7 +2410,7 @@ testQemuMonitorJSONGetCPUData(const void *opaque) VIR_FREE(dataFile); VIR_FREE(jsonStr); VIR_FREE(actual); - cpuDataFree(cpuData); + virCPUDataFree(cpuData); qemuMonitorTestFree(test); return ret; } @@ -2455,7 +2455,7 @@ testQemuMonitorJSONGetNonExistingCPUData(const void *= opaque) ret =3D 0; cleanup: qemuMonitorTestFree(test); - cpuDataFree(cpuData); + virCPUDataFree(cpuData); return ret; } =20 --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) client-ip=209.132.183.37; envelope-from=libvir-list-bounces@redhat.com; helo=mx5-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by mx.zohomail.com with SMTPS id 1487859761043867.0726406241005; Thu, 23 Feb 2017 06:22:41 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx5-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEJVRT063866; Thu, 23 Feb 2017 09:19:31 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFVtq022345 for ; Thu, 23 Feb 2017 09:15:31 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFTur011369 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 73D1D1023B1; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:11 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 13/28] cpu_x86: Make virCPUx86DataAddCPUID work with virCPUDataPtr X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The CPU driver provides APIs to create and free virCPUDataPtr. Thus all APIs exported from the driver should work with that rather than requiring the caller to pass a pointer to an internal part of the structure. In other words virCPUx86DataAddCPUID(cpudata, &cpuid) is much better than the original virCPUx86DataAddCPUID(&cpudata->data.x86, &cpuid) Signed-off-by: Jiri Denemark --- Notes: Version 3: - ACKed in v2 - better commit message =20 Version 2: - no change src/cpu/cpu_x86.c | 57 ++++++++++++++++++++++++--------------= ---- src/cpu/cpu_x86.h | 2 +- src/libxl/libxl_capabilities.c | 2 +- src/qemu/qemu_monitor_json.c | 2 +- 4 files changed, 36 insertions(+), 27 deletions(-) diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index 3b540f99c..029a7d475 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -330,9 +330,9 @@ x86DataCopy(virCPUx86Data *dst, const virCPUx86Data *sr= c) } =20 =20 -int -virCPUx86DataAddCPUID(virCPUx86Data *data, - const virCPUx86CPUID *cpuid) +static int +virCPUx86DataAddCPUIDInt(virCPUx86Data *data, + const virCPUx86CPUID *cpuid) { virCPUx86CPUID *existing; =20 @@ -365,7 +365,7 @@ x86DataAdd(virCPUx86Data *data1, if (cpuid1) { x86cpuidSetBits(cpuid1, cpuid2); } else { - if (virCPUx86DataAddCPUID(data1, cpuid2) < 0) + if (virCPUx86DataAddCPUIDInt(data1, cpuid2) < 0) return -1; } } @@ -549,7 +549,7 @@ x86DataAddSignature(virCPUx86Data *data, { virCPUx86CPUID cpuid =3D { .eax_in =3D 0x1, .eax =3D signature }; =20 - return virCPUx86DataAddCPUID(data, &cpuid); + return virCPUx86DataAddCPUIDInt(data, &cpuid); } =20 =20 @@ -892,7 +892,7 @@ x86FeatureParse(xmlXPathContextPtr ctxt, i, feature->name); goto error; } - if (virCPUx86DataAddCPUID(&feature->data, &cpuid)) + if (virCPUx86DataAddCPUIDInt(&feature->data, &cpuid)) goto error; } =20 @@ -1446,7 +1446,7 @@ virCPUx86DataParse(xmlXPathContextPtr ctxt) _("failed to parse cpuid[%zu]"), i); goto error; } - if (virCPUx86DataAddCPUID(&cpuData->data.x86, &cpuid) < 0) + if (virCPUx86DataAddCPUID(cpuData, &cpuid) < 0) goto error; } =20 @@ -1605,8 +1605,8 @@ x86Compute(virCPUDefPtr host, goto error; =20 if (cpu->vendor && host_model->vendor && - virCPUx86DataAddCPUID(&guest_model->data, - &host_model->vendor->cpuid) < 0) + virCPUx86DataAddCPUIDInt(&guest_model->data, + &host_model->vendor->cpuid) < 0) goto error; =20 if (x86DataAddSignature(&guest_model->data, host_model->signature)= < 0) @@ -2013,7 +2013,7 @@ x86Encode(virArch arch, if (!(data_vendor =3D virCPUDataNew(arch))) goto error; =20 - if (v && virCPUx86DataAddCPUID(&data_vendor->data.x86, &v->cpuid) = < 0) + if (v && virCPUx86DataAddCPUID(data_vendor, &v->cpuid) < 0) goto error; } =20 @@ -2083,7 +2083,7 @@ cpuidCall(virCPUx86CPUID *cpuid) * Sub leaf n+1 is invalid if eax[4:0] in sub leaf n equals 0. */ static int -cpuidSetLeaf4(virCPUx86Data *data, +cpuidSetLeaf4(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D *subLeaf0; @@ -2106,7 +2106,7 @@ cpuidSetLeaf4(virCPUx86Data *data, * Sub leaf n is invalid if n > eax in sub leaf 0. */ static int -cpuidSetLeaf7(virCPUx86Data *data, +cpuidSetLeaf7(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D { .eax_in =3D 0x7 }; @@ -2133,7 +2133,7 @@ cpuidSetLeaf7(virCPUx86Data *data, * meaningful data even if it was (theoretically) considered invalid. */ static int -cpuidSetLeafB(virCPUx86Data *data, +cpuidSetLeafB(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D *subLeaf0; @@ -2157,7 +2157,7 @@ cpuidSetLeafB(virCPUx86Data *data, * and edx[n-32] from sub leaf 1 is not set. */ static int -cpuidSetLeafD(virCPUx86Data *data, +cpuidSetLeafD(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D { .eax_in =3D 0xd }; @@ -2204,7 +2204,7 @@ cpuidSetLeafD(virCPUx86Data *data, * 0x10: Sub leaf n is valid if ebx[n] (=3D res[ResID]) from sub leaf 0 is= set. */ static int -cpuidSetLeafResID(virCPUx86Data *data, +cpuidSetLeafResID(virCPUDataPtr data, virCPUx86CPUID *subLeaf0, uint32_t res) { @@ -2232,13 +2232,13 @@ cpuidSetLeafResID(virCPUx86Data *data, * Sub leaves n >=3D 2 are valid as long as eax[3:0] !=3D 0. */ static int -cpuidSetLeaf12(virCPUx86Data *data, +cpuidSetLeaf12(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D { .eax_in =3D 0x7 }; virCPUx86CPUID *cpuid7; =20 - if (!(cpuid7 =3D x86DataCpuid(data, &cpuid)) || + if (!(cpuid7 =3D x86DataCpuid(&data->data.x86, &cpuid)) || !(cpuid7->ebx & (1 << 2))) return 0; =20 @@ -2268,7 +2268,7 @@ cpuidSetLeaf12(virCPUx86Data *data, * Sub leaf 0 reports the maximum supported sub leaf in eax. */ static int -cpuidSetLeaf14(virCPUx86Data *data, +cpuidSetLeaf14(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D { .eax_in =3D 0x14 }; @@ -2293,7 +2293,7 @@ cpuidSetLeaf14(virCPUx86Data *data, * Sub leaf 0 reports the maximum supported sub leaf in eax. */ static int -cpuidSetLeaf17(virCPUx86Data *data, +cpuidSetLeaf17(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D { .eax_in =3D 0x17 }; @@ -2316,7 +2316,7 @@ cpuidSetLeaf17(virCPUx86Data *data, =20 =20 static int -cpuidSet(uint32_t base, virCPUx86Data *data) +cpuidSet(uint32_t base, virCPUDataPtr data) { int rc; uint32_t max; @@ -2371,10 +2371,10 @@ x86NodeData(virArch arch) if (!(cpuData =3D virCPUDataNew(arch))) goto error; =20 - if (cpuidSet(CPUX86_BASIC, &cpuData->data.x86) < 0) + if (cpuidSet(CPUX86_BASIC, cpuData) < 0) goto error; =20 - if (cpuidSet(CPUX86_EXTENDED, &cpuData->data.x86) < 0) + if (cpuidSet(CPUX86_EXTENDED, cpuData) < 0) goto error; =20 return cpuData; @@ -2484,7 +2484,8 @@ x86Baseline(virCPUDefPtr *cpus, goto error; } =20 - if (vendor && virCPUx86DataAddCPUID(&base_model->data, &vendor->cpuid)= < 0) + if (vendor && + virCPUx86DataAddCPUIDInt(&base_model->data, &vendor->cpuid) < 0) goto error; =20 if (x86Decode(cpu, &base_model->data, models, nmodels, modelName, flag= s) < 0) @@ -2683,7 +2684,7 @@ virCPUx86Translate(virCPUDefPtr cpu, goto cleanup; =20 if (model->vendor && - virCPUx86DataAddCPUID(&model->data, &model->vendor->cpuid) < 0) + virCPUx86DataAddCPUIDInt(&model->data, &model->vendor->cpuid) < 0) goto cleanup; =20 if (x86DataAddSignature(&model->data, model->signature) < 0) @@ -2711,6 +2712,14 @@ virCPUx86Translate(virCPUDefPtr cpu, } =20 =20 +int +virCPUx86DataAddCPUID(virCPUDataPtr cpuData, + const virCPUx86CPUID *cpuid) +{ + return virCPUx86DataAddCPUIDInt(&cpuData->data.x86, cpuid); +} + + struct cpuArchDriver cpuDriverX86 =3D { .name =3D "x86", .arch =3D archs, diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h index bcda0da95..79e78a007 100644 --- a/src/cpu/cpu_x86.h +++ b/src/cpu/cpu_x86.h @@ -29,7 +29,7 @@ =20 extern struct cpuArchDriver cpuDriverX86; =20 -int virCPUx86DataAddCPUID(virCPUx86Data *data, +int virCPUx86DataAddCPUID(virCPUDataPtr cpuData, const virCPUx86CPUID *cpuid); =20 #endif /* __VIR_CPU_X86_H__ */ diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index 117055cf2..839a2ee81 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -72,7 +72,7 @@ libxlCapsAddCPUID(virCPUDataPtr data, virCPUx86CPUID *cpu= id, ssize_t ncaps) for (i =3D 0; i < ncaps; i++) { virCPUx86CPUID *c =3D &cpuid[i]; =20 - if (virCPUx86DataAddCPUID(&data->data.x86, c) < 0) { + if (virCPUx86DataAddCPUID(data, c) < 0) { VIR_DEBUG("Failed to add CPUID(%x,%x)", c->eax_in, c->ecx_in); return -1; } diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index c8e1764f8..56635979a 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6590,7 +6590,7 @@ qemuMonitorJSONParseCPUx86Features(virJSONValuePtr da= ta) for (i =3D 0; i < n; i++) { if (qemuMonitorJSONParseCPUx86FeatureWord(virJSONValueArrayGet(dat= a, i), &cpuid) < 0 || - virCPUx86DataAddCPUID(&cpudata->data.x86, &cpuid) < 0) + virCPUx86DataAddCPUID(cpudata, &cpuid) < 0) goto error; } =20 --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.25 as permitted sender) client-ip=209.132.183.25; envelope-from=libvir-list-bounces@redhat.com; helo=mx4-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.25 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by mx.zohomail.com with SMTPS id 1487859675201728.0579562165998; Thu, 23 Feb 2017 06:21:15 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEIFUL004215; Thu, 23 Feb 2017 09:18:15 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFU5h022337 for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFTU1032352 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:30 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 75BE2102D25; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:12 +0100 Message-Id: <6627bd6b14e556f7857610ab7a68ad408343a823.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 14/28] cpu_x86: Introduce virCPUx86DataSetSignature X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The API is useful for creating virCPUData in a hypervisor driver from data we got by querying the hypervisor. Signed-off-by: Jiri Denemark --- Notes: Version 3: - ACKed in v2 - better commit message - #include "cpu/cpu_x86.h" in qemu_capabilities.c moved to the patch which makes use of the API =20 Version 2: - no change src/cpu/cpu_x86.c | 11 +++++++++++ src/cpu/cpu_x86.h | 4 ++++ src/libvirt_private.syms | 1 + 3 files changed, 16 insertions(+) diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index 029a7d475..e3f860bc6 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -2720,6 +2720,17 @@ virCPUx86DataAddCPUID(virCPUDataPtr cpuData, } =20 =20 +int +virCPUx86DataSetSignature(virCPUDataPtr cpuData, + unsigned int family, + unsigned int model) +{ + uint32_t signature =3D x86MakeSignature(family, model); + + return x86DataAddSignature(&cpuData->data.x86, signature); +} + + struct cpuArchDriver cpuDriverX86 =3D { .name =3D "x86", .arch =3D archs, diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h index 79e78a007..ffbd064b4 100644 --- a/src/cpu/cpu_x86.h +++ b/src/cpu/cpu_x86.h @@ -32,4 +32,8 @@ extern struct cpuArchDriver cpuDriverX86; int virCPUx86DataAddCPUID(virCPUDataPtr cpuData, const virCPUx86CPUID *cpuid); =20 +int virCPUx86DataSetSignature(virCPUDataPtr cpuData, + unsigned int family, + unsigned int model); + #endif /* __VIR_CPU_X86_H__ */ diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 145e23bd8..71eb97f01 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1003,6 +1003,7 @@ virCPUUpdate; =20 # cpu/cpu_x86.h virCPUx86DataAddCPUID; +virCPUx86DataSetSignature; =20 =20 # datatypes.h --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) client-ip=209.132.183.24; envelope-from=libvir-list-bounces@redhat.com; helo=mx3-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by mx.zohomail.com with SMTPS id 1487859787795628.0051649436454; Thu, 23 Feb 2017 06:23:07 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEJVgk030455; Thu, 23 Feb 2017 09:19:31 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFVRb022373 for ; Thu, 23 Feb 2017 09:15:31 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFUQf024008 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:31 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 77BC6103181; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:13 +0100 Message-Id: <5b6e70de73dda36a7011be01d6cd3cb2161f3301.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 15/28] cpu_x86: Introduce virCPUx86DataSetVendor X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The API is useful for creating virCPUData in a hypervisor driver from data we got by querying the hypervisor. Signed-off-by: Jiri Denemark --- Notes: Version 3: - ACKed in v2 - better commit message =20 Version 2: - no change src/cpu/cpu_x86.c | 45 +++++++++++++++++++++++++++++++++++---------- src/cpu/cpu_x86.h | 3 +++ src/libvirt_private.syms | 1 + 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index e3f860bc6..ab5e5257d 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -478,6 +478,26 @@ x86DataToVendor(const virCPUx86Data *data, } =20 =20 +static int +virCPUx86VendorToCPUID(const char *vendor, + virCPUx86CPUID *cpuid) +{ + if (strlen(vendor) !=3D VENDOR_STRING_LENGTH) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Invalid CPU vendor string '%s'"), vendor); + return -1; + } + + cpuid->eax_in =3D 0; + cpuid->ecx_in =3D 0; + cpuid->ebx =3D virReadBufInt32LE(vendor); + cpuid->edx =3D virReadBufInt32LE(vendor + 4); + cpuid->ecx =3D virReadBufInt32LE(vendor + 8); + + return 0; +} + + static uint32_t x86MakeSignature(unsigned int family, unsigned int model) @@ -651,17 +671,9 @@ x86VendorParse(xmlXPathContextPtr ctxt, vendor->name); goto error; } - if (strlen(string) !=3D VENDOR_STRING_LENGTH) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Invalid CPU vendor string '%s'"), string); - goto error; - } =20 - vendor->cpuid.eax_in =3D 0; - vendor->cpuid.ecx_in =3D 0; - vendor->cpuid.ebx =3D virReadBufInt32LE(string); - vendor->cpuid.edx =3D virReadBufInt32LE(string + 4); - vendor->cpuid.ecx =3D virReadBufInt32LE(string + 8); + if (virCPUx86VendorToCPUID(string, &vendor->cpuid) < 0) + goto error; =20 cleanup: VIR_FREE(string); @@ -2731,6 +2743,19 @@ virCPUx86DataSetSignature(virCPUDataPtr cpuData, } =20 =20 +int +virCPUx86DataSetVendor(virCPUDataPtr cpuData, + const char *vendor) +{ + virCPUx86CPUID cpuid =3D { 0 }; + + if (virCPUx86VendorToCPUID(vendor, &cpuid) < 0) + return -1; + + return virCPUx86DataAddCPUID(cpuData, &cpuid); +} + + struct cpuArchDriver cpuDriverX86 =3D { .name =3D "x86", .arch =3D archs, diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h index ffbd064b4..ab5394914 100644 --- a/src/cpu/cpu_x86.h +++ b/src/cpu/cpu_x86.h @@ -36,4 +36,7 @@ int virCPUx86DataSetSignature(virCPUDataPtr cpuData, unsigned int family, unsigned int model); =20 +int virCPUx86DataSetVendor(virCPUDataPtr cpuData, + const char *vendor); + #endif /* __VIR_CPU_X86_H__ */ diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 71eb97f01..e39c89f0e 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1004,6 +1004,7 @@ virCPUUpdate; # cpu/cpu_x86.h virCPUx86DataAddCPUID; virCPUx86DataSetSignature; +virCPUx86DataSetVendor; =20 =20 # datatypes.h --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) client-ip=209.132.183.37; envelope-from=libvir-list-bounces@redhat.com; helo=mx5-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by mx.zohomail.com with SMTPS id 1487859599527232.22656260603833; Thu, 23 Feb 2017 06:19:59 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx5-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEGv6M063695; Thu, 23 Feb 2017 09:16:57 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFVBm022372 for ; Thu, 23 Feb 2017 09:15:31 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFUHX011380 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:31 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 79B901032BD; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:14 +0100 Message-Id: <0632996411ebb2fab52a5608216bdd76d0e8f7ed.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 16/28] cpu_x86: Introduce virCPUx86DataAddFeature X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The API is useful for creating virCPUData in a hypervisor driver from data we got by querying the hypervisor. Signed-off-by: Jiri Denemark --- Notes: Version 3: - ACKed in v2 - better commit message =20 Version 2: - no change src/cpu/cpu_x86.c | 22 ++++++++++++++++++++++ src/cpu/cpu_x86.h | 3 +++ src/libvirt_private.syms | 1 + 3 files changed, 26 insertions(+) diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index ab5e5257d..b3bccd176 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -2756,6 +2756,28 @@ virCPUx86DataSetVendor(virCPUDataPtr cpuData, } =20 =20 +int +virCPUx86DataAddFeature(virCPUDataPtr cpuData, + const char *name) +{ + virCPUx86FeaturePtr feature; + virCPUx86MapPtr map; + + if (!(map =3D virCPUx86GetMap())) + return -1; + + /* ignore unknown features */ + if (!(feature =3D x86FeatureFind(map, name)) && + !(feature =3D x86FeatureFindInternal(name))) + return 0; + + if (x86DataAdd(&cpuData->data.x86, &feature->data) < 0) + return -1; + + return 0; +} + + struct cpuArchDriver cpuDriverX86 =3D { .name =3D "x86", .arch =3D archs, diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h index ab5394914..91ec43fea 100644 --- a/src/cpu/cpu_x86.h +++ b/src/cpu/cpu_x86.h @@ -39,4 +39,7 @@ int virCPUx86DataSetSignature(virCPUDataPtr cpuData, int virCPUx86DataSetVendor(virCPUDataPtr cpuData, const char *vendor); =20 +int virCPUx86DataAddFeature(virCPUDataPtr cpuData, + const char *name); + #endif /* __VIR_CPU_X86_H__ */ diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index e39c89f0e..30679107e 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1003,6 +1003,7 @@ virCPUUpdate; =20 # cpu/cpu_x86.h virCPUx86DataAddCPUID; +virCPUx86DataAddFeature; virCPUx86DataSetSignature; virCPUx86DataSetVendor; =20 --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) client-ip=209.132.183.37; envelope-from=libvir-list-bounces@redhat.com; helo=mx5-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by mx.zohomail.com with SMTPS id 1487859679319461.9148674097024; Thu, 23 Feb 2017 06:21:19 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx5-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEIGgn063780; Thu, 23 Feb 2017 09:18:16 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFWlf022387 for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by smtp.corp.redhat.com (Postfix) id 547BD1FC847; Thu, 23 Feb 2017 14:15:32 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0095B1FC840 for ; Thu, 23 Feb 2017 14:15:31 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 7BC49103335; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:15 +0100 Message-Id: <177d12884a9a45a94051daf22ad60520d42b0f18.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 17/28] qemu: Get host CPU model from QEMU on x86_64 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Until now host-model CPU mode tried to enable all CPU features supported by the host CPU even if QEMU/KVM did not support them. This caused a number of issues and made host-model quite unreliable. Asking QEMU for the CPU it can provide and the current host makes host-model much more robust. This commit fixes the following bugs: https://bugzilla.redhat.com/show_bug.cgi?id=3D1018251 https://bugzilla.redhat.com/show_bug.cgi?id=3D1371617 https://bugzilla.redhat.com/show_bug.cgi?id=3D1372581 https://bugzilla.redhat.com/show_bug.cgi?id=3D1404627 https://bugzilla.redhat.com/show_bug.cgi?id=3D870071 In addition to that, the following bug should be mostly limited to cases when an unsupported feature is explicitly requested: https://bugzilla.redhat.com/show_bug.cgi?id=3D1335534 Signed-off-by: Jiri Denemark --- Notes: Version 3: - added #include "cpu/cpu_x86.h" removed in an earlier patch - adapted to changes to qemuMonitorCPUModelProperty =20 Version 2: - no change src/qemu/qemu_capabilities.c | 77 ++++++++++++++++++= ++++ .../domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml | 33 +++++++++- tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml | 11 +++- 3 files changed, 119 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 5c0353159..adfe84bff 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -33,6 +33,7 @@ #include "virprocess.h" #include "nodeinfo.h" #include "cpu/cpu.h" +#include "cpu/cpu_x86.h" #include "domain_conf.h" #include "vircommand.h" #include "virbitmap.h" @@ -3129,6 +3130,80 @@ virQEMUCapsInitCPUModelS390(virQEMUCapsPtr qemuCaps, * -1 on error. */ static int +virQEMUCapsInitCPUModelX86(virQEMUCapsPtr qemuCaps, + virDomainVirtType type, + virCPUDefPtr cpu) +{ + qemuMonitorCPUModelInfoPtr model; + virCPUDataPtr data =3D NULL; + unsigned long long sigFamily =3D 0; + unsigned long long sigModel =3D 0; + size_t nmodels =3D 0; + char **models =3D NULL; + int ret =3D -1; + size_t i; + + if (type =3D=3D VIR_DOMAIN_VIRT_KVM) + model =3D qemuCaps->kvmCPUModelInfo; + else + model =3D qemuCaps->tcgCPUModelInfo; + + if (!model) + return 1; + + if (!(data =3D virCPUDataNew(VIR_ARCH_X86_64))) + goto cleanup; + + for (i =3D 0; i < model->nprops; i++) { + qemuMonitorCPUPropertyPtr prop =3D model->props + i; + + switch (prop->type) { + case QEMU_MONITOR_CPU_PROPERTY_BOOLEAN: + if (prop->value.boolean && + virCPUx86DataAddFeature(data, prop->name) < 0) + goto cleanup; + break; + + case QEMU_MONITOR_CPU_PROPERTY_STRING: + if (STREQ(prop->name, "vendor") && + virCPUx86DataSetVendor(data, prop->value.string) < 0) + goto cleanup; + break; + + case QEMU_MONITOR_CPU_PROPERTY_NUMBER: + if (STREQ(prop->name, "family")) + sigFamily =3D prop->value.number; + else if (STREQ(prop->name, "model")) + sigModel =3D prop->value.number; + break; + + case QEMU_MONITOR_CPU_PROPERTY_LAST: + break; + } + } + + if (virCPUx86DataSetSignature(data, sigFamily, sigModel) < 0) + goto cleanup; + + if (virQEMUCapsGetCPUDefinitions(qemuCaps, type, &models, &nmodels) < = 0 || + cpuDecode(cpu, data, (const char **) models, nmodels, NULL) < 0) + goto cleanup; + + ret =3D 0; + + cleanup: + virCPUDataFree(data); + virStringListFreeCount(models, nmodels); + return ret; +} + + +/** + * Returns 0 when host CPU model provided by QEMU was filled in qemuCaps, + * 1 when the caller should fall back to using virCapsPtr->host.c= pu, + * -1 on error. + */ +static int virQEMUCapsInitCPUModel(virQEMUCapsPtr qemuCaps, virDomainVirtType type, virCPUDefPtr cpu) @@ -3137,6 +3212,8 @@ virQEMUCapsInitCPUModel(virQEMUCapsPtr qemuCaps, =20 if (ARCH_IS_S390(qemuCaps->arch)) ret =3D virQEMUCapsInitCPUModelS390(qemuCaps, type, cpu); + else if (ARCH_IS_X86(qemuCaps->arch)) + ret =3D virQEMUCapsInitCPUModelX86(qemuCaps, type, cpu); =20 if (ret =3D=3D 0) cpu->fallback =3D VIR_CPU_FALLBACK_FORBID; diff --git a/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml b/tests/d= omaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml index 9b9dfec09..1827b1d6f 100644 --- a/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml +++ b/tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml @@ -21,7 +21,38 @@ - Broadwell + Opteron_G4 + AMD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + qemu64 diff --git a/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml b/tests/domai= ncapsschemadata/qemu_2.9.0.x86_64.xml index 49722f91f..a7a2ecdea 100644 --- a/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml +++ b/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml @@ -21,7 +21,16 @@ - Broadwell + Skylake-Client + Intel + + + + + + + + qemu64 --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) client-ip=209.132.183.39; envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by mx.zohomail.com with SMTPS id 1487859792772337.2197729757539; Thu, 23 Feb 2017 06:23:12 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEKAeg008907; Thu, 23 Feb 2017 09:20:10 -0500 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFW48022392 for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFVMk015288 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 7D9EF103336; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:16 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 18/28] qemu: Use enum for CPU model expansion type X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - no change src/qemu/qemu_capabilities.c | 4 +++- src/qemu/qemu_monitor.c | 4 ++-- src/qemu/qemu_monitor.h | 6 +++++- src/qemu/qemu_monitor_json.c | 11 +++++++++-- src/qemu/qemu_monitor_json.h | 4 ++-- 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index adfe84bff..3f0a0ef07 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2857,7 +2857,9 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCapsPtr qemuCaps, model =3D "host"; } =20 - return qemuMonitorGetCPUModelExpansion(mon, "static", model, modelInfo= ); + return qemuMonitorGetCPUModelExpansion(mon, + QEMU_MONITOR_CPU_MODEL_EXPANSIO= N_STATIC, + model, modelInfo); } =20 struct tpmTypeToCaps { diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 4c3f7a20f..c33b0e847 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3641,11 +3641,11 @@ qemuMonitorCPUDefInfoFree(qemuMonitorCPUDefInfoPtr = cpu) =20 int qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon, - const char *type, + qemuMonitorCPUModelExpansionType type, const char *model_name, qemuMonitorCPUModelInfoPtr *model_info) { - VIR_DEBUG("type=3D%s model_name=3D%s", type, model_name); + VIR_DEBUG("type=3D%d model_name=3D%s", type, model_name); =20 QEMU_CHECK_MONITOR_JSON(mon); =20 diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index ff8731bdd..208da2d05 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -952,8 +952,12 @@ struct _qemuMonitorCPUModelInfo { qemuMonitorCPUPropertyPtr props; }; =20 +typedef enum { + QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC, +} qemuMonitorCPUModelExpansionType; + int qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon, - const char *type, + qemuMonitorCPUModelExpansionType type, const char *model_name, qemuMonitorCPUModelInfoPtr *model_info= ); =20 diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 56635979a..7461c8567 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -5026,7 +5026,7 @@ qemuMonitorJSONParseCPUModelProperty(const char *key, =20 int qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon, - const char *type, + qemuMonitorCPUModelExpansionType type, const char *model_name, qemuMonitorCPUModelInfoPtr *model_info) { @@ -5039,6 +5039,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mo= n, virJSONValuePtr cpu_props; qemuMonitorCPUModelInfoPtr machine_model =3D NULL; char const *cpu_name; + const char *typeStr =3D ""; =20 *model_info =3D NULL; =20 @@ -5048,8 +5049,14 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr m= on, if (virJSONValueObjectAppendString(model, "name", model_name) < 0) goto cleanup; =20 + switch (type) { + case QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC: + typeStr =3D "static"; + break; + } + if (!(cmd =3D qemuMonitorJSONMakeCommand("query-cpu-model-expansion", - "s:type", type, + "s:type", typeStr, "a:model", model, NULL))) goto cleanup; diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 79688c82f..59d9f098c 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -354,10 +354,10 @@ int qemuMonitorJSONGetCPUDefinitions(qemuMonitorPtr m= on, ATTRIBUTE_NONNULL(2); =20 int qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon, - const char *type, + qemuMonitorCPUModelExpansionType t= ype, const char *model_name, qemuMonitorCPUModelInfoPtr *model_= info) - ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4); + ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4); =20 int qemuMonitorJSONGetCommands(qemuMonitorPtr mon, char ***commands) --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) client-ip=209.132.183.39; envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by mx.zohomail.com with SMTPS id 1487859793686411.625323249252; Thu, 23 Feb 2017 06:23:13 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEIsB5008791; Thu, 23 Feb 2017 09:18:54 -0500 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFWlU022407 for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFVf6015287 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 7FB85103360; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:17 +0100 Message-Id: <19772c7ee2186aa0427cf4c7481ea59e0d2e9828.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 19/28] qemu: Use full CPU model expansion on x86 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" 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 --- 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 =20 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; =20 if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) return 0; @@ -2857,9 +2858,12 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCapsPtr qemuCaps, model =3D "host"; } =20 - return qemuMonitorGetCPUModelExpansion(mon, - QEMU_MONITOR_CPU_MODEL_EXPANSIO= N_STATIC, - model, modelInfo); + if (ARCH_IS_X86(qemuCaps->arch)) + type =3D QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL; + else + type =3D QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC; + + return qemuMonitorGetCPUModelExpansion(mon, type, model, modelInfo); } =20 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 { =20 typedef enum { QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC, + QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL, + QEMU_MONITOR_CPU_MODEL_EXPANSION_FULL, } qemuMonitorCPUModelExpansionType; =20 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 mo= n, qemuMonitorCPUModelInfoPtr *model_info) { int ret =3D -1; - virJSONValuePtr model; + virJSONValuePtr model =3D NULL; virJSONValuePtr cmd =3D NULL; virJSONValuePtr reply =3D NULL; virJSONValuePtr data; @@ -5049,10 +5049,16 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr = mon, if (virJSONValueObjectAppendString(model, "name", model_name) < 0) goto cleanup; =20 + retry: switch (type) { case QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC: + case QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL: typeStr =3D "static"; break; + + case QEMU_MONITOR_CPU_MODEL_EXPANSION_FULL: + typeStr =3D "full"; + break; } =20 if (!(cmd =3D qemuMonitorJSONMakeCommand("query-cpu-model-expansion", @@ -5089,6 +5095,19 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr m= on, goto cleanup; } =20 + /* QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL requests "full" expans= ion + * on the result of the initial "static" expansion. + */ + if (type =3D=3D QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL) { + if (!(model =3D virJSONValueCopy(cpu_model))) + goto cleanup; + + virJSONValueFree(cmd); + virJSONValueFree(reply); + type =3D QEMU_MONITOR_CPU_MODEL_EXPANSION_FULL; + goto retry; + } + if (!(cpu_name =3D 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/d= omaincapsschemadata/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 @@ - - diff --git a/tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml b/tests/domai= ncapsschemadata/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 @@ + - - qemu64 diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies b/tests/q= emucapabilitiesdata/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 @@ =20 { "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/qemuc= apabilitiesdata/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 @@ (v2.8.0-1428-g1b1a68c602) x86_64 + + + - + + + + + + - + + + + + - + - + + + - + + + + + - + + + + - + + + - + + + + + + + @@ -289,44 +318,61 @@ + + + + + - + + + + - + + + - + + + + + + + + - + @@ -336,17 +382,23 @@ - + + + - + + + + + @@ -355,11 +407,17 @@ - + + + + + + + @@ -371,6 +429,7 @@ + @@ -378,80 +437,109 @@ + + + - + + + + + + - + + + + + - + - + + + - + + + + + - + + + + - + + + - + + + + + + + @@ -459,44 +547,61 @@ + + + + + - + + + + - + + + - + + + + + + + + - + @@ -506,17 +611,23 @@ - + + + - + + + + + @@ -525,11 +636,17 @@ - + + + + + + + @@ -541,6 +658,7 @@ + --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) client-ip=209.132.183.39; envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by mx.zohomail.com with SMTPS id 148785964225083.8833960774142; Thu, 23 Feb 2017 06:20:42 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEHaDI008673; Thu, 23 Feb 2017 09:17:36 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFW24022382 for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFVWp000741 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 82275103361; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:18 +0100 Message-Id: <71a4f5eeb02e81bc3f01586d67609c299551db84.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 20/28] qemu: Make virQEMUCapsInitCPUModel testable X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - s/type/virtType/ in virQEMUCapsLoadHostCPUModelInfo =20 Version 2: - no change src/qemu/qemu_capabilities.c | 19 ++++++++++++++----- src/qemu/qemu_capspriv.h | 10 ++++++++++ 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index ce191ee99..55c17a20e 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3209,7 +3209,7 @@ virQEMUCapsInitCPUModelX86(virQEMUCapsPtr qemuCaps, * 1 when the caller should fall back to using virCapsPtr->host.c= pu, * -1 on error. */ -static int +int virQEMUCapsInitCPUModel(virQEMUCapsPtr qemuCaps, virDomainVirtType type, virCPUDefPtr cpu) @@ -3273,6 +3273,18 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, } =20 =20 +void +virQEMUCapsSetCPUModelInfo(virQEMUCapsPtr qemuCaps, + virDomainVirtType type, + qemuMonitorCPUModelInfoPtr modelInfo) +{ + if (type =3D=3D VIR_DOMAIN_VIRT_KVM) + qemuCaps->kvmCPUModelInfo =3D modelInfo; + else + qemuCaps->tcgCPUModelInfo =3D modelInfo; +} + + static int virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCaps, xmlXPathContextPtr ctxt, @@ -3372,10 +3384,7 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuC= aps, } } =20 - if (virtType =3D=3D VIR_DOMAIN_VIRT_KVM) - qemuCaps->kvmCPUModelInfo =3D hostCPU; - else - qemuCaps->tcgCPUModelInfo =3D hostCPU; + virQEMUCapsSetCPUModelInfo(qemuCaps, virtType, hostCPU); hostCPU =3D NULL; ret =3D 0; =20 diff --git a/src/qemu/qemu_capspriv.h b/src/qemu/qemu_capspriv.h index 75499d462..d4f13a2d2 100644 --- a/src/qemu/qemu_capspriv.h +++ b/src/qemu/qemu_capspriv.h @@ -73,4 +73,14 @@ void virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, virCapsPtr caps, virDomainVirtType type); + +int +virQEMUCapsInitCPUModel(virQEMUCapsPtr qemuCaps, + virDomainVirtType type, + virCPUDefPtr cpu); + +void +virQEMUCapsSetCPUModelInfo(virQEMUCapsPtr qemuCaps, + virDomainVirtType type, + qemuMonitorCPUModelInfoPtr modelInfo); #endif --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) client-ip=209.132.183.39; envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by mx.zohomail.com with SMTPS id 1487859834965546.3454759533337; Thu, 23 Feb 2017 06:23:54 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEJVus008851; Thu, 23 Feb 2017 09:19:31 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFXQX022437 for ; Thu, 23 Feb 2017 09:15:33 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFV3t032375 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 849D5103362; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:19 +0100 Message-Id: <45002b895bb0be8167ee536af3892f88f81e2cdf.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 21/28] cputest: Rename x86 data files X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" While "x86" is a CPU sub driver name, it is not a recognized name of any architecture known to libvirt. Let's use "x86_64" prefix which can be used with virArch APIs. Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - fix file names created by cpu-parse.sh tests/cputest.c | 204 ++++++++++-------= ---- tests/cputestdata/cpu-parse.sh | 2 +- ...ack.xml =3D> x86_64-Haswell-noTSX-nofallback.xml} | 0 ...-Haswell-noTSX.xml =3D> x86_64-Haswell-noTSX.xml} | 0 .../{x86-Haswell.xml =3D> x86_64-Haswell.xml} | 0 ...e-1-result.xml =3D> x86_64-baseline-1-result.xml} | 0 .../{x86-baseline-1.xml =3D> x86_64-baseline-1.xml} | 0 ...e-2-result.xml =3D> x86_64-baseline-2-result.xml} | 0 .../{x86-baseline-2.xml =3D> x86_64-baseline-2.xml} | 0 ...expanded.xml =3D> x86_64-baseline-3-expanded.xml} | 0 ...e-3-result.xml =3D> x86_64-baseline-3-result.xml} | 0 .../{x86-baseline-3.xml =3D> x86_64-baseline-3.xml} | 0 ...expanded.xml =3D> x86_64-baseline-4-expanded.xml} | 0 ...e-4-result.xml =3D> x86_64-baseline-4-result.xml} | 0 .../{x86-baseline-4.xml =3D> x86_64-baseline-4.xml} | 0 ...expanded.xml =3D> x86_64-baseline-5-expanded.xml} | 0 ...e-5-result.xml =3D> x86_64-baseline-5-result.xml} | 0 .../{x86-baseline-5.xml =3D> x86_64-baseline-5.xml} | 0 ...atable.xml =3D> x86_64-baseline-6-migratable.xml} | 0 ...e-6-result.xml =3D> x86_64-baseline-6-result.xml} | 0 .../{x86-baseline-6.xml =3D> x86_64-baseline-6.xml} | 0 ...e-7-result.xml =3D> x86_64-baseline-7-result.xml} | 0 .../{x86-baseline-7.xml =3D> x86_64-baseline-7.xml} | 0 ...e-8-result.xml =3D> x86_64-baseline-8-result.xml} | 0 .../{x86-baseline-8.xml =3D> x86_64-baseline-8.xml} | 0 ...ml =3D> x86_64-baseline-incompatible-vendors.xml} | 0 ...lt.xml =3D> x86_64-baseline-no-vendor-result.xml} | 0 ...no-vendor.xml =3D> x86_64-baseline-no-vendor.xml} | 0 ...xml =3D> x86_64-baseline-some-vendors-result.xml} | 0 ...endors.xml =3D> x86_64-baseline-some-vendors.xml} | 0 ...-bogus-feature.xml =3D> x86_64-bogus-feature.xml} | 0 ...{x86-bogus-model.xml =3D> x86_64-bogus-model.xml} | 0 ...86-bogus-vendor.xml =3D> x86_64-bogus-vendor.xml} | 0 ...-guest.xml =3D> x86_64-cpuid-A10-5800K-guest.xml} | 0 ...0K-host.xml =3D> x86_64-cpuid-A10-5800K-host.xml} | 0 ...0K-json.xml =3D> x86_64-cpuid-A10-5800K-json.xml} | 0 ...-A10-5800K.json =3D> x86_64-cpuid-A10-5800K.json} | 0 ...id-A10-5800K.xml =3D> x86_64-cpuid-A10-5800K.xml} | 0 ...-guest.xml =3D> x86_64-cpuid-Atom-D510-guest.xml} | 0 ...10-host.xml =3D> x86_64-cpuid-Atom-D510-host.xml} | 0 ...id-Atom-D510.xml =3D> x86_64-cpuid-Atom-D510.xml} | 0 ...-guest.xml =3D> x86_64-cpuid-Atom-N450-guest.xml} | 0 ...50-host.xml =3D> x86_64-cpuid-Atom-N450-host.xml} | 0 ...id-Atom-N450.xml =3D> x86_64-cpuid-Atom-N450.xml} | 0 ...est.xml =3D> x86_64-cpuid-Core-i5-2500-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Core-i5-2500-host.xml} | 0 ...json.xml =3D> x86_64-cpuid-Core-i5-2500-json.xml} | 0 ...i5-2500.json =3D> x86_64-cpuid-Core-i5-2500.json} | 0 ...e-i5-2500.xml =3D> x86_64-cpuid-Core-i5-2500.xml} | 0 ...st.xml =3D> x86_64-cpuid-Core-i5-2540M-guest.xml} | 0 ...ost.xml =3D> x86_64-cpuid-Core-i5-2540M-host.xml} | 0 ...son.xml =3D> x86_64-cpuid-Core-i5-2540M-json.xml} | 0 ...-2540M.json =3D> x86_64-cpuid-Core-i5-2540M.json} | 0 ...i5-2540M.xml =3D> x86_64-cpuid-Core-i5-2540M.xml} | 0 ...st.xml =3D> x86_64-cpuid-Core-i5-4670T-guest.xml} | 0 ...ost.xml =3D> x86_64-cpuid-Core-i5-4670T-host.xml} | 0 ...son.xml =3D> x86_64-cpuid-Core-i5-4670T-json.xml} | 0 ...-4670T.json =3D> x86_64-cpuid-Core-i5-4670T.json} | 0 ...i5-4670T.xml =3D> x86_64-cpuid-Core-i5-4670T.xml} | 0 ...est.xml =3D> x86_64-cpuid-Core-i5-6600-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Core-i5-6600-host.xml} | 0 ...json.xml =3D> x86_64-cpuid-Core-i5-6600-json.xml} | 0 ...i5-6600.json =3D> x86_64-cpuid-Core-i5-6600.json} | 0 ...e-i5-6600.xml =3D> x86_64-cpuid-Core-i5-6600.xml} | 0 ...est.xml =3D> x86_64-cpuid-Core-i7-2600-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Core-i7-2600-host.xml} | 0 ...json.xml =3D> x86_64-cpuid-Core-i7-2600-json.xml} | 0 ...i7-2600.json =3D> x86_64-cpuid-Core-i7-2600.json} | 0 ...e-i7-2600.xml =3D> x86_64-cpuid-Core-i7-2600.xml} | 0 ...st.xml =3D> x86_64-cpuid-Core-i7-3520M-guest.xml} | 0 ...ost.xml =3D> x86_64-cpuid-Core-i7-3520M-host.xml} | 0 ...i7-3520M.xml =3D> x86_64-cpuid-Core-i7-3520M.xml} | 0 ...t.xml =3D> x86_64-cpuid-Core-i7-3740QM-guest.xml} | 0 ...st.xml =3D> x86_64-cpuid-Core-i7-3740QM-host.xml} | 0 ...on.xml =3D> x86_64-cpuid-Core-i7-3740QM-json.xml} | 0 ...740QM.json =3D> x86_64-cpuid-Core-i7-3740QM.json} | 0 ...-3740QM.xml =3D> x86_64-cpuid-Core-i7-3740QM.xml} | 0 ...est.xml =3D> x86_64-cpuid-Core-i7-3770-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Core-i7-3770-host.xml} | 0 ...json.xml =3D> x86_64-cpuid-Core-i7-3770-json.xml} | 0 ...i7-3770.json =3D> x86_64-cpuid-Core-i7-3770.json} | 0 ...e-i7-3770.xml =3D> x86_64-cpuid-Core-i7-3770.xml} | 0 ...st.xml =3D> x86_64-cpuid-Core-i7-4600U-guest.xml} | 0 ...ost.xml =3D> x86_64-cpuid-Core-i7-4600U-host.xml} | 0 ...son.xml =3D> x86_64-cpuid-Core-i7-4600U-json.xml} | 0 ...-4600U.json =3D> x86_64-cpuid-Core-i7-4600U.json} | 0 ...i7-4600U.xml =3D> x86_64-cpuid-Core-i7-4600U.xml} | 0 ...st.xml =3D> x86_64-cpuid-Core-i7-5600U-guest.xml} | 0 ...ost.xml =3D> x86_64-cpuid-Core-i7-5600U-host.xml} | 0 ...son.xml =3D> x86_64-cpuid-Core-i7-5600U-json.xml} | 0 ...-5600U.json =3D> x86_64-cpuid-Core-i7-5600U.json} | 0 ...i7-5600U.xml =3D> x86_64-cpuid-Core-i7-5600U.xml} | 0 ...uest.xml =3D> x86_64-cpuid-Core2-E6850-guest.xml} | 0 ...-host.xml =3D> x86_64-cpuid-Core2-E6850-host.xml} | 0 ...-json.xml =3D> x86_64-cpuid-Core2-E6850-json.xml} | 0 ...e2-E6850.json =3D> x86_64-cpuid-Core2-E6850.json} | 0 ...ore2-E6850.xml =3D> x86_64-cpuid-Core2-E6850.xml} | 0 ...uest.xml =3D> x86_64-cpuid-Core2-Q9500-guest.xml} | 0 ...-host.xml =3D> x86_64-cpuid-Core2-Q9500-host.xml} | 0 ...ore2-Q9500.xml =3D> x86_64-cpuid-Core2-Q9500.xml} | 0 ...50-guest.xml =3D> x86_64-cpuid-FX-8150-guest.xml} | 0 ...8150-host.xml =3D> x86_64-cpuid-FX-8150-host.xml} | 0 ...-cpuid-FX-8150.xml =3D> x86_64-cpuid-FX-8150.xml} | 0 ...est.xml =3D> x86_64-cpuid-Opteron-1352-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Opteron-1352-host.xml} | 0 ...eron-1352.xml =3D> x86_64-cpuid-Opteron-1352.xml} | 0 ...est.xml =3D> x86_64-cpuid-Opteron-2350-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Opteron-2350-host.xml} | 0 ...json.xml =3D> x86_64-cpuid-Opteron-2350-json.xml} | 0 ...on-2350.json =3D> x86_64-cpuid-Opteron-2350.json} | 0 ...eron-2350.xml =3D> x86_64-cpuid-Opteron-2350.xml} | 0 ...est.xml =3D> x86_64-cpuid-Opteron-6234-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Opteron-6234-host.xml} | 0 ...json.xml =3D> x86_64-cpuid-Opteron-6234-json.xml} | 0 ...on-6234.json =3D> x86_64-cpuid-Opteron-6234.json} | 0 ...eron-6234.xml =3D> x86_64-cpuid-Opteron-6234.xml} | 0 ...est.xml =3D> x86_64-cpuid-Opteron-6282-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Opteron-6282-host.xml} | 0 ...eron-6282.xml =3D> x86_64-cpuid-Opteron-6282.xml} | 0 ...st.xml =3D> x86_64-cpuid-Pentium-P6100-guest.xml} | 0 ...ost.xml =3D> x86_64-cpuid-Pentium-P6100-host.xml} | 0 ...um-P6100.xml =3D> x86_64-cpuid-Pentium-P6100.xml} | 0 ...guest.xml =3D> x86_64-cpuid-Phenom-B95-guest.xml} | 0 ...5-host.xml =3D> x86_64-cpuid-Phenom-B95-host.xml} | 0 ...5-json.xml =3D> x86_64-cpuid-Phenom-B95-json.xml} | 0 ...henom-B95.json =3D> x86_64-cpuid-Phenom-B95.json} | 0 ...-Phenom-B95.xml =3D> x86_64-cpuid-Phenom-B95.xml} | 0 ...-guest.xml =3D> x86_64-cpuid-Xeon-5110-guest.xml} | 0 ...10-host.xml =3D> x86_64-cpuid-Xeon-5110-host.xml} | 0 ...id-Xeon-5110.xml =3D> x86_64-cpuid-Xeon-5110.xml} | 0 ...est.xml =3D> x86_64-cpuid-Xeon-E3-1245-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Xeon-E3-1245-host.xml} | 0 ...json.xml =3D> x86_64-cpuid-Xeon-E3-1245-json.xml} | 0 ...E3-1245.json =3D> x86_64-cpuid-Xeon-E3-1245.json} | 0 ...n-E3-1245.xml =3D> x86_64-cpuid-Xeon-E3-1245.xml} | 0 ...est.xml =3D> x86_64-cpuid-Xeon-E5-2630-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Xeon-E5-2630-host.xml} | 0 ...json.xml =3D> x86_64-cpuid-Xeon-E5-2630-json.xml} | 0 ...E5-2630.json =3D> x86_64-cpuid-Xeon-E5-2630.json} | 0 ...n-E5-2630.xml =3D> x86_64-cpuid-Xeon-E5-2630.xml} | 0 ...est.xml =3D> x86_64-cpuid-Xeon-E5-2650-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Xeon-E5-2650-host.xml} | 0 ...json.xml =3D> x86_64-cpuid-Xeon-E5-2650-json.xml} | 0 ...E5-2650.json =3D> x86_64-cpuid-Xeon-E5-2650.json} | 0 ...n-E5-2650.xml =3D> x86_64-cpuid-Xeon-E5-2650.xml} | 0 ...est.xml =3D> x86_64-cpuid-Xeon-E7-4820-guest.xml} | 0 ...host.xml =3D> x86_64-cpuid-Xeon-E7-4820-host.xml} | 0 ...json.xml =3D> x86_64-cpuid-Xeon-E7-4820-json.xml} | 0 ...E7-4820.json =3D> x86_64-cpuid-Xeon-E7-4820.json} | 0 ...n-E7-4820.xml =3D> x86_64-cpuid-Xeon-E7-4820.xml} | 0 ...guest.xml =3D> x86_64-cpuid-Xeon-W3520-guest.xml} | 0 ...0-host.xml =3D> x86_64-cpuid-Xeon-W3520-host.xml} | 0 ...0-json.xml =3D> x86_64-cpuid-Xeon-W3520-json.xml} | 0 ...eon-W3520.json =3D> x86_64-cpuid-Xeon-W3520.json} | 0 ...-Xeon-W3520.xml =3D> x86_64-cpuid-Xeon-W3520.xml} | 0 ...guest.xml =3D> x86_64-cpuid-Xeon-X5460-guest.xml} | 0 ...0-host.xml =3D> x86_64-cpuid-Xeon-X5460-host.xml} | 0 ...-Xeon-X5460.xml =3D> x86_64-cpuid-Xeon-X5460.xml} | 0 ...le-extra.xml =3D> x86_64-exact-disable-extra.xml} | 0 ...-exact-disable.xml =3D> x86_64-exact-disable.xml} | 0 ...xact-disable2.xml =3D> x86_64-exact-disable2.xml} | 0 ...bid-extra.xml =3D> x86_64-exact-forbid-extra.xml} | 0 ...86-exact-forbid.xml =3D> x86_64-exact-forbid.xml} | 0 ...-Haswell.xml =3D> x86_64-exact-force-Haswell.xml} | 0 ...{x86-exact-force.xml =3D> x86_64-exact-force.xml} | 0 ...re-extra.xml =3D> x86_64-exact-require-extra.xml} | 0 ...-exact-require.xml =3D> x86_64-exact-require.xml} | 0 .../{x86-exact.xml =3D> x86_64-exact.xml} | 0 ...-nofallback.xml =3D> x86_64-guest-nofallback.xml} | 0 .../{x86-guest.xml =3D> x86_64-guest.xml} | 0 ...t.xml =3D> x86_64-host+guest,model486-result.xml} | 0 ...ult.xml =3D> x86_64-host+guest,models-result.xml} | 0 ...est-result.xml =3D> x86_64-host+guest-result.xml} | 0 .../{x86-host+guest.xml =3D> x86_64-host+guest.xml} | 0 ... x86_64-host+host+host-model,models-result.xml} | 0 ...k.xml =3D> x86_64-host+host-model-nofallback.xml} | 0 ...t+host-model.xml =3D> x86_64-host+host-model.xml} | 0 ...l =3D> x86_64-host+host-passthrough-features.xml} | 0 ...hrough.xml =3D> x86_64-host+host-passthrough.xml} | 0 .../{x86-host+min.xml =3D> x86_64-host+min.xml} | 0 ...ult.xml =3D> x86_64-host+penryn-force-result.xml} | 0 ...-host+pentium3.xml =3D> x86_64-host+pentium3.xml} | 0 ...l =3D> x86_64-host+strict-force-extra-result.xml} | 0 ...-host-Haswell-noTSX+Haswell,haswell-result.xml} | 0 ...Haswell-noTSX+Haswell-noTSX,haswell-result.xml} | 0 ...64-host-Haswell-noTSX+Haswell-noTSX-result.xml} | 0 ...ell-noTSX.xml =3D> x86_64-host-Haswell-noTSX.xml} | 0 ...SandyBridge.xml =3D> x86_64-host-SandyBridge.xml} | 0 ...-host-amd-fake.xml =3D> x86_64-host-amd-fake.xml} | 0 .../{x86-host-amd.xml =3D> x86_64-host-amd.xml} | 0 ....xml =3D> x86_64-host-better+pentium3-result.xml} | 0 ...{x86-host-better.xml =3D> x86_64-host-better.xml} | 0 ...incomp-arch.xml =3D> x86_64-host-incomp-arch.xml} | 0 ...model.xml =3D> x86_64-host-invtsc+host-model.xml} | 0 ...{x86-host-invtsc.xml =3D> x86_64-host-invtsc.xml} | 0 ...llback.xml =3D> x86_64-host-model-nofallback.xml} | 0 .../{x86-host-model.xml =3D> x86_64-host-model.xml} | 0 ...ost-no-vendor.xml =3D> x86_64-host-no-vendor.xml} | 0 ...es.xml =3D> x86_64-host-passthrough-features.xml} | 0 ...passthrough.xml =3D> x86_64-host-passthrough.xml} | 0 ...sult.xml =3D> x86_64-host-worse+guest-result.xml} | 0 .../{x86-host-worse.xml =3D> x86_64-host-worse.xml} | 0 .../cputestdata/{x86-host.xml =3D> x86_64-host.xml} | 0 tests/cputestdata/{x86-min.xml =3D> x86_64-min.xml} | 0 ...86-penryn-force.xml =3D> x86_64-penryn-force.xml} | 0 ...86-pentium3-amd.xml =3D> x86_64-pentium3-amd.xml} | 0 .../{x86-pentium3.xml =3D> x86_64-pentium3.xml} | 0 ...trict-disable.xml =3D> x86_64-strict-disable.xml} | 0 ...rce-extra.xml =3D> x86_64-strict-force-extra.xml} | 0 ...{x86-strict-full.xml =3D> x86_64-strict-full.xml} | 0 .../{x86-strict.xml =3D> x86_64-strict.xml} | 0 211 files changed, 103 insertions(+), 103 deletions(-) rename tests/cputestdata/{x86-Haswell-noTSX-nofallback.xml =3D> x86_64-Has= well-noTSX-nofallback.xml} (100%) rename tests/cputestdata/{x86-Haswell-noTSX.xml =3D> x86_64-Haswell-noTSX.= xml} (100%) rename tests/cputestdata/{x86-Haswell.xml =3D> x86_64-Haswell.xml} (100%) rename tests/cputestdata/{x86-baseline-1-result.xml =3D> x86_64-baseline-1= -result.xml} (100%) rename tests/cputestdata/{x86-baseline-1.xml =3D> x86_64-baseline-1.xml} (= 100%) rename tests/cputestdata/{x86-baseline-2-result.xml =3D> x86_64-baseline-2= -result.xml} (100%) rename tests/cputestdata/{x86-baseline-2.xml =3D> x86_64-baseline-2.xml} (= 100%) rename tests/cputestdata/{x86-baseline-3-expanded.xml =3D> x86_64-baseline= -3-expanded.xml} (100%) rename tests/cputestdata/{x86-baseline-3-result.xml =3D> x86_64-baseline-3= -result.xml} (100%) rename tests/cputestdata/{x86-baseline-3.xml =3D> x86_64-baseline-3.xml} (= 100%) rename tests/cputestdata/{x86-baseline-4-expanded.xml =3D> x86_64-baseline= -4-expanded.xml} (100%) rename tests/cputestdata/{x86-baseline-4-result.xml =3D> x86_64-baseline-4= -result.xml} (100%) rename tests/cputestdata/{x86-baseline-4.xml =3D> x86_64-baseline-4.xml} (= 100%) rename tests/cputestdata/{x86-baseline-5-expanded.xml =3D> x86_64-baseline= -5-expanded.xml} (100%) rename tests/cputestdata/{x86-baseline-5-result.xml =3D> x86_64-baseline-5= -result.xml} (100%) rename tests/cputestdata/{x86-baseline-5.xml =3D> x86_64-baseline-5.xml} (= 100%) rename tests/cputestdata/{x86-baseline-6-migratable.xml =3D> x86_64-baseli= ne-6-migratable.xml} (100%) rename tests/cputestdata/{x86-baseline-6-result.xml =3D> x86_64-baseline-6= -result.xml} (100%) rename tests/cputestdata/{x86-baseline-6.xml =3D> x86_64-baseline-6.xml} (= 100%) rename tests/cputestdata/{x86-baseline-7-result.xml =3D> x86_64-baseline-7= -result.xml} (100%) rename tests/cputestdata/{x86-baseline-7.xml =3D> x86_64-baseline-7.xml} (= 100%) rename tests/cputestdata/{x86-baseline-8-result.xml =3D> x86_64-baseline-8= -result.xml} (100%) rename tests/cputestdata/{x86-baseline-8.xml =3D> x86_64-baseline-8.xml} (= 100%) rename tests/cputestdata/{x86-baseline-incompatible-vendors.xml =3D> x86_6= 4-baseline-incompatible-vendors.xml} (100%) rename tests/cputestdata/{x86-baseline-no-vendor-result.xml =3D> x86_64-ba= seline-no-vendor-result.xml} (100%) rename tests/cputestdata/{x86-baseline-no-vendor.xml =3D> x86_64-baseline-= no-vendor.xml} (100%) rename tests/cputestdata/{x86-baseline-some-vendors-result.xml =3D> x86_64= -baseline-some-vendors-result.xml} (100%) rename tests/cputestdata/{x86-baseline-some-vendors.xml =3D> x86_64-baseli= ne-some-vendors.xml} (100%) rename tests/cputestdata/{x86-bogus-feature.xml =3D> x86_64-bogus-feature.= xml} (100%) rename tests/cputestdata/{x86-bogus-model.xml =3D> x86_64-bogus-model.xml}= (100%) rename tests/cputestdata/{x86-bogus-vendor.xml =3D> x86_64-bogus-vendor.xm= l} (100%) rename tests/cputestdata/{x86-cpuid-A10-5800K-guest.xml =3D> x86_64-cpuid-= A10-5800K-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-A10-5800K-host.xml =3D> x86_64-cpuid-A= 10-5800K-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-A10-5800K-json.xml =3D> x86_64-cpuid-A= 10-5800K-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-A10-5800K.json =3D> x86_64-cpuid-A10-5= 800K.json} (100%) rename tests/cputestdata/{x86-cpuid-A10-5800K.xml =3D> x86_64-cpuid-A10-58= 00K.xml} (100%) rename tests/cputestdata/{x86-cpuid-Atom-D510-guest.xml =3D> x86_64-cpuid-= Atom-D510-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Atom-D510-host.xml =3D> x86_64-cpuid-A= tom-D510-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Atom-D510.xml =3D> x86_64-cpuid-Atom-D= 510.xml} (100%) rename tests/cputestdata/{x86-cpuid-Atom-N450-guest.xml =3D> x86_64-cpuid-= Atom-N450-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Atom-N450-host.xml =3D> x86_64-cpuid-A= tom-N450-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Atom-N450.xml =3D> x86_64-cpuid-Atom-N= 450.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-2500-guest.xml =3D> x86_64-cpu= id-Core-i5-2500-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-2500-host.xml =3D> x86_64-cpui= d-Core-i5-2500-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-2500-json.xml =3D> x86_64-cpui= d-Core-i5-2500-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-2500.json =3D> x86_64-cpuid-Co= re-i5-2500.json} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-2500.xml =3D> x86_64-cpuid-Cor= e-i5-2500.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-2540M-guest.xml =3D> x86_64-cp= uid-Core-i5-2540M-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-2540M-host.xml =3D> x86_64-cpu= id-Core-i5-2540M-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-2540M-json.xml =3D> x86_64-cpu= id-Core-i5-2540M-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-2540M.json =3D> x86_64-cpuid-C= ore-i5-2540M.json} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-2540M.xml =3D> x86_64-cpuid-Co= re-i5-2540M.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-4670T-guest.xml =3D> x86_64-cp= uid-Core-i5-4670T-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-4670T-host.xml =3D> x86_64-cpu= id-Core-i5-4670T-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-4670T-json.xml =3D> x86_64-cpu= id-Core-i5-4670T-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-4670T.json =3D> x86_64-cpuid-C= ore-i5-4670T.json} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-4670T.xml =3D> x86_64-cpuid-Co= re-i5-4670T.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-6600-guest.xml =3D> x86_64-cpu= id-Core-i5-6600-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-6600-host.xml =3D> x86_64-cpui= d-Core-i5-6600-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-6600-json.xml =3D> x86_64-cpui= d-Core-i5-6600-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-6600.json =3D> x86_64-cpuid-Co= re-i5-6600.json} (100%) rename tests/cputestdata/{x86-cpuid-Core-i5-6600.xml =3D> x86_64-cpuid-Cor= e-i5-6600.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-2600-guest.xml =3D> x86_64-cpu= id-Core-i7-2600-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-2600-host.xml =3D> x86_64-cpui= d-Core-i7-2600-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-2600-json.xml =3D> x86_64-cpui= d-Core-i7-2600-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-2600.json =3D> x86_64-cpuid-Co= re-i7-2600.json} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-2600.xml =3D> x86_64-cpuid-Cor= e-i7-2600.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3520M-guest.xml =3D> x86_64-cp= uid-Core-i7-3520M-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3520M-host.xml =3D> x86_64-cpu= id-Core-i7-3520M-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3520M.xml =3D> x86_64-cpuid-Co= re-i7-3520M.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM-guest.xml =3D> x86_64-c= puid-Core-i7-3740QM-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM-host.xml =3D> x86_64-cp= uid-Core-i7-3740QM-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM-json.xml =3D> x86_64-cp= uid-Core-i7-3740QM-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM.json =3D> x86_64-cpuid-= Core-i7-3740QM.json} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM.xml =3D> x86_64-cpuid-C= ore-i7-3740QM.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3770-guest.xml =3D> x86_64-cpu= id-Core-i7-3770-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3770-host.xml =3D> x86_64-cpui= d-Core-i7-3770-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3770-json.xml =3D> x86_64-cpui= d-Core-i7-3770-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3770.json =3D> x86_64-cpuid-Co= re-i7-3770.json} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-3770.xml =3D> x86_64-cpuid-Cor= e-i7-3770.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-4600U-guest.xml =3D> x86_64-cp= uid-Core-i7-4600U-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-4600U-host.xml =3D> x86_64-cpu= id-Core-i7-4600U-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-4600U-json.xml =3D> x86_64-cpu= id-Core-i7-4600U-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-4600U.json =3D> x86_64-cpuid-C= ore-i7-4600U.json} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-4600U.xml =3D> x86_64-cpuid-Co= re-i7-4600U.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-5600U-guest.xml =3D> x86_64-cp= uid-Core-i7-5600U-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-5600U-host.xml =3D> x86_64-cpu= id-Core-i7-5600U-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-5600U-json.xml =3D> x86_64-cpu= id-Core-i7-5600U-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-5600U.json =3D> x86_64-cpuid-C= ore-i7-5600U.json} (100%) rename tests/cputestdata/{x86-cpuid-Core-i7-5600U.xml =3D> x86_64-cpuid-Co= re-i7-5600U.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core2-E6850-guest.xml =3D> x86_64-cpui= d-Core2-E6850-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core2-E6850-host.xml =3D> x86_64-cpuid= -Core2-E6850-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core2-E6850-json.xml =3D> x86_64-cpuid= -Core2-E6850-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core2-E6850.json =3D> x86_64-cpuid-Cor= e2-E6850.json} (100%) rename tests/cputestdata/{x86-cpuid-Core2-E6850.xml =3D> x86_64-cpuid-Core= 2-E6850.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core2-Q9500-guest.xml =3D> x86_64-cpui= d-Core2-Q9500-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core2-Q9500-host.xml =3D> x86_64-cpuid= -Core2-Q9500-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Core2-Q9500.xml =3D> x86_64-cpuid-Core= 2-Q9500.xml} (100%) rename tests/cputestdata/{x86-cpuid-FX-8150-guest.xml =3D> x86_64-cpuid-FX= -8150-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-FX-8150-host.xml =3D> x86_64-cpuid-FX-= 8150-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-FX-8150.xml =3D> x86_64-cpuid-FX-8150.= xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-1352-guest.xml =3D> x86_64-cpu= id-Opteron-1352-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-1352-host.xml =3D> x86_64-cpui= d-Opteron-1352-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-1352.xml =3D> x86_64-cpuid-Opt= eron-1352.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-2350-guest.xml =3D> x86_64-cpu= id-Opteron-2350-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-2350-host.xml =3D> x86_64-cpui= d-Opteron-2350-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-2350-json.xml =3D> x86_64-cpui= d-Opteron-2350-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-2350.json =3D> x86_64-cpuid-Op= teron-2350.json} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-2350.xml =3D> x86_64-cpuid-Opt= eron-2350.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-6234-guest.xml =3D> x86_64-cpu= id-Opteron-6234-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-6234-host.xml =3D> x86_64-cpui= d-Opteron-6234-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-6234-json.xml =3D> x86_64-cpui= d-Opteron-6234-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-6234.json =3D> x86_64-cpuid-Op= teron-6234.json} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-6234.xml =3D> x86_64-cpuid-Opt= eron-6234.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-6282-guest.xml =3D> x86_64-cpu= id-Opteron-6282-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-6282-host.xml =3D> x86_64-cpui= d-Opteron-6282-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Opteron-6282.xml =3D> x86_64-cpuid-Opt= eron-6282.xml} (100%) rename tests/cputestdata/{x86-cpuid-Pentium-P6100-guest.xml =3D> x86_64-cp= uid-Pentium-P6100-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Pentium-P6100-host.xml =3D> x86_64-cpu= id-Pentium-P6100-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Pentium-P6100.xml =3D> x86_64-cpuid-Pe= ntium-P6100.xml} (100%) rename tests/cputestdata/{x86-cpuid-Phenom-B95-guest.xml =3D> x86_64-cpuid= -Phenom-B95-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Phenom-B95-host.xml =3D> x86_64-cpuid-= Phenom-B95-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Phenom-B95-json.xml =3D> x86_64-cpuid-= Phenom-B95-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Phenom-B95.json =3D> x86_64-cpuid-Phen= om-B95.json} (100%) rename tests/cputestdata/{x86-cpuid-Phenom-B95.xml =3D> x86_64-cpuid-Pheno= m-B95.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-5110-guest.xml =3D> x86_64-cpuid-= Xeon-5110-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-5110-host.xml =3D> x86_64-cpuid-X= eon-5110-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-5110.xml =3D> x86_64-cpuid-Xeon-5= 110.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245-guest.xml =3D> x86_64-cpu= id-Xeon-E3-1245-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245-host.xml =3D> x86_64-cpui= d-Xeon-E3-1245-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245-json.xml =3D> x86_64-cpui= d-Xeon-E3-1245-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245.json =3D> x86_64-cpuid-Xe= on-E3-1245.json} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245.xml =3D> x86_64-cpuid-Xeo= n-E3-1245.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630-guest.xml =3D> x86_64-cpu= id-Xeon-E5-2630-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630-host.xml =3D> x86_64-cpui= d-Xeon-E5-2630-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630-json.xml =3D> x86_64-cpui= d-Xeon-E5-2630-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630.json =3D> x86_64-cpuid-Xe= on-E5-2630.json} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630.xml =3D> x86_64-cpuid-Xeo= n-E5-2630.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650-guest.xml =3D> x86_64-cpu= id-Xeon-E5-2650-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650-host.xml =3D> x86_64-cpui= d-Xeon-E5-2650-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650-json.xml =3D> x86_64-cpui= d-Xeon-E5-2650-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650.json =3D> x86_64-cpuid-Xe= on-E5-2650.json} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650.xml =3D> x86_64-cpuid-Xeo= n-E5-2650.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820-guest.xml =3D> x86_64-cpu= id-Xeon-E7-4820-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820-host.xml =3D> x86_64-cpui= d-Xeon-E7-4820-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820-json.xml =3D> x86_64-cpui= d-Xeon-E7-4820-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820.json =3D> x86_64-cpuid-Xe= on-E7-4820.json} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820.xml =3D> x86_64-cpuid-Xeo= n-E7-4820.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-W3520-guest.xml =3D> x86_64-cpuid= -Xeon-W3520-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-W3520-host.xml =3D> x86_64-cpuid-= Xeon-W3520-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-W3520-json.xml =3D> x86_64-cpuid-= Xeon-W3520-json.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-W3520.json =3D> x86_64-cpuid-Xeon= -W3520.json} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-W3520.xml =3D> x86_64-cpuid-Xeon-= W3520.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-X5460-guest.xml =3D> x86_64-cpuid= -Xeon-X5460-guest.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-X5460-host.xml =3D> x86_64-cpuid-= Xeon-X5460-host.xml} (100%) rename tests/cputestdata/{x86-cpuid-Xeon-X5460.xml =3D> x86_64-cpuid-Xeon-= X5460.xml} (100%) rename tests/cputestdata/{x86-exact-disable-extra.xml =3D> x86_64-exact-di= sable-extra.xml} (100%) rename tests/cputestdata/{x86-exact-disable.xml =3D> x86_64-exact-disable.= xml} (100%) rename tests/cputestdata/{x86-exact-disable2.xml =3D> x86_64-exact-disable= 2.xml} (100%) rename tests/cputestdata/{x86-exact-forbid-extra.xml =3D> x86_64-exact-for= bid-extra.xml} (100%) rename tests/cputestdata/{x86-exact-forbid.xml =3D> x86_64-exact-forbid.xm= l} (100%) rename tests/cputestdata/{x86-exact-force-Haswell.xml =3D> x86_64-exact-fo= rce-Haswell.xml} (100%) rename tests/cputestdata/{x86-exact-force.xml =3D> x86_64-exact-force.xml}= (100%) rename tests/cputestdata/{x86-exact-require-extra.xml =3D> x86_64-exact-re= quire-extra.xml} (100%) rename tests/cputestdata/{x86-exact-require.xml =3D> x86_64-exact-require.= xml} (100%) rename tests/cputestdata/{x86-exact.xml =3D> x86_64-exact.xml} (100%) rename tests/cputestdata/{x86-guest-nofallback.xml =3D> x86_64-guest-nofal= lback.xml} (100%) rename tests/cputestdata/{x86-guest.xml =3D> x86_64-guest.xml} (100%) rename tests/cputestdata/{x86-host+guest,model486-result.xml =3D> x86_64-h= ost+guest,model486-result.xml} (100%) rename tests/cputestdata/{x86-host+guest,models-result.xml =3D> x86_64-hos= t+guest,models-result.xml} (100%) rename tests/cputestdata/{x86-host+guest-result.xml =3D> x86_64-host+guest= -result.xml} (100%) rename tests/cputestdata/{x86-host+guest.xml =3D> x86_64-host+guest.xml} (= 100%) rename tests/cputestdata/{x86-host+host+host-model,models-result.xml =3D> = x86_64-host+host+host-model,models-result.xml} (100%) rename tests/cputestdata/{x86-host+host-model-nofallback.xml =3D> x86_64-h= ost+host-model-nofallback.xml} (100%) rename tests/cputestdata/{x86-host+host-model.xml =3D> x86_64-host+host-mo= del.xml} (100%) rename tests/cputestdata/{x86-host+host-passthrough-features.xml =3D> x86_= 64-host+host-passthrough-features.xml} (100%) rename tests/cputestdata/{x86-host+host-passthrough.xml =3D> x86_64-host+h= ost-passthrough.xml} (100%) rename tests/cputestdata/{x86-host+min.xml =3D> x86_64-host+min.xml} (100%) rename tests/cputestdata/{x86-host+penryn-force-result.xml =3D> x86_64-hos= t+penryn-force-result.xml} (100%) rename tests/cputestdata/{x86-host+pentium3.xml =3D> x86_64-host+pentium3.= xml} (100%) rename tests/cputestdata/{x86-host+strict-force-extra-result.xml =3D> x86_= 64-host+strict-force-extra-result.xml} (100%) rename tests/cputestdata/{x86-host-Haswell-noTSX+Haswell,haswell-result.xm= l =3D> x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml} (100%) rename tests/cputestdata/{x86-host-Haswell-noTSX+Haswell-noTSX,haswell-res= ult.xml =3D> x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml} (1= 00%) rename tests/cputestdata/{x86-host-Haswell-noTSX+Haswell-noTSX-result.xml = =3D> x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml} (100%) rename tests/cputestdata/{x86-host-Haswell-noTSX.xml =3D> x86_64-host-Hasw= ell-noTSX.xml} (100%) rename tests/cputestdata/{x86-host-SandyBridge.xml =3D> x86_64-host-SandyB= ridge.xml} (100%) rename tests/cputestdata/{x86-host-amd-fake.xml =3D> x86_64-host-amd-fake.= xml} (100%) rename tests/cputestdata/{x86-host-amd.xml =3D> x86_64-host-amd.xml} (100%) rename tests/cputestdata/{x86-host-better+pentium3-result.xml =3D> x86_64-= host-better+pentium3-result.xml} (100%) rename tests/cputestdata/{x86-host-better.xml =3D> x86_64-host-better.xml}= (100%) rename tests/cputestdata/{x86-host-incomp-arch.xml =3D> x86_64-host-incomp= -arch.xml} (100%) rename tests/cputestdata/{x86-host-invtsc+host-model.xml =3D> x86_64-host-= invtsc+host-model.xml} (100%) rename tests/cputestdata/{x86-host-invtsc.xml =3D> x86_64-host-invtsc.xml}= (100%) rename tests/cputestdata/{x86-host-model-nofallback.xml =3D> x86_64-host-m= odel-nofallback.xml} (100%) rename tests/cputestdata/{x86-host-model.xml =3D> x86_64-host-model.xml} (= 100%) rename tests/cputestdata/{x86-host-no-vendor.xml =3D> x86_64-host-no-vendo= r.xml} (100%) rename tests/cputestdata/{x86-host-passthrough-features.xml =3D> x86_64-ho= st-passthrough-features.xml} (100%) rename tests/cputestdata/{x86-host-passthrough.xml =3D> x86_64-host-passth= rough.xml} (100%) rename tests/cputestdata/{x86-host-worse+guest-result.xml =3D> x86_64-host= -worse+guest-result.xml} (100%) rename tests/cputestdata/{x86-host-worse.xml =3D> x86_64-host-worse.xml} (= 100%) rename tests/cputestdata/{x86-host.xml =3D> x86_64-host.xml} (100%) rename tests/cputestdata/{x86-min.xml =3D> x86_64-min.xml} (100%) rename tests/cputestdata/{x86-penryn-force.xml =3D> x86_64-penryn-force.xm= l} (100%) rename tests/cputestdata/{x86-pentium3-amd.xml =3D> x86_64-pentium3-amd.xm= l} (100%) rename tests/cputestdata/{x86-pentium3.xml =3D> x86_64-pentium3.xml} (100%) rename tests/cputestdata/{x86-strict-disable.xml =3D> x86_64-strict-disabl= e.xml} (100%) rename tests/cputestdata/{x86-strict-force-extra.xml =3D> x86_64-strict-fo= rce-extra.xml} (100%) rename tests/cputestdata/{x86-strict-full.xml =3D> x86_64-strict-full.xml}= (100%) rename tests/cputestdata/{x86-strict.xml =3D> x86_64-strict.xml} (100%) diff --git a/tests/cputest.c b/tests/cputest.c index 8d761af61..406b40dfe 100644 --- a/tests/cputest.c +++ b/tests/cputest.c @@ -677,13 +677,13 @@ mymain(void) } while (0) =20 /* host to host comparison */ - DO_TEST_COMPARE("x86", "host", "host", VIR_CPU_COMPARE_IDENTICAL); - DO_TEST_COMPARE("x86", "host", "host-better", VIR_CPU_COMPARE_INCOMPAT= IBLE); - DO_TEST_COMPARE("x86", "host", "host-worse", VIR_CPU_COMPARE_SUPERSET); - DO_TEST_COMPARE("x86", "host", "host-amd-fake", VIR_CPU_COMPARE_INCOMP= ATIBLE); - DO_TEST_COMPARE("x86", "host", "host-incomp-arch", VIR_CPU_COMPARE_INC= OMPATIBLE); - DO_TEST_COMPARE("x86", "host", "host-no-vendor", VIR_CPU_COMPARE_IDENT= ICAL); - DO_TEST_COMPARE("x86", "host-no-vendor", "host", VIR_CPU_COMPARE_INCOM= PATIBLE); + DO_TEST_COMPARE("x86_64", "host", "host", VIR_CPU_COMPARE_IDENTICAL); + DO_TEST_COMPARE("x86_64", "host", "host-better", VIR_CPU_COMPARE_INCOM= PATIBLE); + DO_TEST_COMPARE("x86_64", "host", "host-worse", VIR_CPU_COMPARE_SUPERS= ET); + DO_TEST_COMPARE("x86_64", "host", "host-amd-fake", VIR_CPU_COMPARE_INC= OMPATIBLE); + DO_TEST_COMPARE("x86_64", "host", "host-incomp-arch", VIR_CPU_COMPARE_= INCOMPATIBLE); + DO_TEST_COMPARE("x86_64", "host", "host-no-vendor", VIR_CPU_COMPARE_ID= ENTICAL); + DO_TEST_COMPARE("x86_64", "host-no-vendor", "host", VIR_CPU_COMPARE_IN= COMPATIBLE); =20 DO_TEST_COMPARE("ppc64", "host", "host", VIR_CPU_COMPARE_IDENTICAL); DO_TEST_COMPARE("ppc64", "host", "host-better", VIR_CPU_COMPARE_INCOMP= ATIBLE); @@ -693,28 +693,28 @@ mymain(void) DO_TEST_COMPARE("ppc64", "host-no-vendor", "host", VIR_CPU_COMPARE_INC= OMPATIBLE); =20 /* guest to host comparison */ - DO_TEST_COMPARE("x86", "host", "bogus-model", VIR_CPU_COMPARE_ERROR); - DO_TEST_COMPARE("x86", "host", "bogus-feature", VIR_CPU_COMPARE_ERROR); - DO_TEST_COMPARE("x86", "host", "min", VIR_CPU_COMPARE_SUPERSET); - DO_TEST_COMPARE("x86", "host", "pentium3", VIR_CPU_COMPARE_SUPERSET); - DO_TEST_COMPARE("x86", "host", "exact", VIR_CPU_COMPARE_SUPERSET); - DO_TEST_COMPARE("x86", "host", "exact-forbid", VIR_CPU_COMPARE_INCOMPA= TIBLE); - DO_TEST_COMPARE("x86", "host", "exact-forbid-extra", VIR_CPU_COMPARE_S= UPERSET); - DO_TEST_COMPARE("x86", "host", "exact-disable", VIR_CPU_COMPARE_SUPERS= ET); - DO_TEST_COMPARE("x86", "host", "exact-disable2", VIR_CPU_COMPARE_SUPER= SET); - DO_TEST_COMPARE("x86", "host", "exact-disable-extra", VIR_CPU_COMPARE_= SUPERSET); - DO_TEST_COMPARE("x86", "host", "exact-require", VIR_CPU_COMPARE_SUPERS= ET); - DO_TEST_COMPARE("x86", "host", "exact-require-extra", VIR_CPU_COMPARE_= INCOMPATIBLE); - DO_TEST_COMPARE("x86", "host", "exact-force", VIR_CPU_COMPARE_SUPERSET= ); - DO_TEST_COMPARE("x86", "host", "strict", VIR_CPU_COMPARE_INCOMPATIBLE); - DO_TEST_COMPARE("x86", "host", "strict-full", VIR_CPU_COMPARE_IDENTICA= L); - DO_TEST_COMPARE("x86", "host", "strict-disable", VIR_CPU_COMPARE_IDENT= ICAL); - DO_TEST_COMPARE("x86", "host", "strict-force-extra", VIR_CPU_COMPARE_I= DENTICAL); - DO_TEST_COMPARE("x86", "host", "guest", VIR_CPU_COMPARE_SUPERSET); - DO_TEST_COMPARE("x86", "host", "pentium3-amd", VIR_CPU_COMPARE_INCOMPA= TIBLE); - DO_TEST_COMPARE("x86", "host-amd", "pentium3-amd", VIR_CPU_COMPARE_SUP= ERSET); - DO_TEST_COMPARE("x86", "host-worse", "penryn-force", VIR_CPU_COMPARE_I= DENTICAL); - DO_TEST_COMPARE("x86", "host-SandyBridge", "exact-force-Haswell", VIR_= CPU_COMPARE_IDENTICAL); + DO_TEST_COMPARE("x86_64", "host", "bogus-model", VIR_CPU_COMPARE_ERROR= ); + DO_TEST_COMPARE("x86_64", "host", "bogus-feature", VIR_CPU_COMPARE_ERR= OR); + DO_TEST_COMPARE("x86_64", "host", "min", VIR_CPU_COMPARE_SUPERSET); + DO_TEST_COMPARE("x86_64", "host", "pentium3", VIR_CPU_COMPARE_SUPERSET= ); + DO_TEST_COMPARE("x86_64", "host", "exact", VIR_CPU_COMPARE_SUPERSET); + DO_TEST_COMPARE("x86_64", "host", "exact-forbid", VIR_CPU_COMPARE_INCO= MPATIBLE); + DO_TEST_COMPARE("x86_64", "host", "exact-forbid-extra", VIR_CPU_COMPAR= E_SUPERSET); + DO_TEST_COMPARE("x86_64", "host", "exact-disable", VIR_CPU_COMPARE_SUP= ERSET); + DO_TEST_COMPARE("x86_64", "host", "exact-disable2", VIR_CPU_COMPARE_SU= PERSET); + DO_TEST_COMPARE("x86_64", "host", "exact-disable-extra", VIR_CPU_COMPA= RE_SUPERSET); + DO_TEST_COMPARE("x86_64", "host", "exact-require", VIR_CPU_COMPARE_SUP= ERSET); + DO_TEST_COMPARE("x86_64", "host", "exact-require-extra", VIR_CPU_COMPA= RE_INCOMPATIBLE); + DO_TEST_COMPARE("x86_64", "host", "exact-force", VIR_CPU_COMPARE_SUPER= SET); + DO_TEST_COMPARE("x86_64", "host", "strict", VIR_CPU_COMPARE_INCOMPATIB= LE); + DO_TEST_COMPARE("x86_64", "host", "strict-full", VIR_CPU_COMPARE_IDENT= ICAL); + DO_TEST_COMPARE("x86_64", "host", "strict-disable", VIR_CPU_COMPARE_ID= ENTICAL); + DO_TEST_COMPARE("x86_64", "host", "strict-force-extra", VIR_CPU_COMPAR= E_IDENTICAL); + DO_TEST_COMPARE("x86_64", "host", "guest", VIR_CPU_COMPARE_SUPERSET); + DO_TEST_COMPARE("x86_64", "host", "pentium3-amd", VIR_CPU_COMPARE_INCO= MPATIBLE); + DO_TEST_COMPARE("x86_64", "host-amd", "pentium3-amd", VIR_CPU_COMPARE_= SUPERSET); + DO_TEST_COMPARE("x86_64", "host-worse", "penryn-force", VIR_CPU_COMPAR= E_IDENTICAL); + DO_TEST_COMPARE("x86_64", "host-SandyBridge", "exact-force-Haswell", V= IR_CPU_COMPARE_IDENTICAL); =20 DO_TEST_COMPARE("ppc64", "host", "guest-strict", VIR_CPU_COMPARE_IDENT= ICAL); DO_TEST_COMPARE("ppc64", "host", "guest-exact", VIR_CPU_COMPARE_INCOMP= ATIBLE); @@ -728,14 +728,14 @@ mymain(void) =20 /* guest updates for migration * automatically compares host CPU with the result */ - DO_TEST_UPDATE("x86", "host", "min", VIR_CPU_COMPARE_IDENTICAL); - DO_TEST_UPDATE("x86", "host", "pentium3", VIR_CPU_COMPARE_IDENTICAL); - DO_TEST_UPDATE("x86", "host", "guest", VIR_CPU_COMPARE_SUPERSET); - DO_TEST_UPDATE("x86", "host", "host-model", VIR_CPU_COMPARE_IDENTICAL); - DO_TEST_UPDATE("x86", "host", "host-model-nofallback", VIR_CPU_COMPARE= _IDENTICAL); - DO_TEST_UPDATE("x86", "host-invtsc", "host-model", VIR_CPU_COMPARE_SUP= ERSET); - DO_TEST_UPDATE_ONLY("x86", "host", "host-passthrough"); - DO_TEST_UPDATE_ONLY("x86", "host", "host-passthrough-features"); + DO_TEST_UPDATE("x86_64", "host", "min", VIR_CPU_COMPARE_IDENTICAL); + DO_TEST_UPDATE("x86_64", "host", "pentium3", VIR_CPU_COMPARE_IDENTICAL= ); + DO_TEST_UPDATE("x86_64", "host", "guest", VIR_CPU_COMPARE_SUPERSET); + DO_TEST_UPDATE("x86_64", "host", "host-model", VIR_CPU_COMPARE_IDENTIC= AL); + DO_TEST_UPDATE("x86_64", "host", "host-model-nofallback", VIR_CPU_COMP= ARE_IDENTICAL); + DO_TEST_UPDATE("x86_64", "host-invtsc", "host-model", VIR_CPU_COMPARE_= SUPERSET); + DO_TEST_UPDATE_ONLY("x86_64", "host", "host-passthrough"); + DO_TEST_UPDATE_ONLY("x86_64", "host", "host-passthrough-features"); =20 DO_TEST_UPDATE("ppc64", "host", "guest", VIR_CPU_COMPARE_IDENTICAL); DO_TEST_UPDATE("ppc64", "host", "guest-nofallback", VIR_CPU_COMPARE_IN= COMPATIBLE); @@ -748,21 +748,21 @@ mymain(void) DO_TEST_UPDATE("ppc64", "host", "guest-compat-incompatible", VIR_CPU_C= OMPARE_INCOMPATIBLE); =20 /* computing baseline CPUs */ - DO_TEST_BASELINE("x86", "incompatible-vendors", 0, -1); - DO_TEST_BASELINE("x86", "no-vendor", 0, 0); - DO_TEST_BASELINE("x86", "some-vendors", 0, 0); - DO_TEST_BASELINE("x86", "1", 0, 0); - DO_TEST_BASELINE("x86", "2", 0, 0); - DO_TEST_BASELINE("x86", "3", 0, 0); - DO_TEST_BASELINE("x86", "3", VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES,= 0); - DO_TEST_BASELINE("x86", "4", 0, 0); - DO_TEST_BASELINE("x86", "4", VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES,= 0); - DO_TEST_BASELINE("x86", "5", 0, 0); - DO_TEST_BASELINE("x86", "5", VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES,= 0); - DO_TEST_BASELINE("x86", "6", 0, 0); - DO_TEST_BASELINE("x86", "6", VIR_CONNECT_BASELINE_CPU_MIGRATABLE, 0); - DO_TEST_BASELINE("x86", "7", 0, 0); - DO_TEST_BASELINE("x86", "8", 0, 0); + DO_TEST_BASELINE("x86_64", "incompatible-vendors", 0, -1); + DO_TEST_BASELINE("x86_64", "no-vendor", 0, 0); + DO_TEST_BASELINE("x86_64", "some-vendors", 0, 0); + DO_TEST_BASELINE("x86_64", "1", 0, 0); + DO_TEST_BASELINE("x86_64", "2", 0, 0); + DO_TEST_BASELINE("x86_64", "3", 0, 0); + DO_TEST_BASELINE("x86_64", "3", VIR_CONNECT_BASELINE_CPU_EXPAND_FEATUR= ES, 0); + DO_TEST_BASELINE("x86_64", "4", 0, 0); + DO_TEST_BASELINE("x86_64", "4", VIR_CONNECT_BASELINE_CPU_EXPAND_FEATUR= ES, 0); + DO_TEST_BASELINE("x86_64", "5", 0, 0); + DO_TEST_BASELINE("x86_64", "5", VIR_CONNECT_BASELINE_CPU_EXPAND_FEATUR= ES, 0); + DO_TEST_BASELINE("x86_64", "6", 0, 0); + DO_TEST_BASELINE("x86_64", "6", VIR_CONNECT_BASELINE_CPU_MIGRATABLE, 0= ); + DO_TEST_BASELINE("x86_64", "7", 0, 0); + DO_TEST_BASELINE("x86_64", "8", 0, 0); =20 DO_TEST_BASELINE("ppc64", "incompatible-vendors", 0, -1); DO_TEST_BASELINE("ppc64", "no-vendor", 0, 0); @@ -771,29 +771,29 @@ mymain(void) DO_TEST_BASELINE("ppc64", "legacy", 0, -1); =20 /* CPU features */ - DO_TEST_HASFEATURE("x86", "host", "vmx", YES); - DO_TEST_HASFEATURE("x86", "host", "lm", YES); - DO_TEST_HASFEATURE("x86", "host", "sse4.1", YES); - DO_TEST_HASFEATURE("x86", "host", "3dnowext", NO); - DO_TEST_HASFEATURE("x86", "host", "skinit", NO); - DO_TEST_HASFEATURE("x86", "host", "foo", FAIL); + DO_TEST_HASFEATURE("x86_64", "host", "vmx", YES); + DO_TEST_HASFEATURE("x86_64", "host", "lm", YES); + DO_TEST_HASFEATURE("x86_64", "host", "sse4.1", YES); + DO_TEST_HASFEATURE("x86_64", "host", "3dnowext", NO); + DO_TEST_HASFEATURE("x86_64", "host", "skinit", NO); + DO_TEST_HASFEATURE("x86_64", "host", "foo", FAIL); =20 /* computing guest data and decoding the data into a guest CPU XML */ - DO_TEST_GUESTCPU("x86", "host", "guest", NULL, 0); - DO_TEST_GUESTCPU("x86", "host-better", "pentium3", NULL, 0); - DO_TEST_GUESTCPU("x86", "host-worse", "guest", NULL, 0); - DO_TEST_GUESTCPU("x86", "host", "strict-force-extra", NULL, 0); - DO_TEST_GUESTCPU("x86", "host", "penryn-force", NULL, 0); - DO_TEST_GUESTCPU("x86", "host", "guest", model486, 0); - DO_TEST_GUESTCPU("x86", "host", "guest", models, 0); - DO_TEST_GUESTCPU("x86", "host", "guest", nomodel, -1); - DO_TEST_GUESTCPU("x86", "host", "guest-nofallback", models, -1); - DO_TEST_GUESTCPU("x86", "host", "host+host-model", models, 0); - DO_TEST_GUESTCPU("x86", "host", "host+host-model-nofallback", models, = -1); - DO_TEST_GUESTCPU("x86", "host-Haswell-noTSX", "Haswell", haswell, 0); - DO_TEST_GUESTCPU("x86", "host-Haswell-noTSX", "Haswell-noTSX", haswell= , 0); - DO_TEST_GUESTCPU("x86", "host-Haswell-noTSX", "Haswell-noTSX-nofallbac= k", haswell, -1); - DO_TEST_GUESTCPU("x86", "host-Haswell-noTSX", "Haswell-noTSX", NULL, 0= ); + DO_TEST_GUESTCPU("x86_64", "host", "guest", NULL, 0); + DO_TEST_GUESTCPU("x86_64", "host-better", "pentium3", NULL, 0); + DO_TEST_GUESTCPU("x86_64", "host-worse", "guest", NULL, 0); + DO_TEST_GUESTCPU("x86_64", "host", "strict-force-extra", NULL, 0); + DO_TEST_GUESTCPU("x86_64", "host", "penryn-force", NULL, 0); + DO_TEST_GUESTCPU("x86_64", "host", "guest", model486, 0); + DO_TEST_GUESTCPU("x86_64", "host", "guest", models, 0); + DO_TEST_GUESTCPU("x86_64", "host", "guest", nomodel, -1); + DO_TEST_GUESTCPU("x86_64", "host", "guest-nofallback", models, -1); + DO_TEST_GUESTCPU("x86_64", "host", "host+host-model", models, 0); + DO_TEST_GUESTCPU("x86_64", "host", "host+host-model-nofallback", model= s, -1); + DO_TEST_GUESTCPU("x86_64", "host-Haswell-noTSX", "Haswell", haswell, 0= ); + DO_TEST_GUESTCPU("x86_64", "host-Haswell-noTSX", "Haswell-noTSX", hasw= ell, 0); + DO_TEST_GUESTCPU("x86_64", "host-Haswell-noTSX", "Haswell-noTSX-nofall= back", haswell, -1); + DO_TEST_GUESTCPU("x86_64", "host-Haswell-noTSX", "Haswell-noTSX", NULL= , 0); =20 DO_TEST_GUESTCPU("ppc64", "host", "guest", ppc_models, 0); DO_TEST_GUESTCPU("ppc64", "host", "guest-nofallback", ppc_models, -1); @@ -801,35 +801,35 @@ mymain(void) DO_TEST_GUESTCPU("ppc64", "host", "guest-legacy-incompatible", ppc_mod= els, -1); DO_TEST_GUESTCPU("ppc64", "host", "guest-legacy-invalid", ppc_models, = -1); =20 - DO_TEST_CPUID("x86", "A10-5800K", true); - DO_TEST_CPUID("x86", "Atom-D510", false); - DO_TEST_CPUID("x86", "Atom-N450", false); - DO_TEST_CPUID("x86", "Core-i5-2500", true); - DO_TEST_CPUID("x86", "Core-i5-2540M", true); - DO_TEST_CPUID("x86", "Core-i5-4670T", true); - DO_TEST_CPUID("x86", "Core-i5-6600", true); - DO_TEST_CPUID("x86", "Core-i7-2600", true); - DO_TEST_CPUID("x86", "Core-i7-3520M", false); - DO_TEST_CPUID("x86", "Core-i7-3740QM", true); - DO_TEST_CPUID("x86", "Core-i7-3770", true); - DO_TEST_CPUID("x86", "Core-i7-4600U", true); - DO_TEST_CPUID("x86", "Core-i7-5600U", true); - DO_TEST_CPUID("x86", "Core2-E6850", true); - DO_TEST_CPUID("x86", "Core2-Q9500", false); - DO_TEST_CPUID("x86", "FX-8150", false); - DO_TEST_CPUID("x86", "Opteron-1352", false); - DO_TEST_CPUID("x86", "Opteron-2350", true); - DO_TEST_CPUID("x86", "Opteron-6234", true); - DO_TEST_CPUID("x86", "Opteron-6282", false); - DO_TEST_CPUID("x86", "Pentium-P6100", false); - DO_TEST_CPUID("x86", "Phenom-B95", true); - DO_TEST_CPUID("x86", "Xeon-5110", false); - DO_TEST_CPUID("x86", "Xeon-E3-1245", true); - DO_TEST_CPUID("x86", "Xeon-E5-2630", true); - DO_TEST_CPUID("x86", "Xeon-E5-2650", true); - DO_TEST_CPUID("x86", "Xeon-E7-4820", true); - DO_TEST_CPUID("x86", "Xeon-W3520", true); - DO_TEST_CPUID("x86", "Xeon-X5460", false); + DO_TEST_CPUID("x86_64", "A10-5800K", true); + DO_TEST_CPUID("x86_64", "Atom-D510", false); + DO_TEST_CPUID("x86_64", "Atom-N450", false); + DO_TEST_CPUID("x86_64", "Core-i5-2500", true); + DO_TEST_CPUID("x86_64", "Core-i5-2540M", true); + DO_TEST_CPUID("x86_64", "Core-i5-4670T", true); + DO_TEST_CPUID("x86_64", "Core-i5-6600", true); + DO_TEST_CPUID("x86_64", "Core-i7-2600", true); + DO_TEST_CPUID("x86_64", "Core-i7-3520M", false); + DO_TEST_CPUID("x86_64", "Core-i7-3740QM", true); + DO_TEST_CPUID("x86_64", "Core-i7-3770", true); + DO_TEST_CPUID("x86_64", "Core-i7-4600U", true); + DO_TEST_CPUID("x86_64", "Core-i7-5600U", true); + DO_TEST_CPUID("x86_64", "Core2-E6850", true); + DO_TEST_CPUID("x86_64", "Core2-Q9500", false); + DO_TEST_CPUID("x86_64", "FX-8150", false); + DO_TEST_CPUID("x86_64", "Opteron-1352", false); + DO_TEST_CPUID("x86_64", "Opteron-2350", true); + DO_TEST_CPUID("x86_64", "Opteron-6234", true); + DO_TEST_CPUID("x86_64", "Opteron-6282", false); + DO_TEST_CPUID("x86_64", "Pentium-P6100", false); + DO_TEST_CPUID("x86_64", "Phenom-B95", true); + DO_TEST_CPUID("x86_64", "Xeon-5110", false); + DO_TEST_CPUID("x86_64", "Xeon-E3-1245", true); + DO_TEST_CPUID("x86_64", "Xeon-E5-2630", true); + DO_TEST_CPUID("x86_64", "Xeon-E5-2650", true); + DO_TEST_CPUID("x86_64", "Xeon-E7-4820", true); + DO_TEST_CPUID("x86_64", "Xeon-W3520", true); + DO_TEST_CPUID("x86_64", "Xeon-X5460", false); =20 #if WITH_QEMU && WITH_YAJL qemuTestDriverFree(&driver); diff --git a/tests/cputestdata/cpu-parse.sh b/tests/cputestdata/cpu-parse.sh index c3b5ef106..3db401daa 100755 --- a/tests/cputestdata/cpu-parse.sh +++ b/tests/cputestdata/cpu-parse.sh @@ -18,7 +18,7 @@ fname=3D`sed -e 's/^ *//; s/ APU .*//; s/ \(v[0-9]\|SE\)$//; s/ /-/g' <<<"$model"` -fname=3D"x86-cpuid-$fname" +fname=3D"x86_64-cpuid-$fname" =20 xml() { diff --git a/tests/cputestdata/x86-Haswell-noTSX-nofallback.xml b/tests/cpu= testdata/x86_64-Haswell-noTSX-nofallback.xml similarity index 100% rename from tests/cputestdata/x86-Haswell-noTSX-nofallback.xml rename to tests/cputestdata/x86_64-Haswell-noTSX-nofallback.xml diff --git a/tests/cputestdata/x86-Haswell-noTSX.xml b/tests/cputestdata/x8= 6_64-Haswell-noTSX.xml similarity index 100% rename from tests/cputestdata/x86-Haswell-noTSX.xml rename to tests/cputestdata/x86_64-Haswell-noTSX.xml diff --git a/tests/cputestdata/x86-Haswell.xml b/tests/cputestdata/x86_64-H= aswell.xml similarity index 100% rename from tests/cputestdata/x86-Haswell.xml rename to tests/cputestdata/x86_64-Haswell.xml diff --git a/tests/cputestdata/x86-baseline-1-result.xml b/tests/cputestdat= a/x86_64-baseline-1-result.xml similarity index 100% rename from tests/cputestdata/x86-baseline-1-result.xml rename to tests/cputestdata/x86_64-baseline-1-result.xml diff --git a/tests/cputestdata/x86-baseline-1.xml b/tests/cputestdata/x86_6= 4-baseline-1.xml similarity index 100% rename from tests/cputestdata/x86-baseline-1.xml rename to tests/cputestdata/x86_64-baseline-1.xml diff --git a/tests/cputestdata/x86-baseline-2-result.xml b/tests/cputestdat= a/x86_64-baseline-2-result.xml similarity index 100% rename from tests/cputestdata/x86-baseline-2-result.xml rename to tests/cputestdata/x86_64-baseline-2-result.xml diff --git a/tests/cputestdata/x86-baseline-2.xml b/tests/cputestdata/x86_6= 4-baseline-2.xml similarity index 100% rename from tests/cputestdata/x86-baseline-2.xml rename to tests/cputestdata/x86_64-baseline-2.xml diff --git a/tests/cputestdata/x86-baseline-3-expanded.xml b/tests/cputestd= ata/x86_64-baseline-3-expanded.xml similarity index 100% rename from tests/cputestdata/x86-baseline-3-expanded.xml rename to tests/cputestdata/x86_64-baseline-3-expanded.xml diff --git a/tests/cputestdata/x86-baseline-3-result.xml b/tests/cputestdat= a/x86_64-baseline-3-result.xml similarity index 100% rename from tests/cputestdata/x86-baseline-3-result.xml rename to tests/cputestdata/x86_64-baseline-3-result.xml diff --git a/tests/cputestdata/x86-baseline-3.xml b/tests/cputestdata/x86_6= 4-baseline-3.xml similarity index 100% rename from tests/cputestdata/x86-baseline-3.xml rename to tests/cputestdata/x86_64-baseline-3.xml diff --git a/tests/cputestdata/x86-baseline-4-expanded.xml b/tests/cputestd= ata/x86_64-baseline-4-expanded.xml similarity index 100% rename from tests/cputestdata/x86-baseline-4-expanded.xml rename to tests/cputestdata/x86_64-baseline-4-expanded.xml diff --git a/tests/cputestdata/x86-baseline-4-result.xml b/tests/cputestdat= a/x86_64-baseline-4-result.xml similarity index 100% rename from tests/cputestdata/x86-baseline-4-result.xml rename to tests/cputestdata/x86_64-baseline-4-result.xml diff --git a/tests/cputestdata/x86-baseline-4.xml b/tests/cputestdata/x86_6= 4-baseline-4.xml similarity index 100% rename from tests/cputestdata/x86-baseline-4.xml rename to tests/cputestdata/x86_64-baseline-4.xml diff --git a/tests/cputestdata/x86-baseline-5-expanded.xml b/tests/cputestd= ata/x86_64-baseline-5-expanded.xml similarity index 100% rename from tests/cputestdata/x86-baseline-5-expanded.xml rename to tests/cputestdata/x86_64-baseline-5-expanded.xml diff --git a/tests/cputestdata/x86-baseline-5-result.xml b/tests/cputestdat= a/x86_64-baseline-5-result.xml similarity index 100% rename from tests/cputestdata/x86-baseline-5-result.xml rename to tests/cputestdata/x86_64-baseline-5-result.xml diff --git a/tests/cputestdata/x86-baseline-5.xml b/tests/cputestdata/x86_6= 4-baseline-5.xml similarity index 100% rename from tests/cputestdata/x86-baseline-5.xml rename to tests/cputestdata/x86_64-baseline-5.xml diff --git a/tests/cputestdata/x86-baseline-6-migratable.xml b/tests/cputes= tdata/x86_64-baseline-6-migratable.xml similarity index 100% rename from tests/cputestdata/x86-baseline-6-migratable.xml rename to tests/cputestdata/x86_64-baseline-6-migratable.xml diff --git a/tests/cputestdata/x86-baseline-6-result.xml b/tests/cputestdat= a/x86_64-baseline-6-result.xml similarity index 100% rename from tests/cputestdata/x86-baseline-6-result.xml rename to tests/cputestdata/x86_64-baseline-6-result.xml diff --git a/tests/cputestdata/x86-baseline-6.xml b/tests/cputestdata/x86_6= 4-baseline-6.xml similarity index 100% rename from tests/cputestdata/x86-baseline-6.xml rename to tests/cputestdata/x86_64-baseline-6.xml diff --git a/tests/cputestdata/x86-baseline-7-result.xml b/tests/cputestdat= a/x86_64-baseline-7-result.xml similarity index 100% rename from tests/cputestdata/x86-baseline-7-result.xml rename to tests/cputestdata/x86_64-baseline-7-result.xml diff --git a/tests/cputestdata/x86-baseline-7.xml b/tests/cputestdata/x86_6= 4-baseline-7.xml similarity index 100% rename from tests/cputestdata/x86-baseline-7.xml rename to tests/cputestdata/x86_64-baseline-7.xml diff --git a/tests/cputestdata/x86-baseline-8-result.xml b/tests/cputestdat= a/x86_64-baseline-8-result.xml similarity index 100% rename from tests/cputestdata/x86-baseline-8-result.xml rename to tests/cputestdata/x86_64-baseline-8-result.xml diff --git a/tests/cputestdata/x86-baseline-8.xml b/tests/cputestdata/x86_6= 4-baseline-8.xml similarity index 100% rename from tests/cputestdata/x86-baseline-8.xml rename to tests/cputestdata/x86_64-baseline-8.xml diff --git a/tests/cputestdata/x86-baseline-incompatible-vendors.xml b/test= s/cputestdata/x86_64-baseline-incompatible-vendors.xml similarity index 100% rename from tests/cputestdata/x86-baseline-incompatible-vendors.xml rename to tests/cputestdata/x86_64-baseline-incompatible-vendors.xml diff --git a/tests/cputestdata/x86-baseline-no-vendor-result.xml b/tests/cp= utestdata/x86_64-baseline-no-vendor-result.xml similarity index 100% rename from tests/cputestdata/x86-baseline-no-vendor-result.xml rename to tests/cputestdata/x86_64-baseline-no-vendor-result.xml diff --git a/tests/cputestdata/x86-baseline-no-vendor.xml b/tests/cputestda= ta/x86_64-baseline-no-vendor.xml similarity index 100% rename from tests/cputestdata/x86-baseline-no-vendor.xml rename to tests/cputestdata/x86_64-baseline-no-vendor.xml diff --git a/tests/cputestdata/x86-baseline-some-vendors-result.xml b/tests= /cputestdata/x86_64-baseline-some-vendors-result.xml similarity index 100% rename from tests/cputestdata/x86-baseline-some-vendors-result.xml rename to tests/cputestdata/x86_64-baseline-some-vendors-result.xml diff --git a/tests/cputestdata/x86-baseline-some-vendors.xml b/tests/cputes= tdata/x86_64-baseline-some-vendors.xml similarity index 100% rename from tests/cputestdata/x86-baseline-some-vendors.xml rename to tests/cputestdata/x86_64-baseline-some-vendors.xml diff --git a/tests/cputestdata/x86-bogus-feature.xml b/tests/cputestdata/x8= 6_64-bogus-feature.xml similarity index 100% rename from tests/cputestdata/x86-bogus-feature.xml rename to tests/cputestdata/x86_64-bogus-feature.xml diff --git a/tests/cputestdata/x86-bogus-model.xml b/tests/cputestdata/x86_= 64-bogus-model.xml similarity index 100% rename from tests/cputestdata/x86-bogus-model.xml rename to tests/cputestdata/x86_64-bogus-model.xml diff --git a/tests/cputestdata/x86-bogus-vendor.xml b/tests/cputestdata/x86= _64-bogus-vendor.xml similarity index 100% rename from tests/cputestdata/x86-bogus-vendor.xml rename to tests/cputestdata/x86_64-bogus-vendor.xml diff --git a/tests/cputestdata/x86-cpuid-A10-5800K-guest.xml b/tests/cputes= tdata/x86_64-cpuid-A10-5800K-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-A10-5800K-guest.xml rename to tests/cputestdata/x86_64-cpuid-A10-5800K-guest.xml diff --git a/tests/cputestdata/x86-cpuid-A10-5800K-host.xml b/tests/cputest= data/x86_64-cpuid-A10-5800K-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-A10-5800K-host.xml rename to tests/cputestdata/x86_64-cpuid-A10-5800K-host.xml diff --git a/tests/cputestdata/x86-cpuid-A10-5800K-json.xml b/tests/cputest= data/x86_64-cpuid-A10-5800K-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-A10-5800K-json.xml rename to tests/cputestdata/x86_64-cpuid-A10-5800K-json.xml diff --git a/tests/cputestdata/x86-cpuid-A10-5800K.json b/tests/cputestdata= /x86_64-cpuid-A10-5800K.json similarity index 100% rename from tests/cputestdata/x86-cpuid-A10-5800K.json rename to tests/cputestdata/x86_64-cpuid-A10-5800K.json diff --git a/tests/cputestdata/x86-cpuid-A10-5800K.xml b/tests/cputestdata/= x86_64-cpuid-A10-5800K.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-A10-5800K.xml rename to tests/cputestdata/x86_64-cpuid-A10-5800K.xml diff --git a/tests/cputestdata/x86-cpuid-Atom-D510-guest.xml b/tests/cputes= tdata/x86_64-cpuid-Atom-D510-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Atom-D510-guest.xml rename to tests/cputestdata/x86_64-cpuid-Atom-D510-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Atom-D510-host.xml b/tests/cputest= data/x86_64-cpuid-Atom-D510-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Atom-D510-host.xml rename to tests/cputestdata/x86_64-cpuid-Atom-D510-host.xml diff --git a/tests/cputestdata/x86-cpuid-Atom-D510.xml b/tests/cputestdata/= x86_64-cpuid-Atom-D510.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Atom-D510.xml rename to tests/cputestdata/x86_64-cpuid-Atom-D510.xml diff --git a/tests/cputestdata/x86-cpuid-Atom-N450-guest.xml b/tests/cputes= tdata/x86_64-cpuid-Atom-N450-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Atom-N450-guest.xml rename to tests/cputestdata/x86_64-cpuid-Atom-N450-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Atom-N450-host.xml b/tests/cputest= data/x86_64-cpuid-Atom-N450-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Atom-N450-host.xml rename to tests/cputestdata/x86_64-cpuid-Atom-N450-host.xml diff --git a/tests/cputestdata/x86-cpuid-Atom-N450.xml b/tests/cputestdata/= x86_64-cpuid-Atom-N450.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Atom-N450.xml rename to tests/cputestdata/x86_64-cpuid-Atom-N450.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-2500-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i5-2500-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-2500-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-2500-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-2500-host.xml b/tests/cput= estdata/x86_64-cpuid-Core-i5-2500-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-2500-host.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-2500-json.xml b/tests/cput= estdata/x86_64-cpuid-Core-i5-2500-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-2500-json.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-2500-json.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-2500.json b/tests/cputestd= ata/x86_64-cpuid-Core-i5-2500.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-2500.json rename to tests/cputestdata/x86_64-cpuid-Core-i5-2500.json diff --git a/tests/cputestdata/x86-cpuid-Core-i5-2500.xml b/tests/cputestda= ta/x86_64-cpuid-Core-i5-2500.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-2500.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-2500.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-2540M-guest.xml b/tests/cp= utestdata/x86_64-cpuid-Core-i5-2540M-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-2540M-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-2540M-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-2540M-host.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i5-2540M-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-2540M-host.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-2540M-json.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i5-2540M-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-2540M-json.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-2540M-json.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-2540M.json b/tests/cputest= data/x86_64-cpuid-Core-i5-2540M.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-2540M.json rename to tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json diff --git a/tests/cputestdata/x86-cpuid-Core-i5-2540M.xml b/tests/cputestd= ata/x86_64-cpuid-Core-i5-2540M.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-2540M.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-2540M.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-4670T-guest.xml b/tests/cp= utestdata/x86_64-cpuid-Core-i5-4670T-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-4670T-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-4670T-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-4670T-host.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i5-4670T-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-4670T-host.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-4670T-json.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i5-4670T-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-4670T-json.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-4670T-json.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-4670T.json b/tests/cputest= data/x86_64-cpuid-Core-i5-4670T.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-4670T.json rename to tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json diff --git a/tests/cputestdata/x86-cpuid-Core-i5-4670T.xml b/tests/cputestd= ata/x86_64-cpuid-Core-i5-4670T.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-4670T.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-4670T.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-6600-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i5-6600-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-6600-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-6600-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-6600-host.xml b/tests/cput= estdata/x86_64-cpuid-Core-i5-6600-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-6600-host.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-6600-json.xml b/tests/cput= estdata/x86_64-cpuid-Core-i5-6600-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-6600-json.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-6600-json.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i5-6600.json b/tests/cputestd= ata/x86_64-cpuid-Core-i5-6600.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-6600.json rename to tests/cputestdata/x86_64-cpuid-Core-i5-6600.json diff --git a/tests/cputestdata/x86-cpuid-Core-i5-6600.xml b/tests/cputestda= ta/x86_64-cpuid-Core-i5-6600.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i5-6600.xml rename to tests/cputestdata/x86_64-cpuid-Core-i5-6600.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-2600-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i7-2600-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-2600-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-2600-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-2600-host.xml b/tests/cput= estdata/x86_64-cpuid-Core-i7-2600-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-2600-host.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-2600-json.xml b/tests/cput= estdata/x86_64-cpuid-Core-i7-2600-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-2600-json.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-2600-json.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-2600.json b/tests/cputestd= ata/x86_64-cpuid-Core-i7-2600.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-2600.json rename to tests/cputestdata/x86_64-cpuid-Core-i7-2600.json diff --git a/tests/cputestdata/x86-cpuid-Core-i7-2600.xml b/tests/cputestda= ta/x86_64-cpuid-Core-i7-2600.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-2600.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-2600.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3520M-guest.xml b/tests/cp= utestdata/x86_64-cpuid-Core-i7-3520M-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3520M-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-3520M-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3520M-host.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i7-3520M-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3520M-host.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3520M.xml b/tests/cputestd= ata/x86_64-cpuid-Core-i7-3520M.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3520M.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-3520M.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3740QM-guest.xml b/tests/c= putestdata/x86_64-cpuid-Core-i7-3740QM-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3740QM-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3740QM-host.xml b/tests/cp= utestdata/x86_64-cpuid-Core-i7-3740QM-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3740QM-host.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3740QM-json.xml b/tests/cp= utestdata/x86_64-cpuid-Core-i7-3740QM-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3740QM-json.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-json.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3740QM.json b/tests/cputes= tdata/x86_64-cpuid-Core-i7-3740QM.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3740QM.json rename to tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3740QM.xml b/tests/cputest= data/x86_64-cpuid-Core-i7-3740QM.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3740QM.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3770-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i7-3770-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3770-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-3770-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3770-host.xml b/tests/cput= estdata/x86_64-cpuid-Core-i7-3770-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3770-host.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3770-json.xml b/tests/cput= estdata/x86_64-cpuid-Core-i7-3770-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3770-json.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-3770-json.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3770.json b/tests/cputestd= ata/x86_64-cpuid-Core-i7-3770.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3770.json rename to tests/cputestdata/x86_64-cpuid-Core-i7-3770.json diff --git a/tests/cputestdata/x86-cpuid-Core-i7-3770.xml b/tests/cputestda= ta/x86_64-cpuid-Core-i7-3770.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-3770.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-3770.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-4600U-guest.xml b/tests/cp= utestdata/x86_64-cpuid-Core-i7-4600U-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-4600U-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-4600U-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-4600U-host.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i7-4600U-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-4600U-host.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-4600U-json.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i7-4600U-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-4600U-json.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-4600U-json.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-4600U.json b/tests/cputest= data/x86_64-cpuid-Core-i7-4600U.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-4600U.json rename to tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json diff --git a/tests/cputestdata/x86-cpuid-Core-i7-4600U.xml b/tests/cputestd= ata/x86_64-cpuid-Core-i7-4600U.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-4600U.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-4600U.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-5600U-guest.xml b/tests/cp= utestdata/x86_64-cpuid-Core-i7-5600U-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-5600U-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-5600U-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-5600U-host.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i7-5600U-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-5600U-host.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-5600U-json.xml b/tests/cpu= testdata/x86_64-cpuid-Core-i7-5600U-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-5600U-json.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml diff --git a/tests/cputestdata/x86-cpuid-Core-i7-5600U.json b/tests/cputest= data/x86_64-cpuid-Core-i7-5600U.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-5600U.json rename to tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json diff --git a/tests/cputestdata/x86-cpuid-Core-i7-5600U.xml b/tests/cputestd= ata/x86_64-cpuid-Core-i7-5600U.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core-i7-5600U.xml rename to tests/cputestdata/x86_64-cpuid-Core-i7-5600U.xml diff --git a/tests/cputestdata/x86-cpuid-Core2-E6850-guest.xml b/tests/cput= estdata/x86_64-cpuid-Core2-E6850-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core2-E6850-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core2-E6850-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core2-E6850-host.xml b/tests/cpute= stdata/x86_64-cpuid-Core2-E6850-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core2-E6850-host.xml rename to tests/cputestdata/x86_64-cpuid-Core2-E6850-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core2-E6850-json.xml b/tests/cpute= stdata/x86_64-cpuid-Core2-E6850-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core2-E6850-json.xml rename to tests/cputestdata/x86_64-cpuid-Core2-E6850-json.xml diff --git a/tests/cputestdata/x86-cpuid-Core2-E6850.json b/tests/cputestda= ta/x86_64-cpuid-Core2-E6850.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Core2-E6850.json rename to tests/cputestdata/x86_64-cpuid-Core2-E6850.json diff --git a/tests/cputestdata/x86-cpuid-Core2-E6850.xml b/tests/cputestdat= a/x86_64-cpuid-Core2-E6850.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core2-E6850.xml rename to tests/cputestdata/x86_64-cpuid-Core2-E6850.xml diff --git a/tests/cputestdata/x86-cpuid-Core2-Q9500-guest.xml b/tests/cput= estdata/x86_64-cpuid-Core2-Q9500-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core2-Q9500-guest.xml rename to tests/cputestdata/x86_64-cpuid-Core2-Q9500-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Core2-Q9500-host.xml b/tests/cpute= stdata/x86_64-cpuid-Core2-Q9500-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core2-Q9500-host.xml rename to tests/cputestdata/x86_64-cpuid-Core2-Q9500-host.xml diff --git a/tests/cputestdata/x86-cpuid-Core2-Q9500.xml b/tests/cputestdat= a/x86_64-cpuid-Core2-Q9500.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Core2-Q9500.xml rename to tests/cputestdata/x86_64-cpuid-Core2-Q9500.xml diff --git a/tests/cputestdata/x86-cpuid-FX-8150-guest.xml b/tests/cputestd= ata/x86_64-cpuid-FX-8150-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-FX-8150-guest.xml rename to tests/cputestdata/x86_64-cpuid-FX-8150-guest.xml diff --git a/tests/cputestdata/x86-cpuid-FX-8150-host.xml b/tests/cputestda= ta/x86_64-cpuid-FX-8150-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-FX-8150-host.xml rename to tests/cputestdata/x86_64-cpuid-FX-8150-host.xml diff --git a/tests/cputestdata/x86-cpuid-FX-8150.xml b/tests/cputestdata/x8= 6_64-cpuid-FX-8150.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-FX-8150.xml rename to tests/cputestdata/x86_64-cpuid-FX-8150.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-1352-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Opteron-1352-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-1352-guest.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-1352-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-1352-host.xml b/tests/cput= estdata/x86_64-cpuid-Opteron-1352-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-1352-host.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-1352-host.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-1352.xml b/tests/cputestda= ta/x86_64-cpuid-Opteron-1352.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-1352.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-1352.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-2350-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Opteron-2350-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-2350-guest.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-2350-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-2350-host.xml b/tests/cput= estdata/x86_64-cpuid-Opteron-2350-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-2350-host.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-2350-host.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-2350-json.xml b/tests/cput= estdata/x86_64-cpuid-Opteron-2350-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-2350-json.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-2350-json.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-2350.json b/tests/cputestd= ata/x86_64-cpuid-Opteron-2350.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-2350.json rename to tests/cputestdata/x86_64-cpuid-Opteron-2350.json diff --git a/tests/cputestdata/x86-cpuid-Opteron-2350.xml b/tests/cputestda= ta/x86_64-cpuid-Opteron-2350.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-2350.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-2350.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-6234-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Opteron-6234-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-6234-guest.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-6234-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-6234-host.xml b/tests/cput= estdata/x86_64-cpuid-Opteron-6234-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-6234-host.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-6234-host.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-6234-json.xml b/tests/cput= estdata/x86_64-cpuid-Opteron-6234-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-6234-json.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-6234-json.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-6234.json b/tests/cputestd= ata/x86_64-cpuid-Opteron-6234.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-6234.json rename to tests/cputestdata/x86_64-cpuid-Opteron-6234.json diff --git a/tests/cputestdata/x86-cpuid-Opteron-6234.xml b/tests/cputestda= ta/x86_64-cpuid-Opteron-6234.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-6234.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-6234.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-6282-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Opteron-6282-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-6282-guest.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-6282-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-6282-host.xml b/tests/cput= estdata/x86_64-cpuid-Opteron-6282-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-6282-host.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-6282-host.xml diff --git a/tests/cputestdata/x86-cpuid-Opteron-6282.xml b/tests/cputestda= ta/x86_64-cpuid-Opteron-6282.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Opteron-6282.xml rename to tests/cputestdata/x86_64-cpuid-Opteron-6282.xml diff --git a/tests/cputestdata/x86-cpuid-Pentium-P6100-guest.xml b/tests/cp= utestdata/x86_64-cpuid-Pentium-P6100-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Pentium-P6100-guest.xml rename to tests/cputestdata/x86_64-cpuid-Pentium-P6100-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Pentium-P6100-host.xml b/tests/cpu= testdata/x86_64-cpuid-Pentium-P6100-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Pentium-P6100-host.xml rename to tests/cputestdata/x86_64-cpuid-Pentium-P6100-host.xml diff --git a/tests/cputestdata/x86-cpuid-Pentium-P6100.xml b/tests/cputestd= ata/x86_64-cpuid-Pentium-P6100.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Pentium-P6100.xml rename to tests/cputestdata/x86_64-cpuid-Pentium-P6100.xml diff --git a/tests/cputestdata/x86-cpuid-Phenom-B95-guest.xml b/tests/cpute= stdata/x86_64-cpuid-Phenom-B95-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Phenom-B95-guest.xml rename to tests/cputestdata/x86_64-cpuid-Phenom-B95-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Phenom-B95-host.xml b/tests/cputes= tdata/x86_64-cpuid-Phenom-B95-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Phenom-B95-host.xml rename to tests/cputestdata/x86_64-cpuid-Phenom-B95-host.xml diff --git a/tests/cputestdata/x86-cpuid-Phenom-B95-json.xml b/tests/cputes= tdata/x86_64-cpuid-Phenom-B95-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Phenom-B95-json.xml rename to tests/cputestdata/x86_64-cpuid-Phenom-B95-json.xml diff --git a/tests/cputestdata/x86-cpuid-Phenom-B95.json b/tests/cputestdat= a/x86_64-cpuid-Phenom-B95.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Phenom-B95.json rename to tests/cputestdata/x86_64-cpuid-Phenom-B95.json diff --git a/tests/cputestdata/x86-cpuid-Phenom-B95.xml b/tests/cputestdata= /x86_64-cpuid-Phenom-B95.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Phenom-B95.xml rename to tests/cputestdata/x86_64-cpuid-Phenom-B95.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-5110-guest.xml b/tests/cputes= tdata/x86_64-cpuid-Xeon-5110-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-5110-guest.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-5110-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-5110-host.xml b/tests/cputest= data/x86_64-cpuid-Xeon-5110-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-5110-host.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-5110-host.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-5110.xml b/tests/cputestdata/= x86_64-cpuid-Xeon-5110.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-5110.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-5110.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E3-1245-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Xeon-E3-1245-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E3-1245-guest.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E3-1245-host.xml b/tests/cput= estdata/x86_64-cpuid-Xeon-E3-1245-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E3-1245-host.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-host.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E3-1245-json.xml b/tests/cput= estdata/x86_64-cpuid-Xeon-E3-1245-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E3-1245-json.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-json.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E3-1245.json b/tests/cputestd= ata/x86_64-cpuid-Xeon-E3-1245.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E3-1245.json rename to tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json diff --git a/tests/cputestdata/x86-cpuid-Xeon-E3-1245.xml b/tests/cputestda= ta/x86_64-cpuid-Xeon-E3-1245.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E3-1245.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E5-2630-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Xeon-E5-2630-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E5-2630-guest.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E5-2630-host.xml b/tests/cput= estdata/x86_64-cpuid-Xeon-E5-2630-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E5-2630-host.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-host.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E5-2630-json.xml b/tests/cput= estdata/x86_64-cpuid-Xeon-E5-2630-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E5-2630-json.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-json.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E5-2630.json b/tests/cputestd= ata/x86_64-cpuid-Xeon-E5-2630.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E5-2630.json rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json diff --git a/tests/cputestdata/x86-cpuid-Xeon-E5-2630.xml b/tests/cputestda= ta/x86_64-cpuid-Xeon-E5-2630.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E5-2630.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E5-2650-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Xeon-E5-2650-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E5-2650-guest.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E5-2650-host.xml b/tests/cput= estdata/x86_64-cpuid-Xeon-E5-2650-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E5-2650-host.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E5-2650-json.xml b/tests/cput= estdata/x86_64-cpuid-Xeon-E5-2650-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E5-2650-json.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E5-2650.json b/tests/cputestd= ata/x86_64-cpuid-Xeon-E5-2650.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E5-2650.json rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json diff --git a/tests/cputestdata/x86-cpuid-Xeon-E5-2650.xml b/tests/cputestda= ta/x86_64-cpuid-Xeon-E5-2650.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E5-2650.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E7-4820-guest.xml b/tests/cpu= testdata/x86_64-cpuid-Xeon-E7-4820-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E7-4820-guest.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E7-4820-host.xml b/tests/cput= estdata/x86_64-cpuid-Xeon-E7-4820-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E7-4820-host.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E7-4820-json.xml b/tests/cput= estdata/x86_64-cpuid-Xeon-E7-4820-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E7-4820-json.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-E7-4820.json b/tests/cputestd= ata/x86_64-cpuid-Xeon-E7-4820.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E7-4820.json rename to tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json diff --git a/tests/cputestdata/x86-cpuid-Xeon-E7-4820.xml b/tests/cputestda= ta/x86_64-cpuid-Xeon-E7-4820.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-E7-4820.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-W3520-guest.xml b/tests/cpute= stdata/x86_64-cpuid-Xeon-W3520-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-W3520-guest.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-W3520-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-W3520-host.xml b/tests/cputes= tdata/x86_64-cpuid-Xeon-W3520-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-W3520-host.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-W3520-json.xml b/tests/cputes= tdata/x86_64-cpuid-Xeon-W3520-json.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-W3520-json.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-W3520-json.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-W3520.json b/tests/cputestdat= a/x86_64-cpuid-Xeon-W3520.json similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-W3520.json rename to tests/cputestdata/x86_64-cpuid-Xeon-W3520.json diff --git a/tests/cputestdata/x86-cpuid-Xeon-W3520.xml b/tests/cputestdata= /x86_64-cpuid-Xeon-W3520.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-W3520.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-W3520.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-X5460-guest.xml b/tests/cpute= stdata/x86_64-cpuid-Xeon-X5460-guest.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-X5460-guest.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-X5460-guest.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-X5460-host.xml b/tests/cputes= tdata/x86_64-cpuid-Xeon-X5460-host.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-X5460-host.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-X5460-host.xml diff --git a/tests/cputestdata/x86-cpuid-Xeon-X5460.xml b/tests/cputestdata= /x86_64-cpuid-Xeon-X5460.xml similarity index 100% rename from tests/cputestdata/x86-cpuid-Xeon-X5460.xml rename to tests/cputestdata/x86_64-cpuid-Xeon-X5460.xml diff --git a/tests/cputestdata/x86-exact-disable-extra.xml b/tests/cputestd= ata/x86_64-exact-disable-extra.xml similarity index 100% rename from tests/cputestdata/x86-exact-disable-extra.xml rename to tests/cputestdata/x86_64-exact-disable-extra.xml diff --git a/tests/cputestdata/x86-exact-disable.xml b/tests/cputestdata/x8= 6_64-exact-disable.xml similarity index 100% rename from tests/cputestdata/x86-exact-disable.xml rename to tests/cputestdata/x86_64-exact-disable.xml diff --git a/tests/cputestdata/x86-exact-disable2.xml b/tests/cputestdata/x= 86_64-exact-disable2.xml similarity index 100% rename from tests/cputestdata/x86-exact-disable2.xml rename to tests/cputestdata/x86_64-exact-disable2.xml diff --git a/tests/cputestdata/x86-exact-forbid-extra.xml b/tests/cputestda= ta/x86_64-exact-forbid-extra.xml similarity index 100% rename from tests/cputestdata/x86-exact-forbid-extra.xml rename to tests/cputestdata/x86_64-exact-forbid-extra.xml diff --git a/tests/cputestdata/x86-exact-forbid.xml b/tests/cputestdata/x86= _64-exact-forbid.xml similarity index 100% rename from tests/cputestdata/x86-exact-forbid.xml rename to tests/cputestdata/x86_64-exact-forbid.xml diff --git a/tests/cputestdata/x86-exact-force-Haswell.xml b/tests/cputestd= ata/x86_64-exact-force-Haswell.xml similarity index 100% rename from tests/cputestdata/x86-exact-force-Haswell.xml rename to tests/cputestdata/x86_64-exact-force-Haswell.xml diff --git a/tests/cputestdata/x86-exact-force.xml b/tests/cputestdata/x86_= 64-exact-force.xml similarity index 100% rename from tests/cputestdata/x86-exact-force.xml rename to tests/cputestdata/x86_64-exact-force.xml diff --git a/tests/cputestdata/x86-exact-require-extra.xml b/tests/cputestd= ata/x86_64-exact-require-extra.xml similarity index 100% rename from tests/cputestdata/x86-exact-require-extra.xml rename to tests/cputestdata/x86_64-exact-require-extra.xml diff --git a/tests/cputestdata/x86-exact-require.xml b/tests/cputestdata/x8= 6_64-exact-require.xml similarity index 100% rename from tests/cputestdata/x86-exact-require.xml rename to tests/cputestdata/x86_64-exact-require.xml diff --git a/tests/cputestdata/x86-exact.xml b/tests/cputestdata/x86_64-exa= ct.xml similarity index 100% rename from tests/cputestdata/x86-exact.xml rename to tests/cputestdata/x86_64-exact.xml diff --git a/tests/cputestdata/x86-guest-nofallback.xml b/tests/cputestdata= /x86_64-guest-nofallback.xml similarity index 100% rename from tests/cputestdata/x86-guest-nofallback.xml rename to tests/cputestdata/x86_64-guest-nofallback.xml diff --git a/tests/cputestdata/x86-guest.xml b/tests/cputestdata/x86_64-gue= st.xml similarity index 100% rename from tests/cputestdata/x86-guest.xml rename to tests/cputestdata/x86_64-guest.xml diff --git a/tests/cputestdata/x86-host+guest,model486-result.xml b/tests/c= putestdata/x86_64-host+guest,model486-result.xml similarity index 100% rename from tests/cputestdata/x86-host+guest,model486-result.xml rename to tests/cputestdata/x86_64-host+guest,model486-result.xml diff --git a/tests/cputestdata/x86-host+guest,models-result.xml b/tests/cpu= testdata/x86_64-host+guest,models-result.xml similarity index 100% rename from tests/cputestdata/x86-host+guest,models-result.xml rename to tests/cputestdata/x86_64-host+guest,models-result.xml diff --git a/tests/cputestdata/x86-host+guest-result.xml b/tests/cputestdat= a/x86_64-host+guest-result.xml similarity index 100% rename from tests/cputestdata/x86-host+guest-result.xml rename to tests/cputestdata/x86_64-host+guest-result.xml diff --git a/tests/cputestdata/x86-host+guest.xml b/tests/cputestdata/x86_6= 4-host+guest.xml similarity index 100% rename from tests/cputestdata/x86-host+guest.xml rename to tests/cputestdata/x86_64-host+guest.xml diff --git a/tests/cputestdata/x86-host+host+host-model,models-result.xml b= /tests/cputestdata/x86_64-host+host+host-model,models-result.xml similarity index 100% rename from tests/cputestdata/x86-host+host+host-model,models-result.xml rename to tests/cputestdata/x86_64-host+host+host-model,models-result.xml diff --git a/tests/cputestdata/x86-host+host-model-nofallback.xml b/tests/c= putestdata/x86_64-host+host-model-nofallback.xml similarity index 100% rename from tests/cputestdata/x86-host+host-model-nofallback.xml rename to tests/cputestdata/x86_64-host+host-model-nofallback.xml diff --git a/tests/cputestdata/x86-host+host-model.xml b/tests/cputestdata/= x86_64-host+host-model.xml similarity index 100% rename from tests/cputestdata/x86-host+host-model.xml rename to tests/cputestdata/x86_64-host+host-model.xml diff --git a/tests/cputestdata/x86-host+host-passthrough-features.xml b/tes= ts/cputestdata/x86_64-host+host-passthrough-features.xml similarity index 100% rename from tests/cputestdata/x86-host+host-passthrough-features.xml rename to tests/cputestdata/x86_64-host+host-passthrough-features.xml diff --git a/tests/cputestdata/x86-host+host-passthrough.xml b/tests/cputes= tdata/x86_64-host+host-passthrough.xml similarity index 100% rename from tests/cputestdata/x86-host+host-passthrough.xml rename to tests/cputestdata/x86_64-host+host-passthrough.xml diff --git a/tests/cputestdata/x86-host+min.xml b/tests/cputestdata/x86_64-= host+min.xml similarity index 100% rename from tests/cputestdata/x86-host+min.xml rename to tests/cputestdata/x86_64-host+min.xml diff --git a/tests/cputestdata/x86-host+penryn-force-result.xml b/tests/cpu= testdata/x86_64-host+penryn-force-result.xml similarity index 100% rename from tests/cputestdata/x86-host+penryn-force-result.xml rename to tests/cputestdata/x86_64-host+penryn-force-result.xml diff --git a/tests/cputestdata/x86-host+pentium3.xml b/tests/cputestdata/x8= 6_64-host+pentium3.xml similarity index 100% rename from tests/cputestdata/x86-host+pentium3.xml rename to tests/cputestdata/x86_64-host+pentium3.xml diff --git a/tests/cputestdata/x86-host+strict-force-extra-result.xml b/tes= ts/cputestdata/x86_64-host+strict-force-extra-result.xml similarity index 100% rename from tests/cputestdata/x86-host+strict-force-extra-result.xml rename to tests/cputestdata/x86_64-host+strict-force-extra-result.xml diff --git a/tests/cputestdata/x86-host-Haswell-noTSX+Haswell,haswell-resul= t.xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.= xml similarity index 100% rename from tests/cputestdata/x86-host-Haswell-noTSX+Haswell,haswell-result= .xml rename to tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-resul= t.xml diff --git a/tests/cputestdata/x86-host-Haswell-noTSX+Haswell-noTSX,haswell= -result.xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,has= well-result.xml similarity index 100% rename from tests/cputestdata/x86-host-Haswell-noTSX+Haswell-noTSX,haswell-= result.xml rename to tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell= -result.xml diff --git a/tests/cputestdata/x86-host-Haswell-noTSX+Haswell-noTSX-result.= xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml similarity index 100% rename from tests/cputestdata/x86-host-Haswell-noTSX+Haswell-noTSX-result.x= ml rename to tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.= xml diff --git a/tests/cputestdata/x86-host-Haswell-noTSX.xml b/tests/cputestda= ta/x86_64-host-Haswell-noTSX.xml similarity index 100% rename from tests/cputestdata/x86-host-Haswell-noTSX.xml rename to tests/cputestdata/x86_64-host-Haswell-noTSX.xml diff --git a/tests/cputestdata/x86-host-SandyBridge.xml b/tests/cputestdata= /x86_64-host-SandyBridge.xml similarity index 100% rename from tests/cputestdata/x86-host-SandyBridge.xml rename to tests/cputestdata/x86_64-host-SandyBridge.xml diff --git a/tests/cputestdata/x86-host-amd-fake.xml b/tests/cputestdata/x8= 6_64-host-amd-fake.xml similarity index 100% rename from tests/cputestdata/x86-host-amd-fake.xml rename to tests/cputestdata/x86_64-host-amd-fake.xml diff --git a/tests/cputestdata/x86-host-amd.xml b/tests/cputestdata/x86_64-= host-amd.xml similarity index 100% rename from tests/cputestdata/x86-host-amd.xml rename to tests/cputestdata/x86_64-host-amd.xml diff --git a/tests/cputestdata/x86-host-better+pentium3-result.xml b/tests/= cputestdata/x86_64-host-better+pentium3-result.xml similarity index 100% rename from tests/cputestdata/x86-host-better+pentium3-result.xml rename to tests/cputestdata/x86_64-host-better+pentium3-result.xml diff --git a/tests/cputestdata/x86-host-better.xml b/tests/cputestdata/x86_= 64-host-better.xml similarity index 100% rename from tests/cputestdata/x86-host-better.xml rename to tests/cputestdata/x86_64-host-better.xml diff --git a/tests/cputestdata/x86-host-incomp-arch.xml b/tests/cputestdata= /x86_64-host-incomp-arch.xml similarity index 100% rename from tests/cputestdata/x86-host-incomp-arch.xml rename to tests/cputestdata/x86_64-host-incomp-arch.xml diff --git a/tests/cputestdata/x86-host-invtsc+host-model.xml b/tests/cpute= stdata/x86_64-host-invtsc+host-model.xml similarity index 100% rename from tests/cputestdata/x86-host-invtsc+host-model.xml rename to tests/cputestdata/x86_64-host-invtsc+host-model.xml diff --git a/tests/cputestdata/x86-host-invtsc.xml b/tests/cputestdata/x86_= 64-host-invtsc.xml similarity index 100% rename from tests/cputestdata/x86-host-invtsc.xml rename to tests/cputestdata/x86_64-host-invtsc.xml diff --git a/tests/cputestdata/x86-host-model-nofallback.xml b/tests/cputes= tdata/x86_64-host-model-nofallback.xml similarity index 100% rename from tests/cputestdata/x86-host-model-nofallback.xml rename to tests/cputestdata/x86_64-host-model-nofallback.xml diff --git a/tests/cputestdata/x86-host-model.xml b/tests/cputestdata/x86_6= 4-host-model.xml similarity index 100% rename from tests/cputestdata/x86-host-model.xml rename to tests/cputestdata/x86_64-host-model.xml diff --git a/tests/cputestdata/x86-host-no-vendor.xml b/tests/cputestdata/x= 86_64-host-no-vendor.xml similarity index 100% rename from tests/cputestdata/x86-host-no-vendor.xml rename to tests/cputestdata/x86_64-host-no-vendor.xml diff --git a/tests/cputestdata/x86-host-passthrough-features.xml b/tests/cp= utestdata/x86_64-host-passthrough-features.xml similarity index 100% rename from tests/cputestdata/x86-host-passthrough-features.xml rename to tests/cputestdata/x86_64-host-passthrough-features.xml diff --git a/tests/cputestdata/x86-host-passthrough.xml b/tests/cputestdata= /x86_64-host-passthrough.xml similarity index 100% rename from tests/cputestdata/x86-host-passthrough.xml rename to tests/cputestdata/x86_64-host-passthrough.xml diff --git a/tests/cputestdata/x86-host-worse+guest-result.xml b/tests/cput= estdata/x86_64-host-worse+guest-result.xml similarity index 100% rename from tests/cputestdata/x86-host-worse+guest-result.xml rename to tests/cputestdata/x86_64-host-worse+guest-result.xml diff --git a/tests/cputestdata/x86-host-worse.xml b/tests/cputestdata/x86_6= 4-host-worse.xml similarity index 100% rename from tests/cputestdata/x86-host-worse.xml rename to tests/cputestdata/x86_64-host-worse.xml diff --git a/tests/cputestdata/x86-host.xml b/tests/cputestdata/x86_64-host= .xml similarity index 100% rename from tests/cputestdata/x86-host.xml rename to tests/cputestdata/x86_64-host.xml diff --git a/tests/cputestdata/x86-min.xml b/tests/cputestdata/x86_64-min.x= ml similarity index 100% rename from tests/cputestdata/x86-min.xml rename to tests/cputestdata/x86_64-min.xml diff --git a/tests/cputestdata/x86-penryn-force.xml b/tests/cputestdata/x86= _64-penryn-force.xml similarity index 100% rename from tests/cputestdata/x86-penryn-force.xml rename to tests/cputestdata/x86_64-penryn-force.xml diff --git a/tests/cputestdata/x86-pentium3-amd.xml b/tests/cputestdata/x86= _64-pentium3-amd.xml similarity index 100% rename from tests/cputestdata/x86-pentium3-amd.xml rename to tests/cputestdata/x86_64-pentium3-amd.xml diff --git a/tests/cputestdata/x86-pentium3.xml b/tests/cputestdata/x86_64-= pentium3.xml similarity index 100% rename from tests/cputestdata/x86-pentium3.xml rename to tests/cputestdata/x86_64-pentium3.xml diff --git a/tests/cputestdata/x86-strict-disable.xml b/tests/cputestdata/x= 86_64-strict-disable.xml similarity index 100% rename from tests/cputestdata/x86-strict-disable.xml rename to tests/cputestdata/x86_64-strict-disable.xml diff --git a/tests/cputestdata/x86-strict-force-extra.xml b/tests/cputestda= ta/x86_64-strict-force-extra.xml similarity index 100% rename from tests/cputestdata/x86-strict-force-extra.xml rename to tests/cputestdata/x86_64-strict-force-extra.xml diff --git a/tests/cputestdata/x86-strict-full.xml b/tests/cputestdata/x86_= 64-strict-full.xml similarity index 100% rename from tests/cputestdata/x86-strict-full.xml rename to tests/cputestdata/x86_64-strict-full.xml diff --git a/tests/cputestdata/x86-strict.xml b/tests/cputestdata/x86_64-st= rict.xml similarity index 100% rename from tests/cputestdata/x86-strict.xml rename to tests/cputestdata/x86_64-strict.xml --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) client-ip=209.132.183.24; envelope-from=libvir-list-bounces@redhat.com; helo=mx3-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by mx.zohomail.com with SMTPS id 1487859918759877.9897284596888; Thu, 23 Feb 2017 06:25:18 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEM5YU030906; Thu, 23 Feb 2017 09:22:05 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFWeS022417 for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by smtp.corp.redhat.com (Postfix) id BDC151FC841; Thu, 23 Feb 2017 14:15:32 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2C6281FC845 for ; Thu, 23 Feb 2017 14:15:32 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 872BB103363; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:20 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 22/28] cputest: Use virArch enum rather then strings X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - no change tests/cputest.c | 294 ++++++++++++++++++++++++++++------------------------= ---- 1 file changed, 148 insertions(+), 146 deletions(-) diff --git a/tests/cputest.c b/tests/cputest.c index 406b40dfe..c0a816b60 100644 --- a/tests/cputest.c +++ b/tests/cputest.c @@ -56,7 +56,7 @@ enum cpuTestBoolWithError { =20 =20 struct data { - const char *arch; + virArch arch; const char *host; const char *name; const char **models; @@ -72,14 +72,15 @@ static virQEMUDriver driver; =20 =20 static virCPUDefPtr -cpuTestLoadXML(const char *arch, const char *name) +cpuTestLoadXML(virArch arch, const char *name) { char *xml =3D NULL; xmlDocPtr doc =3D NULL; xmlXPathContextPtr ctxt =3D NULL; virCPUDefPtr cpu =3D NULL; =20 - if (virAsprintf(&xml, "%s/cputestdata/%s-%s.xml", abs_srcdir, arch, na= me) < 0) + if (virAsprintf(&xml, "%s/cputestdata/%s-%s.xml", + abs_srcdir, virArchToString(arch), name) < 0) goto cleanup; =20 if (!(doc =3D virXMLParseFileCtxt(xml, &ctxt))) @@ -96,7 +97,7 @@ cpuTestLoadXML(const char *arch, const char *name) =20 =20 static virCPUDefPtr * -cpuTestLoadMultiXML(const char *arch, +cpuTestLoadMultiXML(virArch arch, const char *name, unsigned int *count) { @@ -108,7 +109,8 @@ cpuTestLoadMultiXML(const char *arch, int n; size_t i; =20 - if (virAsprintf(&xml, "%s/cputestdata/%s-%s.xml", abs_srcdir, arch, na= me) < 0) + if (virAsprintf(&xml, "%s/cputestdata/%s-%s.xml", + abs_srcdir, virArchToString(arch), name) < 0) goto cleanup; =20 if (!(doc =3D virXMLParseFileCtxt(xml, &ctxt))) @@ -145,7 +147,7 @@ cpuTestLoadMultiXML(const char *arch, =20 =20 static int -cpuTestCompareXML(const char *arch, +cpuTestCompareXML(virArch arch, virCPUDef *cpu, const char *name, bool updateCPU) @@ -155,7 +157,7 @@ cpuTestCompareXML(const char *arch, int ret =3D -1; =20 if (virAsprintf(&xml, "%s/cputestdata/%s-%s.xml", - abs_srcdir, arch, name) < 0) + abs_srcdir, virArchToString(arch), name) < 0) goto cleanup; =20 if (!(actual =3D virCPUDefFormat(cpu, NULL, updateCPU))) @@ -457,7 +459,7 @@ cpuTestCPUID(bool guest, const void *arg) char *result =3D NULL; =20 if (virAsprintf(&hostFile, "%s/cputestdata/%s-cpuid-%s.xml", - abs_srcdir, data->arch, data->host) < 0) + abs_srcdir, virArchToString(data->arch), data->host) <= 0) goto cleanup; =20 if (virTestLoadFile(hostFile, &host) < 0 || @@ -523,7 +525,7 @@ cpuTestJSONCPUID(const void *arg) int ret =3D -1; =20 if (virAsprintf(&json, "%s/cputestdata/%s-cpuid-%s.json", - abs_srcdir, data->arch, data->host) < 0 || + abs_srcdir, virArchToString(data->arch), data->host) <= 0 || virAsprintf(&result, "cpuid-%s-json", data->host) < 0) goto cleanup; =20 @@ -591,7 +593,7 @@ mymain(void) VIR_FREE(tmp); \ \ if (virAsprintf(&testLabel, "%s(%s): %s", \ - #api, arch, name) < 0) { \ + #api, virArchToString(arch), name) < 0) { \ ret =3D -1; \ break; \ } \ @@ -677,159 +679,159 @@ mymain(void) } while (0) =20 /* host to host comparison */ - DO_TEST_COMPARE("x86_64", "host", "host", VIR_CPU_COMPARE_IDENTICAL); - DO_TEST_COMPARE("x86_64", "host", "host-better", VIR_CPU_COMPARE_INCOM= PATIBLE); - DO_TEST_COMPARE("x86_64", "host", "host-worse", VIR_CPU_COMPARE_SUPERS= ET); - DO_TEST_COMPARE("x86_64", "host", "host-amd-fake", VIR_CPU_COMPARE_INC= OMPATIBLE); - DO_TEST_COMPARE("x86_64", "host", "host-incomp-arch", VIR_CPU_COMPARE_= INCOMPATIBLE); - DO_TEST_COMPARE("x86_64", "host", "host-no-vendor", VIR_CPU_COMPARE_ID= ENTICAL); - DO_TEST_COMPARE("x86_64", "host-no-vendor", "host", VIR_CPU_COMPARE_IN= COMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "host", VIR_CPU_COMPARE_IDENT= ICAL); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "host-better", VIR_CPU_COMPAR= E_INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "host-worse", VIR_CPU_COMPARE= _SUPERSET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "host-amd-fake", VIR_CPU_COMP= ARE_INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "host-incomp-arch", VIR_CPU_C= OMPARE_INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "host-no-vendor", VIR_CPU_COM= PARE_IDENTICAL); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host-no-vendor", "host", VIR_CPU_COM= PARE_INCOMPATIBLE); =20 - DO_TEST_COMPARE("ppc64", "host", "host", VIR_CPU_COMPARE_IDENTICAL); - DO_TEST_COMPARE("ppc64", "host", "host-better", VIR_CPU_COMPARE_INCOMP= ATIBLE); - DO_TEST_COMPARE("ppc64", "host", "host-worse", VIR_CPU_COMPARE_INCOMPA= TIBLE); - DO_TEST_COMPARE("ppc64", "host", "host-incomp-arch", VIR_CPU_COMPARE_I= NCOMPATIBLE); - DO_TEST_COMPARE("ppc64", "host", "host-no-vendor", VIR_CPU_COMPARE_IDE= NTICAL); - DO_TEST_COMPARE("ppc64", "host-no-vendor", "host", VIR_CPU_COMPARE_INC= OMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "host", VIR_CPU_COMPARE_IDENTI= CAL); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "host-better", VIR_CPU_COMPARE= _INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "host-worse", VIR_CPU_COMPARE_= INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "host-incomp-arch", VIR_CPU_CO= MPARE_INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "host-no-vendor", VIR_CPU_COMP= ARE_IDENTICAL); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host-no-vendor", "host", VIR_CPU_COMP= ARE_INCOMPATIBLE); =20 /* guest to host comparison */ - DO_TEST_COMPARE("x86_64", "host", "bogus-model", VIR_CPU_COMPARE_ERROR= ); - DO_TEST_COMPARE("x86_64", "host", "bogus-feature", VIR_CPU_COMPARE_ERR= OR); - DO_TEST_COMPARE("x86_64", "host", "min", VIR_CPU_COMPARE_SUPERSET); - DO_TEST_COMPARE("x86_64", "host", "pentium3", VIR_CPU_COMPARE_SUPERSET= ); - DO_TEST_COMPARE("x86_64", "host", "exact", VIR_CPU_COMPARE_SUPERSET); - DO_TEST_COMPARE("x86_64", "host", "exact-forbid", VIR_CPU_COMPARE_INCO= MPATIBLE); - DO_TEST_COMPARE("x86_64", "host", "exact-forbid-extra", VIR_CPU_COMPAR= E_SUPERSET); - DO_TEST_COMPARE("x86_64", "host", "exact-disable", VIR_CPU_COMPARE_SUP= ERSET); - DO_TEST_COMPARE("x86_64", "host", "exact-disable2", VIR_CPU_COMPARE_SU= PERSET); - DO_TEST_COMPARE("x86_64", "host", "exact-disable-extra", VIR_CPU_COMPA= RE_SUPERSET); - DO_TEST_COMPARE("x86_64", "host", "exact-require", VIR_CPU_COMPARE_SUP= ERSET); - DO_TEST_COMPARE("x86_64", "host", "exact-require-extra", VIR_CPU_COMPA= RE_INCOMPATIBLE); - DO_TEST_COMPARE("x86_64", "host", "exact-force", VIR_CPU_COMPARE_SUPER= SET); - DO_TEST_COMPARE("x86_64", "host", "strict", VIR_CPU_COMPARE_INCOMPATIB= LE); - DO_TEST_COMPARE("x86_64", "host", "strict-full", VIR_CPU_COMPARE_IDENT= ICAL); - DO_TEST_COMPARE("x86_64", "host", "strict-disable", VIR_CPU_COMPARE_ID= ENTICAL); - DO_TEST_COMPARE("x86_64", "host", "strict-force-extra", VIR_CPU_COMPAR= E_IDENTICAL); - DO_TEST_COMPARE("x86_64", "host", "guest", VIR_CPU_COMPARE_SUPERSET); - DO_TEST_COMPARE("x86_64", "host", "pentium3-amd", VIR_CPU_COMPARE_INCO= MPATIBLE); - DO_TEST_COMPARE("x86_64", "host-amd", "pentium3-amd", VIR_CPU_COMPARE_= SUPERSET); - DO_TEST_COMPARE("x86_64", "host-worse", "penryn-force", VIR_CPU_COMPAR= E_IDENTICAL); - DO_TEST_COMPARE("x86_64", "host-SandyBridge", "exact-force-Haswell", V= IR_CPU_COMPARE_IDENTICAL); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "bogus-model", VIR_CPU_COMPAR= E_ERROR); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "bogus-feature", VIR_CPU_COMP= ARE_ERROR); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "min", VIR_CPU_COMPARE_SUPERS= ET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "pentium3", VIR_CPU_COMPARE_S= UPERSET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "exact", VIR_CPU_COMPARE_SUPE= RSET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "exact-forbid", VIR_CPU_COMPA= RE_INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "exact-forbid-extra", VIR_CPU= _COMPARE_SUPERSET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "exact-disable", VIR_CPU_COMP= ARE_SUPERSET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "exact-disable2", VIR_CPU_COM= PARE_SUPERSET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "exact-disable-extra", VIR_CP= U_COMPARE_SUPERSET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "exact-require", VIR_CPU_COMP= ARE_SUPERSET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "exact-require-extra", VIR_CP= U_COMPARE_INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "exact-force", VIR_CPU_COMPAR= E_SUPERSET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "strict", VIR_CPU_COMPARE_INC= OMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "strict-full", VIR_CPU_COMPAR= E_IDENTICAL); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "strict-disable", VIR_CPU_COM= PARE_IDENTICAL); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "strict-force-extra", VIR_CPU= _COMPARE_IDENTICAL); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "guest", VIR_CPU_COMPARE_SUPE= RSET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host", "pentium3-amd", VIR_CPU_COMPA= RE_INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host-amd", "pentium3-amd", VIR_CPU_C= OMPARE_SUPERSET); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host-worse", "penryn-force", VIR_CPU= _COMPARE_IDENTICAL); + DO_TEST_COMPARE(VIR_ARCH_X86_64, "host-SandyBridge", "exact-force-Hasw= ell", VIR_CPU_COMPARE_IDENTICAL); =20 - DO_TEST_COMPARE("ppc64", "host", "guest-strict", VIR_CPU_COMPARE_IDENT= ICAL); - DO_TEST_COMPARE("ppc64", "host", "guest-exact", VIR_CPU_COMPARE_INCOMP= ATIBLE); - DO_TEST_COMPARE("ppc64", "host", "guest-legacy", VIR_CPU_COMPARE_IDENT= ICAL); - DO_TEST_COMPARE("ppc64", "host", "guest-legacy-incompatible", VIR_CPU_= COMPARE_INCOMPATIBLE); - DO_TEST_COMPARE("ppc64", "host", "guest-legacy-invalid", VIR_CPU_COMPA= RE_ERROR); - DO_TEST_COMPARE("ppc64", "host", "guest-compat-none", VIR_CPU_COMPARE_= IDENTICAL); - DO_TEST_COMPARE("ppc64", "host", "guest-compat-valid", VIR_CPU_COMPARE= _IDENTICAL); - DO_TEST_COMPARE("ppc64", "host", "guest-compat-invalid", VIR_CPU_COMPA= RE_ERROR); - DO_TEST_COMPARE("ppc64", "host", "guest-compat-incompatible", VIR_CPU_= COMPARE_INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "guest-strict", VIR_CPU_COMPAR= E_IDENTICAL); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "guest-exact", VIR_CPU_COMPARE= _INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "guest-legacy", VIR_CPU_COMPAR= E_IDENTICAL); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "guest-legacy-incompatible", V= IR_CPU_COMPARE_INCOMPATIBLE); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "guest-legacy-invalid", VIR_CP= U_COMPARE_ERROR); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "guest-compat-none", VIR_CPU_C= OMPARE_IDENTICAL); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "guest-compat-valid", VIR_CPU_= COMPARE_IDENTICAL); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "guest-compat-invalid", VIR_CP= U_COMPARE_ERROR); + DO_TEST_COMPARE(VIR_ARCH_PPC64, "host", "guest-compat-incompatible", V= IR_CPU_COMPARE_INCOMPATIBLE); =20 /* guest updates for migration * automatically compares host CPU with the result */ - DO_TEST_UPDATE("x86_64", "host", "min", VIR_CPU_COMPARE_IDENTICAL); - DO_TEST_UPDATE("x86_64", "host", "pentium3", VIR_CPU_COMPARE_IDENTICAL= ); - DO_TEST_UPDATE("x86_64", "host", "guest", VIR_CPU_COMPARE_SUPERSET); - DO_TEST_UPDATE("x86_64", "host", "host-model", VIR_CPU_COMPARE_IDENTIC= AL); - DO_TEST_UPDATE("x86_64", "host", "host-model-nofallback", VIR_CPU_COMP= ARE_IDENTICAL); - DO_TEST_UPDATE("x86_64", "host-invtsc", "host-model", VIR_CPU_COMPARE_= SUPERSET); - DO_TEST_UPDATE_ONLY("x86_64", "host", "host-passthrough"); - DO_TEST_UPDATE_ONLY("x86_64", "host", "host-passthrough-features"); + DO_TEST_UPDATE(VIR_ARCH_X86_64, "host", "min", VIR_CPU_COMPARE_IDENTIC= AL); + DO_TEST_UPDATE(VIR_ARCH_X86_64, "host", "pentium3", VIR_CPU_COMPARE_ID= ENTICAL); + DO_TEST_UPDATE(VIR_ARCH_X86_64, "host", "guest", VIR_CPU_COMPARE_SUPER= SET); + DO_TEST_UPDATE(VIR_ARCH_X86_64, "host", "host-model", VIR_CPU_COMPARE_= IDENTICAL); + DO_TEST_UPDATE(VIR_ARCH_X86_64, "host", "host-model-nofallback", VIR_C= PU_COMPARE_IDENTICAL); + DO_TEST_UPDATE(VIR_ARCH_X86_64, "host-invtsc", "host-model", VIR_CPU_C= OMPARE_SUPERSET); + DO_TEST_UPDATE_ONLY(VIR_ARCH_X86_64, "host", "host-passthrough"); + DO_TEST_UPDATE_ONLY(VIR_ARCH_X86_64, "host", "host-passthrough-feature= s"); =20 - DO_TEST_UPDATE("ppc64", "host", "guest", VIR_CPU_COMPARE_IDENTICAL); - DO_TEST_UPDATE("ppc64", "host", "guest-nofallback", VIR_CPU_COMPARE_IN= COMPATIBLE); - DO_TEST_UPDATE("ppc64", "host", "guest-legacy", VIR_CPU_COMPARE_IDENTI= CAL); - DO_TEST_UPDATE("ppc64", "host", "guest-legacy-incompatible", VIR_CPU_C= OMPARE_INCOMPATIBLE); - DO_TEST_UPDATE("ppc64", "host", "guest-legacy-invalid", VIR_CPU_COMPAR= E_ERROR); - DO_TEST_UPDATE("ppc64", "host", "guest-compat-none", VIR_CPU_COMPARE_I= DENTICAL); - DO_TEST_UPDATE("ppc64", "host", "guest-compat-valid", VIR_CPU_COMPARE_= IDENTICAL); - DO_TEST_UPDATE("ppc64", "host", "guest-compat-invalid", VIR_CPU_COMPAR= E_ERROR); - DO_TEST_UPDATE("ppc64", "host", "guest-compat-incompatible", VIR_CPU_C= OMPARE_INCOMPATIBLE); + DO_TEST_UPDATE(VIR_ARCH_PPC64, "host", "guest", VIR_CPU_COMPARE_IDENTI= CAL); + DO_TEST_UPDATE(VIR_ARCH_PPC64, "host", "guest-nofallback", VIR_CPU_COM= PARE_INCOMPATIBLE); + DO_TEST_UPDATE(VIR_ARCH_PPC64, "host", "guest-legacy", VIR_CPU_COMPARE= _IDENTICAL); + DO_TEST_UPDATE(VIR_ARCH_PPC64, "host", "guest-legacy-incompatible", VI= R_CPU_COMPARE_INCOMPATIBLE); + DO_TEST_UPDATE(VIR_ARCH_PPC64, "host", "guest-legacy-invalid", VIR_CPU= _COMPARE_ERROR); + DO_TEST_UPDATE(VIR_ARCH_PPC64, "host", "guest-compat-none", VIR_CPU_CO= MPARE_IDENTICAL); + DO_TEST_UPDATE(VIR_ARCH_PPC64, "host", "guest-compat-valid", VIR_CPU_C= OMPARE_IDENTICAL); + DO_TEST_UPDATE(VIR_ARCH_PPC64, "host", "guest-compat-invalid", VIR_CPU= _COMPARE_ERROR); + DO_TEST_UPDATE(VIR_ARCH_PPC64, "host", "guest-compat-incompatible", VI= R_CPU_COMPARE_INCOMPATIBLE); =20 /* computing baseline CPUs */ - DO_TEST_BASELINE("x86_64", "incompatible-vendors", 0, -1); - DO_TEST_BASELINE("x86_64", "no-vendor", 0, 0); - DO_TEST_BASELINE("x86_64", "some-vendors", 0, 0); - DO_TEST_BASELINE("x86_64", "1", 0, 0); - DO_TEST_BASELINE("x86_64", "2", 0, 0); - DO_TEST_BASELINE("x86_64", "3", 0, 0); - DO_TEST_BASELINE("x86_64", "3", VIR_CONNECT_BASELINE_CPU_EXPAND_FEATUR= ES, 0); - DO_TEST_BASELINE("x86_64", "4", 0, 0); - DO_TEST_BASELINE("x86_64", "4", VIR_CONNECT_BASELINE_CPU_EXPAND_FEATUR= ES, 0); - DO_TEST_BASELINE("x86_64", "5", 0, 0); - DO_TEST_BASELINE("x86_64", "5", VIR_CONNECT_BASELINE_CPU_EXPAND_FEATUR= ES, 0); - DO_TEST_BASELINE("x86_64", "6", 0, 0); - DO_TEST_BASELINE("x86_64", "6", VIR_CONNECT_BASELINE_CPU_MIGRATABLE, 0= ); - DO_TEST_BASELINE("x86_64", "7", 0, 0); - DO_TEST_BASELINE("x86_64", "8", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "incompatible-vendors", 0, -1); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "no-vendor", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "some-vendors", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "1", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "2", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "3", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "3", VIR_CONNECT_BASELINE_CPU_EXPAND= _FEATURES, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "4", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "4", VIR_CONNECT_BASELINE_CPU_EXPAND= _FEATURES, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "5", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "5", VIR_CONNECT_BASELINE_CPU_EXPAND= _FEATURES, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "6", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "6", VIR_CONNECT_BASELINE_CPU_MIGRAT= ABLE, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "7", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_X86_64, "8", 0, 0); =20 - DO_TEST_BASELINE("ppc64", "incompatible-vendors", 0, -1); - DO_TEST_BASELINE("ppc64", "no-vendor", 0, 0); - DO_TEST_BASELINE("ppc64", "incompatible-models", 0, -1); - DO_TEST_BASELINE("ppc64", "same-model", 0, 0); - DO_TEST_BASELINE("ppc64", "legacy", 0, -1); + DO_TEST_BASELINE(VIR_ARCH_PPC64, "incompatible-vendors", 0, -1); + DO_TEST_BASELINE(VIR_ARCH_PPC64, "no-vendor", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_PPC64, "incompatible-models", 0, -1); + DO_TEST_BASELINE(VIR_ARCH_PPC64, "same-model", 0, 0); + DO_TEST_BASELINE(VIR_ARCH_PPC64, "legacy", 0, -1); =20 /* CPU features */ - DO_TEST_HASFEATURE("x86_64", "host", "vmx", YES); - DO_TEST_HASFEATURE("x86_64", "host", "lm", YES); - DO_TEST_HASFEATURE("x86_64", "host", "sse4.1", YES); - DO_TEST_HASFEATURE("x86_64", "host", "3dnowext", NO); - DO_TEST_HASFEATURE("x86_64", "host", "skinit", NO); - DO_TEST_HASFEATURE("x86_64", "host", "foo", FAIL); + DO_TEST_HASFEATURE(VIR_ARCH_X86_64, "host", "vmx", YES); + DO_TEST_HASFEATURE(VIR_ARCH_X86_64, "host", "lm", YES); + DO_TEST_HASFEATURE(VIR_ARCH_X86_64, "host", "sse4.1", YES); + DO_TEST_HASFEATURE(VIR_ARCH_X86_64, "host", "3dnowext", NO); + DO_TEST_HASFEATURE(VIR_ARCH_X86_64, "host", "skinit", NO); + DO_TEST_HASFEATURE(VIR_ARCH_X86_64, "host", "foo", FAIL); =20 /* computing guest data and decoding the data into a guest CPU XML */ - DO_TEST_GUESTCPU("x86_64", "host", "guest", NULL, 0); - DO_TEST_GUESTCPU("x86_64", "host-better", "pentium3", NULL, 0); - DO_TEST_GUESTCPU("x86_64", "host-worse", "guest", NULL, 0); - DO_TEST_GUESTCPU("x86_64", "host", "strict-force-extra", NULL, 0); - DO_TEST_GUESTCPU("x86_64", "host", "penryn-force", NULL, 0); - DO_TEST_GUESTCPU("x86_64", "host", "guest", model486, 0); - DO_TEST_GUESTCPU("x86_64", "host", "guest", models, 0); - DO_TEST_GUESTCPU("x86_64", "host", "guest", nomodel, -1); - DO_TEST_GUESTCPU("x86_64", "host", "guest-nofallback", models, -1); - DO_TEST_GUESTCPU("x86_64", "host", "host+host-model", models, 0); - DO_TEST_GUESTCPU("x86_64", "host", "host+host-model-nofallback", model= s, -1); - DO_TEST_GUESTCPU("x86_64", "host-Haswell-noTSX", "Haswell", haswell, 0= ); - DO_TEST_GUESTCPU("x86_64", "host-Haswell-noTSX", "Haswell-noTSX", hasw= ell, 0); - DO_TEST_GUESTCPU("x86_64", "host-Haswell-noTSX", "Haswell-noTSX-nofall= back", haswell, -1); - DO_TEST_GUESTCPU("x86_64", "host-Haswell-noTSX", "Haswell-noTSX", NULL= , 0); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host", "guest", NULL, 0); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host-better", "pentium3", NULL, 0); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host-worse", "guest", NULL, 0); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host", "strict-force-extra", NULL, = 0); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host", "penryn-force", NULL, 0); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host", "guest", model486, 0); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host", "guest", models, 0); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host", "guest", nomodel, -1); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host", "guest-nofallback", models, = -1); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host", "host+host-model", models, 0= ); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host", "host+host-model-nofallback"= , models, -1); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host-Haswell-noTSX", "Haswell", has= well, 0); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host-Haswell-noTSX", "Haswell-noTSX= ", haswell, 0); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host-Haswell-noTSX", "Haswell-noTSX= -nofallback", haswell, -1); + DO_TEST_GUESTCPU(VIR_ARCH_X86_64, "host-Haswell-noTSX", "Haswell-noTSX= ", NULL, 0); =20 - DO_TEST_GUESTCPU("ppc64", "host", "guest", ppc_models, 0); - DO_TEST_GUESTCPU("ppc64", "host", "guest-nofallback", ppc_models, -1); - DO_TEST_GUESTCPU("ppc64", "host", "guest-legacy", ppc_models, 0); - DO_TEST_GUESTCPU("ppc64", "host", "guest-legacy-incompatible", ppc_mod= els, -1); - DO_TEST_GUESTCPU("ppc64", "host", "guest-legacy-invalid", ppc_models, = -1); + DO_TEST_GUESTCPU(VIR_ARCH_PPC64, "host", "guest", ppc_models, 0); + DO_TEST_GUESTCPU(VIR_ARCH_PPC64, "host", "guest-nofallback", ppc_model= s, -1); + DO_TEST_GUESTCPU(VIR_ARCH_PPC64, "host", "guest-legacy", ppc_models, 0= ); + DO_TEST_GUESTCPU(VIR_ARCH_PPC64, "host", "guest-legacy-incompatible", = ppc_models, -1); + DO_TEST_GUESTCPU(VIR_ARCH_PPC64, "host", "guest-legacy-invalid", ppc_m= odels, -1); =20 - DO_TEST_CPUID("x86_64", "A10-5800K", true); - DO_TEST_CPUID("x86_64", "Atom-D510", false); - DO_TEST_CPUID("x86_64", "Atom-N450", false); - DO_TEST_CPUID("x86_64", "Core-i5-2500", true); - DO_TEST_CPUID("x86_64", "Core-i5-2540M", true); - DO_TEST_CPUID("x86_64", "Core-i5-4670T", true); - DO_TEST_CPUID("x86_64", "Core-i5-6600", true); - DO_TEST_CPUID("x86_64", "Core-i7-2600", true); - DO_TEST_CPUID("x86_64", "Core-i7-3520M", false); - DO_TEST_CPUID("x86_64", "Core-i7-3740QM", true); - DO_TEST_CPUID("x86_64", "Core-i7-3770", true); - DO_TEST_CPUID("x86_64", "Core-i7-4600U", true); - DO_TEST_CPUID("x86_64", "Core-i7-5600U", true); - DO_TEST_CPUID("x86_64", "Core2-E6850", true); - DO_TEST_CPUID("x86_64", "Core2-Q9500", false); - DO_TEST_CPUID("x86_64", "FX-8150", false); - DO_TEST_CPUID("x86_64", "Opteron-1352", false); - DO_TEST_CPUID("x86_64", "Opteron-2350", true); - DO_TEST_CPUID("x86_64", "Opteron-6234", true); - DO_TEST_CPUID("x86_64", "Opteron-6282", false); - DO_TEST_CPUID("x86_64", "Pentium-P6100", false); - DO_TEST_CPUID("x86_64", "Phenom-B95", true); - DO_TEST_CPUID("x86_64", "Xeon-5110", false); - DO_TEST_CPUID("x86_64", "Xeon-E3-1245", true); - DO_TEST_CPUID("x86_64", "Xeon-E5-2630", true); - DO_TEST_CPUID("x86_64", "Xeon-E5-2650", true); - DO_TEST_CPUID("x86_64", "Xeon-E7-4820", true); - DO_TEST_CPUID("x86_64", "Xeon-W3520", true); - DO_TEST_CPUID("x86_64", "Xeon-X5460", false); + DO_TEST_CPUID(VIR_ARCH_X86_64, "A10-5800K", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Atom-D510", false); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Atom-N450", false); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i5-2500", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i5-2540M", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i5-4670T", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i5-6600", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i7-2600", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i7-3520M", false); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i7-3740QM", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i7-3770", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i7-4600U", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i7-5600U", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core2-E6850", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Core2-Q9500", false); + DO_TEST_CPUID(VIR_ARCH_X86_64, "FX-8150", false); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Opteron-1352", false); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Opteron-2350", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Opteron-6234", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Opteron-6282", false); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Pentium-P6100", false); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Phenom-B95", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-5110", false); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E3-1245", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E5-2630", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E5-2650", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E7-4820", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-W3520", true); + DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-X5460", false); =20 #if WITH_QEMU && WITH_YAJL qemuTestDriverFree(&driver); --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) client-ip=209.132.183.24; envelope-from=libvir-list-bounces@redhat.com; helo=mx3-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by mx.zohomail.com with SMTPS id 148785984671692.24849112273978; Thu, 23 Feb 2017 06:24:06 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEKlu7030553; Thu, 23 Feb 2017 09:20:47 -0500 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFW4P022420 for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFVS0015291 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 8960D103692; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:21 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 23/28] cputest: Switch host CPU data scripts to model expansion X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Instantiating "host" CPU and querying it using qom-get has been the only way of probing host CPU via QEMU until 2.9.0 implemented query-cpu-model-expansion for x86_64. Even though libvirt never really used the old way its result can be easily converted into the one produced by query-cpu-model-expansion. Thus we can reuse the original test data and possible get new data from hosts where QEMU does not support the new QMP command. Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - cpu-convert.py: set "vendor" property according to model-id tests/cputestdata/cpu-convert.py | 249 +++++++++++++++++++++++++++++++++++= ++++ tests/cputestdata/cpu-gather.sh | 39 +++++- tests/cputestdata/cpu-parse.sh | 3 + 3 files changed, 285 insertions(+), 6 deletions(-) create mode 100755 tests/cputestdata/cpu-convert.py diff --git a/tests/cputestdata/cpu-convert.py b/tests/cputestdata/cpu-conve= rt.py new file mode 100755 index 000000000..77bae3628 --- /dev/null +++ b/tests/cputestdata/cpu-convert.py @@ -0,0 +1,249 @@ +#!/usr/bin/python + +import sys +import json + +# This is a list of x86 CPU features as of QEMU 2.8.50 and it won't need a= ny +# updates since in the future because query-cpu-model-expansion will be us= ed +# with newer QEMU. +cpuidMap =3D [ + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 001, "edx": 0, "names": ["pni", "sse3"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 002, "edx": 0, "names": ["pclmulqdq", "pclmuldq"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 004, "edx": 0, "names": ["dtes64"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 008, "edx": 0, "names": ["monitor"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 010, "edx": 0, "names": ["ds-cpl", "ds_cpl"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 020, "edx": 0, "names": ["vmx"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 040, "edx": 0, "names": ["smx"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 080, "edx": 0, "names": ["est"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 100, "edx": 0, "names": ["tm2"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 200, "edx": 0, "names": ["ssse3"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 400, "edx": 0, "names": ["cid"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00001= 000, "edx": 0, "names": ["fma"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00002= 000, "edx": 0, "names": ["cx16"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00004= 000, "edx": 0, "names": ["xtpr"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00008= 000, "edx": 0, "names": ["pdcm"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00020= 000, "edx": 0, "names": ["pcid"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00040= 000, "edx": 0, "names": ["dca"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00080= 000, "edx": 0, "names": ["sse4.1", "sse4-1", "sse4_1"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00100= 000, "edx": 0, "names": ["sse4.2", "sse4-2", "sse4_2"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00200= 000, "edx": 0, "names": ["x2apic"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00400= 000, "edx": 0, "names": ["movbe"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00800= 000, "edx": 0, "names": ["popcnt"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x01000= 000, "edx": 0, "names": ["tsc-deadline"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x02000= 000, "edx": 0, "names": ["aes"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x04000= 000, "edx": 0, "names": ["xsave"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x08000= 000, "edx": 0, "names": ["osxsave"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x10000= 000, "edx": 0, "names": ["avx"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x20000= 000, "edx": 0, "names": ["f16c"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x40000= 000, "edx": 0, "names": ["rdrand"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x80000= 000, "edx": 0, "names": ["hypervisor"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000001, "names": ["fpu"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000002, "names": ["vme"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000004, "names": ["de"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000008, "names": ["pse"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000010, "names": ["tsc"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000020, "names": ["msr"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000040, "names": ["pae"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000080, "names": ["mce"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000100, "names": ["cx8"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000200, "names": ["apic"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000800, "names": ["sep"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00001000, "names": ["mtrr"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00002000, "names": ["pge"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00004000, "names": ["mca"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00008000, "names": ["cmov"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00010000, "names": ["pat"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00020000, "names": ["pse36"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00040000, "names": ["pn"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00080000, "names": ["clflush"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00200000, "names": ["ds"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00400000, "names": ["acpi"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00800000, "names": ["mmx"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x01000000, "names": ["fxsr"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x02000000, "names": ["sse"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x04000000, "names": ["sse2"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x08000000, "names": ["ss"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x10000000, "names": ["ht"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x20000000, "names": ["tm"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x40000000, "names": ["ia64"]}, + {"in_eax": 0x00000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x80000000, "names": ["pbe"]}, + {"in_eax": 0x00000006, "in_ecx": 0, "eax": 0x00000004, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["arat"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00000001, "ecx"= : 0, "edx": 0, "names": ["fsgsbase"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00000002, "ecx"= : 0, "edx": 0, "names": ["tsc-adjust", "tsc_adjust"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00000008, "ecx"= : 0, "edx": 0, "names": ["bmi1"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00000010, "ecx"= : 0, "edx": 0, "names": ["hle"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00000020, "ecx"= : 0, "edx": 0, "names": ["avx2"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00000080, "ecx"= : 0, "edx": 0, "names": ["smep"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00000100, "ecx"= : 0, "edx": 0, "names": ["bmi2"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00000200, "ecx"= : 0, "edx": 0, "names": ["erms"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00000400, "ecx"= : 0, "edx": 0, "names": ["invpcid"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00000800, "ecx"= : 0, "edx": 0, "names": ["rtm"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00004000, "ecx"= : 0, "edx": 0, "names": ["mpx"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00010000, "ecx"= : 0, "edx": 0, "names": ["avx512f"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00020000, "ecx"= : 0, "edx": 0, "names": ["avx512dq"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00040000, "ecx"= : 0, "edx": 0, "names": ["rdseed"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00080000, "ecx"= : 0, "edx": 0, "names": ["adx"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00100000, "ecx"= : 0, "edx": 0, "names": ["smap"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00200000, "ecx"= : 0, "edx": 0, "names": ["avx512ifma"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00400000, "ecx"= : 0, "edx": 0, "names": ["pcommit"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x00800000, "ecx"= : 0, "edx": 0, "names": ["clflushopt"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x01000000, "ecx"= : 0, "edx": 0, "names": ["clwb"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x04000000, "ecx"= : 0, "edx": 0, "names": ["avx512pf"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x08000000, "ecx"= : 0, "edx": 0, "names": ["avx512er"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x10000000, "ecx"= : 0, "edx": 0, "names": ["avx512cd"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x20000000, "ecx"= : 0, "edx": 0, "names": ["sha-ni"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x40000000, "ecx"= : 0, "edx": 0, "names": ["avx512bw"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0x80000000, "ecx"= : 0, "edx": 0, "names": ["avx512vl"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 002, "edx": 0, "names": ["avx512vbmi"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 004, "edx": 0, "names": ["umip"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 008, "edx": 0, "names": ["pku"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 010, "edx": 0, "names": ["ospke"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00004= 000, "edx": 0, "names": ["avx512-vpopcntdq"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00010= 000, "edx": 0, "names": ["la57"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00400= 000, "edx": 0, "names": ["rdpid"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000004, "names": ["avx512-4vnniw"]}, + {"in_eax": 0x00000007, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000008, "names": ["avx512-4fmaps"]}, + {"in_eax": 0x0000000d, "in_ecx": 1, "eax": 0x00000001, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["xsaveopt"]}, + {"in_eax": 0x0000000d, "in_ecx": 1, "eax": 0x00000002, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["xsavec"]}, + {"in_eax": 0x0000000d, "in_ecx": 1, "eax": 0x00000004, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["xgetbv1"]}, + {"in_eax": 0x0000000d, "in_ecx": 1, "eax": 0x00000008, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["xsaves"]}, + {"in_eax": 0x40000001, "in_ecx": 0, "eax": 0x00000001, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["kvmclock"]}, + {"in_eax": 0x40000001, "in_ecx": 0, "eax": 0x00000002, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["kvm-nopiodelay", "kvm_nopiodelay"]}, + {"in_eax": 0x40000001, "in_ecx": 0, "eax": 0x00000004, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["kvm-mmu", "kvm_mmu"]}, + {"in_eax": 0x40000001, "in_ecx": 0, "eax": 0x00000008, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["kvmclock"]}, + {"in_eax": 0x40000001, "in_ecx": 0, "eax": 0x00000010, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["kvm-asyncpf", "kvm_asyncpf"]}, + {"in_eax": 0x40000001, "in_ecx": 0, "eax": 0x00000020, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["kvm-steal-time", "kvm_steal_time"]}, + {"in_eax": 0x40000001, "in_ecx": 0, "eax": 0x00000040, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["kvm-pv-eoi", "kvm_pv_eoi"]}, + {"in_eax": 0x40000001, "in_ecx": 0, "eax": 0x00000080, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["kvm-pv-unhalt", "kvm_pv_unhalt"]}, + {"in_eax": 0x40000001, "in_ecx": 0, "eax": 0x01000000, "ebx": 0, "ecx"= : 0, "edx": 0, "names": ["kvmclock-stable-bit"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 001, "edx": 0, "names": ["lahf-lm", "lahf_lm"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 002, "edx": 0, "names": ["cmp-legacy", "cmp_legacy"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 004, "edx": 0, "names": ["svm"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 008, "edx": 0, "names": ["extapic"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 010, "edx": 0, "names": ["cr8legacy"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 020, "edx": 0, "names": ["abm"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 040, "edx": 0, "names": ["sse4a"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 080, "edx": 0, "names": ["misalignsse"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 100, "edx": 0, "names": ["3dnowprefetch"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 200, "edx": 0, "names": ["osvw"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 400, "edx": 0, "names": ["ibs"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00000= 800, "edx": 0, "names": ["xop"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00001= 000, "edx": 0, "names": ["skinit"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00002= 000, "edx": 0, "names": ["wdt"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00008= 000, "edx": 0, "names": ["lwp"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00010= 000, "edx": 0, "names": ["fma4"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00020= 000, "edx": 0, "names": ["tce"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00080= 000, "edx": 0, "names": ["nodeid-msr", "nodeid_msr"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00200= 000, "edx": 0, "names": ["tbm"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00400= 000, "edx": 0, "names": ["topoext"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x00800= 000, "edx": 0, "names": ["perfctr-core", "perfctr_core"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0x01000= 000, "edx": 0, "names": ["perfctr-nb", "perfctr_nb"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000800, "names": ["syscall"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00100000, "names": ["nx", "xd"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00400000, "names": ["mmxext"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x02000000, "names": ["fxsr-opt", "ffxsr", "fxsr_opt"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x04000000, "names": ["pdpe1gb"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x08000000, "names": ["rdtscp"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x20000000, "names": ["lm", "i64"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x40000000, "names": ["3dnowext"]}, + {"in_eax": 0x80000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x80000000, "names": ["3dnow"]}, + {"in_eax": 0x80000007, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000100, "names": ["invtsc"]}, + {"in_eax": 0x8000000A, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000001, "names": ["npt"]}, + {"in_eax": 0x8000000A, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000002, "names": ["lbrv"]}, + {"in_eax": 0x8000000A, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000004, "names": ["svm-lock", "svm_lock"]}, + {"in_eax": 0x8000000A, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000008, "names": ["nrip-save", "nrip_save"]}, + {"in_eax": 0x8000000A, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000010, "names": ["tsc-scale", "tsc_scale"]}, + {"in_eax": 0x8000000A, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000020, "names": ["vmcb-clean", "vmcb_clean"]}, + {"in_eax": 0x8000000A, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000040, "names": ["flushbyasid"]}, + {"in_eax": 0x8000000A, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000080, "names": ["decodeassists"]}, + {"in_eax": 0x8000000A, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000400, "names": ["pause-filter", "pause_filter"]}, + {"in_eax": 0x8000000A, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00001000, "names": ["pfthreshold"]}, + {"in_eax": 0xC0000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000004, "names": ["xstore"]}, + {"in_eax": 0xC0000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000008, "names": ["xstore-en"]}, + {"in_eax": 0xC0000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000040, "names": ["xcrypt"]}, + {"in_eax": 0xC0000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000080, "names": ["xcrypt-en"]}, + {"in_eax": 0xC0000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000100, "names": ["ace2"]}, + {"in_eax": 0xC0000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000200, "names": ["ace2-en"]}, + {"in_eax": 0xC0000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000400, "names": ["phe"]}, + {"in_eax": 0xC0000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00000800, "names": ["phe-en"]}, + {"in_eax": 0xC0000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00001000, "names": ["pmm"]}, + {"in_eax": 0xC0000001, "in_ecx": 0, "eax": 0, "ebx": 0, "ecx": 0, "edx= ": 0x00002000, "names": ["pmm-en"]}, +] + + +def parseFeatureWords(path): + features =3D None + + with open(path, "r") as f: + s =3D f.read() + + props =3D {} + for i in range(5): + (data, pos) =3D dec.raw_decode(s) + if i =3D=3D 0: + features =3D data["return"] + else: + keys =3D ["family", "model", "stepping", "model-id"] + props[keys[i - 1]] =3D data["return"] + + while pos < len(s) and s[pos] !=3D "{": + pos +=3D 1 + s =3D s[pos:] + + if props["model-id"].find("Intel") !=3D -1: + props["vendor"] =3D "GenuineIntel" + elif props["model-id"].find("AMD") !=3D -1: + props["vendor"] =3D "AuthenticAMD" + + cpuid =3D {} + for feat in features: + in_eax =3D feat["cpuid-input-eax"] + in_ecx =3D 0 + if "cpuid-input-ecx" in feat: + in_ecx =3D feat["cpuid-input-ecx"] + + if in_eax not in cpuid: + cpuid[in_eax] =3D {} + leaf =3D cpuid[in_eax] + + if in_ecx not in leaf: + leaf[in_ecx] =3D {"eax": 0, "ebx": 0, "ecx": 0, "edx": 0} + leaf =3D leaf[in_ecx] + + leaf[feat["cpuid-register"].lower()] =3D feat["features"] + + return props, cpuid + + +def propAdd(props, feature, value): + for name in feature["names"]: + props[name] =3D value + + +dec =3D json.JSONDecoder() + +for path in sys.argv[1:]: + props, cpuid =3D parseFeatureWords(path) + + for feature in cpuidMap: + in_eax =3D feature["in_eax"] + in_ecx =3D feature["in_ecx"] + eax =3D feature["eax"] + ebx =3D feature["ebx"] + ecx =3D feature["ecx"] + edx =3D feature["edx"] + + if in_eax not in cpuid or in_ecx not in cpuid[in_eax]: + propAdd(props, feature, False) + else: + leaf =3D cpuid[in_eax][in_ecx] + propAdd(props, feature, ((eax > 0 and leaf["eax"] & eax > 0) or + (ebx > 0 and leaf["ebx"] & ebx > 0) or + (ecx > 0 and leaf["ecx"] & ecx > 0) or + (edx > 0 and leaf["edx"] & edx > 0))) + + with open(path, "w") as f: + json.dump({"return": {"model": {"name": "base", "props": props}}, + "id": "model-expansion"}, + f, indent =3D 2, separators =3D (',', ': ')) + f.write("\n") diff --git a/tests/cputestdata/cpu-gather.sh b/tests/cputestdata/cpu-gather= .sh index c8439a661..83963557e 100755 --- a/tests/cputestdata/cpu-gather.sh +++ b/tests/cputestdata/cpu-gather.sh @@ -24,12 +24,39 @@ qom_get() '"property":"'$1'"},"id":"'$1'"}' } =20 -$qemu -machine accel=3Dkvm -cpu host -nodefaults -nographic -qmp stdio <$fname.json if [[ -s $fname.json ]]; then echo $fname.json + if ! grep -q model-expansion $fname.json; then + $(dirname $0)/cpu-convert.py $fname.json + fi else rm $fname.json fi --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) client-ip=209.132.183.39; envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by mx.zohomail.com with SMTPS id 1487860035913711.2041406649222; Thu, 23 Feb 2017 06:27:15 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NENMi8009527; Thu, 23 Feb 2017 09:23:22 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFX7N022442 for ; Thu, 23 Feb 2017 09:15:33 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFVlZ011388 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 8C1351036B0; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:22 +0100 Message-Id: <6f815adc1a73e81fb0341c68a46e64a3f7f6fbde.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 24/28] cputest: Convert all json data files to query-cpu-model-expansion X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Converted by running the following command, renaming the files as *.new, and committing only the *.new files. (cd tests/cputestdata; ./cpu-convert.py *.json) Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - reconverted to contain "vendor" properties tests/cputestdata/x86_64-cpuid-A10-5800K.json.new | 203 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Core-i5-2500.json.new | 203 +++++++++++++++++= ++++ .../x86_64-cpuid-Core-i5-2540M.json.new | 203 +++++++++++++++++= ++++ .../x86_64-cpuid-Core-i5-4670T.json.new | 203 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Core-i5-6600.json.new | 203 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Core-i7-2600.json.new | 203 +++++++++++++++++= ++++ .../x86_64-cpuid-Core-i7-3740QM.json.new | 203 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Core-i7-3770.json.new | 203 +++++++++++++++++= ++++ .../x86_64-cpuid-Core-i7-4600U.json.new | 203 +++++++++++++++++= ++++ .../x86_64-cpuid-Core-i7-5600U.json.new | 203 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Core2-E6850.json.new | 203 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Opteron-2350.json.new | 203 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Opteron-6234.json.new | 203 +++++++++++++++++= ++++ tests/cputestdata/x86_64-cpuid-Phenom-B95.json.new | 203 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Xeon-E3-1245.json.new | 203 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Xeon-E5-2630.json.new | 203 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Xeon-E5-2650.json.new | 203 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Xeon-E7-4820.json.new | 203 +++++++++++++++++= ++++ tests/cputestdata/x86_64-cpuid-Xeon-W3520.json.new | 203 +++++++++++++++++= ++++ 19 files changed, 3857 insertions(+) create mode 100644 tests/cputestdata/x86_64-cpuid-A10-5800K.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2500.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-6600.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-2600.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3770.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Core2-E6850.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-2350.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-6234.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Phenom-B95.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json.new create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-W3520.json.new diff --git a/tests/cputestdata/x86_64-cpuid-A10-5800K.json.new b/tests/cput= estdata/x86_64-cpuid-A10-5800K.json.new new file mode 100644 index 000000000..132ed249b --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-A10-5800K.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": false, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 1, + "tce": false, + "kvm_steal_time": true, + "smep": false, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "AuthenticAMD", + "arat": false, + "ffxsr": true, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": true, + "ia64": false, + "phe-en": false, + "f16c": true, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": true, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": false, + "sse4a": true, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": false, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": true, + "model-id": "AMD A10-5800K APU with Radeon(tm) HD Graphics ", + "abm": true, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": true, + "acpi": false, + "fma4": true, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": true, + "pcid": false, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": false, + "nrip-save": true, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 21, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": true, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": true, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": false, + "cmp-legacy": true, + "kvm-pv-unhalt": true, + "rdtscp": false, + "mmxext": true, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": true, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": true, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": true, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": true, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": true, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": false, + "topoext": false, + "smx": false, + "bmi1": true, + "bmi2": false, + "xsaves": false, + "model": 16 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2500.json.new b/tests/c= putestdata/x86_64-cpuid-Core-i5-2500.json.new new file mode 100644 index 000000000..e98e40d3a --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2500.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 7, + "tce": false, + "kvm_steal_time": true, + "smep": false, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": true, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": false, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": true, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": false, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": " Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz", + "abm": false, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": false, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": false, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": false, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": false, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": false, + "bmi2": false, + "xsaves": false, + "model": 42 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json.new b/tests/= cputestdata/x86_64-cpuid-Core-i5-2540M.json.new new file mode 100644 index 000000000..d813326f6 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 7, + "tce": false, + "kvm_steal_time": true, + "smep": false, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": true, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": false, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": true, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": false, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": " Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz", + "abm": false, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": false, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": false, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": false, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": false, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": false, + "bmi2": false, + "xsaves": false, + "model": 42 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json.new b/tests/= cputestdata/x86_64-cpuid-Core-i5-4670T.json.new new file mode 100644 index 000000000..bfcfcfd46 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": true, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 3, + "tce": false, + "kvm_steal_time": true, + "smep": true, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": false, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": true, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": true, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": true, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": true, + "sep": true, + "xsaveopt": true, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": true, + "hle": true, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": "Intel(R) Core(TM) i5-4670T CPU @ 2.30GHz", + "abm": true, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": true, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": true, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": true, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": true, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": true, + "bmi2": true, + "xsaves": false, + "model": 60 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600.json.new b/tests/c= putestdata/x86_64-cpuid-Core-i5-6600.json.new new file mode 100644 index 000000000..3bb7feea1 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": true, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": true, + "stepping": 3, + "tce": false, + "kvm_steal_time": true, + "smep": true, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": true, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": true, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": true, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": true, + "ds": false, + "mpx": true, + "tsc-adjust": true, + "aes": true, + "avx2": true, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": true, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": true, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": true, + "hle": true, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": "Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz", + "abm": true, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": true, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": true, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": true, + "apic": true, + "fsgsbase": true, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": true, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": true, + "pat": true, + "lbrv": false, + "3dnowprefetch": true, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": true, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": true, + "bmi2": true, + "xsaves": true, + "model": 94 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600.json.new b/tests/c= putestdata/x86_64-cpuid-Core-i7-2600.json.new new file mode 100644 index 000000000..19c448c10 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 7, + "tce": false, + "kvm_steal_time": true, + "smep": false, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": false, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": false, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": true, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": false, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": " Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz", + "abm": false, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": false, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": false, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": false, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": false, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": false, + "bmi2": false, + "xsaves": false, + "model": 42 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json.new b/tests= /cputestdata/x86_64-cpuid-Core-i7-3740QM.json.new new file mode 100644 index 000000000..2b50b3da4 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 9, + "tce": false, + "kvm_steal_time": true, + "smep": true, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": false, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": true, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": true, + "sep": true, + "xsaveopt": true, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": true, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": " Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz", + "abm": false, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": true, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": false, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": true, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": false, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": false, + "bmi2": false, + "xsaves": false, + "model": 58 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3770.json.new b/tests/c= putestdata/x86_64-cpuid-Core-i7-3770.json.new new file mode 100644 index 000000000..b0a8e8b1c --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3770.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 9, + "tce": false, + "kvm_steal_time": true, + "smep": true, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": false, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": true, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": true, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": true, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": " Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", + "abm": false, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": true, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": false, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": true, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": false, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": false, + "bmi2": false, + "xsaves": false, + "model": 58 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json.new b/tests/= cputestdata/x86_64-cpuid-Core-i7-4600U.json.new new file mode 100644 index 000000000..1acde0a1e --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 1, + "tce": false, + "kvm_steal_time": true, + "smep": true, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": true, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": true, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": true, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": true, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": true, + "sep": true, + "xsaveopt": true, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": true, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": "Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz", + "abm": true, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": true, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": true, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": true, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": true, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": true, + "bmi2": true, + "xsaves": false, + "model": 69 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json.new b/tests/= cputestdata/x86_64-cpuid-Core-i7-5600U.json.new new file mode 100644 index 000000000..a09816078 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": true, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": true, + "stepping": 4, + "tce": false, + "kvm_steal_time": true, + "smep": true, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": true, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": true, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": true, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": true, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": true, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": true, + "sep": true, + "xsaveopt": true, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": true, + "hle": true, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": "Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz", + "abm": true, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": true, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": true, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": true, + "apic": true, + "fsgsbase": true, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": true, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": true, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": true, + "bmi2": true, + "xsaves": false, + "model": 61 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Core2-E6850.json.new b/tests/cp= utestdata/x86_64-cpuid-Core2-E6850.json.new new file mode 100644 index 000000000..164cffec9 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core2-E6850.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 11, + "tce": false, + "kvm_steal_time": true, + "smep": false, + "rdpid": false, + "xcrypt": false, + "sse4_2": false, + "monitor": false, + "sse4_1": false, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": false, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": false, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": false, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": false, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": false, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": false, + "erms": false, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": "Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz", + "abm": false, + "avx512er": false, + "sse4.1": false, + "sse4.2": false, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": false, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": false, + "sse4-1": false, + "sse4-2": false, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": false, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": false, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": false, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": false, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": false, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": false, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": false, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": false, + "bmi2": false, + "xsaves": false, + "model": 15 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-2350.json.new b/tests/c= putestdata/x86_64-cpuid-Opteron-2350.json.new new file mode 100644 index 000000000..015ef1764 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Opteron-2350.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": false, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 3, + "tce": false, + "kvm_steal_time": true, + "smep": false, + "rdpid": false, + "xcrypt": false, + "sse4_2": false, + "monitor": false, + "sse4_1": false, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": false, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "AuthenticAMD", + "arat": false, + "ffxsr": true, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": false, + "ds": false, + "mpx": false, + "tsc-adjust": false, + "aes": false, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": false, + "sse4a": true, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": false, + "erms": false, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": "Quad-Core AMD Opteron(tm) Processor 2350", + "abm": true, + "avx512er": false, + "sse4.1": false, + "sse4.2": false, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": true, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": true, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": true, + "pcid": false, + "sse4-1": false, + "sse4-2": false, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": false, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 16, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": false, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": true, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": false, + "cmp-legacy": true, + "kvm-pv-unhalt": true, + "rdtscp": false, + "mmxext": true, + "cid": false, + "ssse3": false, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": false, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": true, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": true, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": true, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": true, + "osvw": true, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": true, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": false, + "svm": true, + "sse3": true, + "sse2": true, + "ss": false, + "topoext": false, + "smx": false, + "bmi1": false, + "bmi2": false, + "xsaves": false, + "model": 2 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-6234.json.new b/tests/c= putestdata/x86_64-cpuid-Opteron-6234.json.new new file mode 100644 index 000000000..adfdfadde --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Opteron-6234.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 2, + "tce": false, + "kvm_steal_time": true, + "smep": false, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "AuthenticAMD", + "arat": true, + "ffxsr": true, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": false, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": true, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": false, + "sse4a": true, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": false, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": true, + "model-id": "AMD Opteron(TM) Processor 6234 ", + "abm": true, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": true, + "acpi": false, + "fma4": true, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": true, + "pcid": false, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": false, + "nrip-save": true, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 21, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": false, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": true, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": false, + "cmp-legacy": true, + "kvm-pv-unhalt": true, + "rdtscp": false, + "mmxext": true, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": true, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": true, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": true, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": true, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": true, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": false, + "topoext": false, + "smx": false, + "bmi1": false, + "bmi2": false, + "xsaves": false, + "model": 1 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Phenom-B95.json.new b/tests/cpu= testdata/x86_64-cpuid-Phenom-B95.json.new new file mode 100644 index 000000000..05e8a444e --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Phenom-B95.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": false, + "tsc-deadline": false, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 2, + "tce": false, + "kvm_steal_time": true, + "smep": false, + "rdpid": false, + "xcrypt": false, + "sse4_2": false, + "monitor": false, + "sse4_1": false, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": false, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "AuthenticAMD", + "arat": false, + "ffxsr": true, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": false, + "ds": false, + "mpx": false, + "tsc-adjust": false, + "aes": false, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": true, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": false, + "sse4a": true, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": false, + "erms": false, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": "AMD Phenom(tm) II X4 B95 Processor", + "abm": true, + "avx512er": false, + "sse4.1": false, + "sse4.2": false, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": true, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": true, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": true, + "pcid": false, + "sse4-1": false, + "sse4-2": false, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": false, + "nrip-save": true, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 16, + "dtes64": false, + "xd": false, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": false, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": false, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": true, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": false, + "cmp-legacy": true, + "kvm-pv-unhalt": true, + "rdtscp": false, + "mmxext": true, + "cid": false, + "ssse3": false, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": false, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": true, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": true, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": true, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": true, + "osvw": true, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": true, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": false, + "svm": false, + "sse3": true, + "sse2": true, + "ss": false, + "topoext": false, + "smx": false, + "bmi1": false, + "bmi2": false, + "xsaves": false, + "model": 4 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json.new b/tests/c= putestdata/x86_64-cpuid-Xeon-E3-1245.json.new new file mode 100644 index 000000000..4828da588 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": true, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": true, + "stepping": 3, + "tce": false, + "kvm_steal_time": true, + "smep": true, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": true, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": true, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": true, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": true, + "ds": false, + "mpx": true, + "tsc-adjust": true, + "aes": true, + "avx2": true, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": true, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": true, + "sep": true, + "xsaveopt": true, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": true, + "hle": true, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "abm": true, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": true, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": true, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": true, + "apic": true, + "fsgsbase": true, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": true, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": true, + "pat": true, + "lbrv": false, + "3dnowprefetch": true, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": true, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": true, + "bmi2": true, + "xsaves": false, + "model": 94 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json.new b/tests/c= putestdata/x86_64-cpuid-Xeon-E5-2630.json.new new file mode 100644 index 000000000..52a52b35e --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 2, + "tce": false, + "kvm_steal_time": true, + "smep": true, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": false, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": true, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": true, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": true, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": true, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": true, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": "Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz", + "abm": true, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": true, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": true, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": true, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": true, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": true, + "bmi2": true, + "xsaves": false, + "model": 63 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json.new b/tests/c= putestdata/x86_64-cpuid-Xeon-E5-2650.json.new new file mode 100644 index 000000000..bd0ab9ca4 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": false, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 2, + "tce": false, + "kvm_steal_time": true, + "smep": true, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": false, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": true, + "ds": false, + "mpx": false, + "tsc-adjust": false, + "aes": true, + "avx2": true, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": true, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": true, + "sep": true, + "xsaveopt": false, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": true, + "erms": true, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": "Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz", + "abm": true, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": true, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": true, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": true, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": true, + "syscall": true, + "umip": false, + "invpcid": true, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": true, + "bmi2": true, + "xsaves": false, + "model": 63 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json.new b/tests/c= putestdata/x86_64-cpuid-Xeon-E7-4820.json.new new file mode 100644 index 000000000..ece950390 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": true, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 2, + "tce": false, + "kvm_steal_time": true, + "smep": false, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": true, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": false, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": false, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": true, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": false, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": false, + "erms": false, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": " Intel(R) Xeon(R) CPU E7- 4820 @ 2.00GHz", + "abm": false, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": true, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": false, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": false, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": false, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": false, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": true, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": true, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": false, + "bmi2": false, + "xsaves": false, + "model": 47 + } + } + }, + "id": "model-expansion" +} diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-W3520.json.new b/tests/cpu= testdata/x86_64-cpuid-Xeon-W3520.json.new new file mode 100644 index 000000000..29e28dc00 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Xeon-W3520.json.new @@ -0,0 +1,203 @@ +{ + "return": { + "model": { + "name": "base", + "props": { + "pfthreshold": false, + "pku": false, + "rtm": false, + "tsc_adjust": true, + "tsc-deadline": false, + "xstore-en": false, + "tsc-scale": false, + "sse": true, + "smap": false, + "stepping": 5, + "tce": false, + "kvm_steal_time": true, + "smep": false, + "rdpid": false, + "xcrypt": false, + "sse4_2": true, + "monitor": false, + "sse4_1": true, + "kvm-mmu": false, + "flushbyasid": false, + "kvm-steal-time": true, + "lm": true, + "tsc": true, + "adx": false, + "fxsr": true, + "sha-ni": false, + "tm": false, + "pclmuldq": false, + "xgetbv1": false, + "xstore": false, + "vmcb_clean": false, + "vme": true, + "vendor": "GenuineIntel", + "arat": false, + "ffxsr": false, + "de": true, + "avx512f": false, + "pse": true, + "ds-cpl": false, + "tbm": false, + "ia64": false, + "phe-en": false, + "f16c": false, + "ds": false, + "mpx": false, + "tsc-adjust": true, + "aes": false, + "avx2": false, + "pbe": false, + "cx16": true, + "ds_cpl": false, + "movbe": false, + "perfctr-nb": false, + "nrip_save": false, + "kvm_mmu": false, + "ospke": false, + "avx512ifma": false, + "vmx": false, + "sep": true, + "xsaveopt": false, + "sse4a": false, + "avx512dq": false, + "i64": true, + "avx512-4vnniw": false, + "xsave": false, + "erms": false, + "hle": false, + "nodeid_msr": false, + "est": false, + "svm_lock": false, + "xop": false, + "model-id": "Intel(R) Xeon(R) CPU W3520 @ 2.67GHz", + "abm": false, + "avx512er": false, + "sse4.1": true, + "sse4.2": true, + "pause-filter": false, + "lahf-lm": true, + "kvm-nopiodelay": true, + "cmp_legacy": false, + "acpi": false, + "fma4": false, + "popcnt": true, + "mmx": true, + "osxsave": false, + "pcommit": false, + "avx512pf": false, + "clwb": false, + "dca": false, + "pdcm": false, + "xcrypt-en": false, + "3dnow": false, + "invtsc": false, + "tm2": false, + "hypervisor": true, + "kvmclock-stable-bit": true, + "fxsr-opt": false, + "pcid": false, + "sse4-1": true, + "sse4-2": true, + "avx512-vpopcntdq": false, + "avx512-4fmaps": false, + "pause_filter": false, + "svm-lock": false, + "rdrand": false, + "nrip-save": false, + "avx512vl": false, + "x2apic": true, + "kvmclock": true, + "pge": true, + "family": 6, + "dtes64": false, + "xd": true, + "kvm_pv_eoi": true, + "ace2": false, + "kvm_pv_unhalt": true, + "xtpr": false, + "perfctr_nb": false, + "avx512bw": false, + "nx": true, + "lwp": false, + "msr": true, + "ace2-en": false, + "decodeassists": false, + "perfctr-core": false, + "pn": false, + "fma": false, + "nodeid-msr": false, + "kvm_asyncpf": true, + "clflush": true, + "cx8": true, + "mce": true, + "avx512cd": false, + "cr8legacy": false, + "mca": true, + "pni": true, + "rdseed": false, + "apic": true, + "fsgsbase": false, + "cmp-legacy": false, + "kvm-pv-unhalt": true, + "rdtscp": true, + "mmxext": false, + "cid": false, + "ssse3": true, + "extapic": false, + "pse36": true, + "mtrr": true, + "ibs": false, + "la57": false, + "avx": false, + "syscall": true, + "umip": false, + "invpcid": false, + "avx512vbmi": false, + "kvm-asyncpf": true, + "vmcb-clean": false, + "pmm": false, + "cmov": true, + "perfctr_core": false, + "misalignsse": false, + "clflushopt": false, + "pat": true, + "lbrv": false, + "3dnowprefetch": false, + "fpu": true, + "pae": true, + "wdt": false, + "tsc_scale": false, + "skinit": false, + "fxsr_opt": false, + "kvm_nopiodelay": true, + "pmm-en": false, + "phe": false, + "3dnowext": false, + "osvw": false, + "ht": false, + "pdpe1gb": false, + "kvm-pv-eoi": true, + "npt": false, + "xsavec": false, + "lahf_lm": true, + "pclmulqdq": false, + "svm": false, + "sse3": true, + "sse2": true, + "ss": true, + "topoext": false, + "smx": false, + "bmi1": false, + "bmi2": false, + "xsaves": false, + "model": 26 + } + } + }, + "id": "model-expansion" +} --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.25 as permitted sender) client-ip=209.132.183.25; envelope-from=libvir-list-bounces@redhat.com; helo=mx4-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.25 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by mx.zohomail.com with SMTPS id 1487859802963515.9921907131758; Thu, 23 Feb 2017 06:23:22 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEKA9T004369; Thu, 23 Feb 2017 09:20:10 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFWvw022408 for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFVwJ011390 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 8E6211036B1; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:23 +0100 Message-Id: <1dbe90b6b4bf4f2adc8643816340f4533c0b16d7.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 25/28] cputest: Test virQEMUCapsInitCPUModel X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The original test didn't use family/model numbers to make better decisions about the CPU model and thus mis-detected the model in the two cases which are modified in this commit. The detected CPU models now match those obtained from raw CPUID data. Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - updated test results to include vendors tests/cputest.c | 28 +++++++++++++++---= ---- tests/cputestdata/x86_64-cpuid-A10-5800K-json.xml | 1 + .../cputestdata/x86_64-cpuid-Core-i5-2500-json.xml | 1 + .../x86_64-cpuid-Core-i5-2540M-json.xml | 1 + .../x86_64-cpuid-Core-i5-4670T-json.xml | 1 + .../cputestdata/x86_64-cpuid-Core-i5-6600-json.xml | 1 + .../cputestdata/x86_64-cpuid-Core-i7-2600-json.xml | 1 + .../x86_64-cpuid-Core-i7-3740QM-json.xml | 1 + .../cputestdata/x86_64-cpuid-Core-i7-3770-json.xml | 1 + .../x86_64-cpuid-Core-i7-4600U-json.xml | 1 + .../x86_64-cpuid-Core-i7-5600U-json.xml | 12 ++++++---- .../cputestdata/x86_64-cpuid-Core2-E6850-json.xml | 5 ++-- .../cputestdata/x86_64-cpuid-Opteron-2350-json.xml | 1 + .../cputestdata/x86_64-cpuid-Opteron-6234-json.xml | 1 + tests/cputestdata/x86_64-cpuid-Phenom-B95-json.xml | 1 + .../cputestdata/x86_64-cpuid-Xeon-E3-1245-json.xml | 1 + .../cputestdata/x86_64-cpuid-Xeon-E5-2630-json.xml | 1 + .../cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml | 1 + .../cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml | 1 + tests/cputestdata/x86_64-cpuid-Xeon-W3520-json.xml | 1 + 20 files changed, 48 insertions(+), 14 deletions(-) diff --git a/tests/cputest.c b/tests/cputest.c index c0a816b60..8c16fb95c 100644 --- a/tests/cputest.c +++ b/tests/cputest.c @@ -43,7 +43,9 @@ #if WITH_QEMU && WITH_YAJL # include "testutilsqemu.h" # include "qemumonitortestutils.h" -# include "qemu/qemu_monitor_json.h" +# define __QEMU_CAPSRIV_H_ALLOW__ +# include "qemu/qemu_capspriv.h" +# undef __QEMU_CAPSRIV_H_ALLOW__ #endif =20 #define VIR_FROM_THIS VIR_FROM_CPU @@ -517,14 +519,15 @@ static int cpuTestJSONCPUID(const void *arg) { const struct data *data =3D arg; - virCPUDataPtr cpuData =3D NULL; + qemuMonitorCPUModelInfoPtr model =3D NULL; + virQEMUCapsPtr qemuCaps =3D NULL; virCPUDefPtr cpu =3D NULL; qemuMonitorTestPtr testMon =3D NULL; char *json =3D NULL; char *result =3D NULL; int ret =3D -1; =20 - if (virAsprintf(&json, "%s/cputestdata/%s-cpuid-%s.json", + if (virAsprintf(&json, "%s/cputestdata/%s-cpuid-%s.json.new", abs_srcdir, virArchToString(data->arch), data->host) <= 0 || virAsprintf(&result, "cpuid-%s-json", data->host) < 0) goto cleanup; @@ -532,26 +535,35 @@ cpuTestJSONCPUID(const void *arg) if (!(testMon =3D qemuMonitorTestNewFromFile(json, driver.xmlopt, true= ))) goto cleanup; =20 - if (qemuMonitorJSONGetCPUx86Data(qemuMonitorTestGetMonitor(testMon), - "feature-words", &cpuData) < 0) + if (qemuMonitorGetCPUModelExpansion(qemuMonitorTestGetMonitor(testMon), + QEMU_MONITOR_CPU_MODEL_EXPANSION_S= TATIC, + "host", &model) < 0) goto cleanup; =20 + if (!(qemuCaps =3D virQEMUCapsNew())) + goto cleanup; + + virQEMUCapsSetArch(qemuCaps, data->arch); + virQEMUCapsSetCPUModelInfo(qemuCaps, VIR_DOMAIN_VIRT_KVM, model); + model =3D NULL; + if (VIR_ALLOC(cpu) < 0) goto cleanup; =20 - cpu->arch =3D cpuData->arch; + cpu->arch =3D data->arch; cpu->type =3D VIR_CPU_TYPE_GUEST; cpu->match =3D VIR_CPU_MATCH_EXACT; cpu->fallback =3D VIR_CPU_FALLBACK_FORBID; =20 - if (cpuDecode(cpu, cpuData, NULL, 0, NULL) < 0) + if (virQEMUCapsInitCPUModel(qemuCaps, VIR_DOMAIN_VIRT_KVM, cpu) !=3D 0) goto cleanup; =20 ret =3D cpuTestCompareXML(data->arch, cpu, result, false); =20 cleanup: + qemuMonitorCPUModelInfoFree(model); + virObjectUnref(qemuCaps); qemuMonitorTestFree(testMon); - virCPUDataFree(cpuData); virCPUDefFree(cpu); VIR_FREE(result); VIR_FREE(json); diff --git a/tests/cputestdata/x86_64-cpuid-A10-5800K-json.xml b/tests/cput= estdata/x86_64-cpuid-A10-5800K-json.xml index 7a38f0fd4..c021fcddf 100644 --- a/tests/cputestdata/x86_64-cpuid-A10-5800K-json.xml +++ b/tests/cputestdata/x86_64-cpuid-A10-5800K-json.xml @@ -1,6 +1,7 @@ x86_64 Opteron_G5 + AMD diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-json.xml b/tests/c= putestdata/x86_64-cpuid-Core-i5-2500-json.xml index 980cf74a0..2e2430e78 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2500-json.xml @@ -1,6 +1,7 @@ x86_64 SandyBridge + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-json.xml b/tests/= cputestdata/x86_64-cpuid-Core-i5-2540M-json.xml index 980cf74a0..2e2430e78 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-json.xml @@ -1,6 +1,7 @@ x86_64 SandyBridge + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-json.xml b/tests/= cputestdata/x86_64-cpuid-Core-i5-4670T-json.xml index c93688b89..cf23f59d7 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-json.xml @@ -1,6 +1,7 @@ x86_64 Haswell + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-json.xml b/tests/c= putestdata/x86_64-cpuid-Core-i5-6600-json.xml index 171b482c3..e768aa674 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-json.xml @@ -1,6 +1,7 @@ x86_64 Skylake-Client + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-json.xml b/tests/c= putestdata/x86_64-cpuid-Core-i7-2600-json.xml index 27d9f3580..4e721aba4 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-json.xml @@ -1,6 +1,7 @@ x86_64 SandyBridge + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-json.xml b/tests= /cputestdata/x86_64-cpuid-Core-i7-3740QM-json.xml index 9adeecc80..03c22de4b 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-json.xml @@ -1,6 +1,7 @@ x86_64 IvyBridge + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-json.xml b/tests/c= putestdata/x86_64-cpuid-Core-i7-3770-json.xml index a70ae4866..c1544afd3 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-json.xml @@ -1,6 +1,7 @@ x86_64 IvyBridge + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-json.xml b/tests/= cputestdata/x86_64-cpuid-Core-i7-4600U-json.xml index 5fa3146a7..8e4e9d96a 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-json.xml @@ -1,6 +1,7 @@ x86_64 Haswell-noTSX + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml b/tests/= cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml index 159797178..be11fa061 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml @@ -1,12 +1,16 @@ x86_64 - Skylake-Client + Broadwell + Intel + + + + + - - - + diff --git a/tests/cputestdata/x86_64-cpuid-Core2-E6850-json.xml b/tests/cp= utestdata/x86_64-cpuid-Core2-E6850-json.xml index ddd730735..8950119a1 100644 --- a/tests/cputestdata/x86_64-cpuid-Core2-E6850-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core2-E6850-json.xml @@ -1,11 +1,12 @@ x86_64 - Penryn + Conroe + Intel + - diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-2350-json.xml b/tests/c= putestdata/x86_64-cpuid-Opteron-2350-json.xml index be4cf5c74..302d6562c 100644 --- a/tests/cputestdata/x86_64-cpuid-Opteron-2350-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Opteron-2350-json.xml @@ -1,6 +1,7 @@ x86_64 Opteron_G3 + AMD diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-6234-json.xml b/tests/c= putestdata/x86_64-cpuid-Opteron-6234-json.xml index 2e28342fd..cc8918661 100644 --- a/tests/cputestdata/x86_64-cpuid-Opteron-6234-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Opteron-6234-json.xml @@ -1,6 +1,7 @@ x86_64 Opteron_G4 + AMD diff --git a/tests/cputestdata/x86_64-cpuid-Phenom-B95-json.xml b/tests/cpu= testdata/x86_64-cpuid-Phenom-B95-json.xml index c1070de74..d4605263b 100644 --- a/tests/cputestdata/x86_64-cpuid-Phenom-B95-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Phenom-B95-json.xml @@ -1,6 +1,7 @@ x86_64 Opteron_G3 + AMD diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-json.xml b/tests/c= putestdata/x86_64-cpuid-Xeon-E3-1245-json.xml index 7a8246e5c..e0e060691 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-json.xml @@ -1,6 +1,7 @@ x86_64 Skylake-Client + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-json.xml b/tests/c= putestdata/x86_64-cpuid-Xeon-E5-2630-json.xml index 6b4edc389..ec5f56205 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-json.xml @@ -1,6 +1,7 @@ x86_64 Haswell-noTSX + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml b/tests/c= putestdata/x86_64-cpuid-Xeon-E5-2650-json.xml index 36b7bf20f..6e4aff07a 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml @@ -1,6 +1,7 @@ x86_64 Haswell-noTSX + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml b/tests/c= putestdata/x86_64-cpuid-Xeon-E7-4820-json.xml index ff6ab65d9..cb69ff56f 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml @@ -1,6 +1,7 @@ x86_64 SandyBridge + Intel diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-json.xml b/tests/cpu= testdata/x86_64-cpuid-Xeon-W3520-json.xml index 1aadbf3d2..348bef829 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-W3520-json.xml @@ -1,6 +1,7 @@ x86_64 Nehalem + Intel --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.25 as permitted sender) client-ip=209.132.183.25; envelope-from=libvir-list-bounces@redhat.com; helo=mx4-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.25 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by mx.zohomail.com with SMTPS id 1487860017078877.2100972396821; Thu, 23 Feb 2017 06:26:57 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEMjGX004795; Thu, 23 Feb 2017 09:22:45 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFWYv022424 for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by smtp.corp.redhat.com (Postfix) id CDDC61FC845; Thu, 23 Feb 2017 14:15:32 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2B55C1FC843 for ; Thu, 23 Feb 2017 14:15:32 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 91529103D64; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:24 +0100 Message-Id: <6f9e94a7b3c58246ef29347f2b230fce0ef71153.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 26/28] cputest: Drop obsolete CPU test data files X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - no change tests/cputestdata/x86_64-cpuid-A10-5800K.json | 77 ------------------- tests/cputestdata/x86_64-cpuid-Core-i5-2500.json | 88 ------------------= ---- tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json | 82 ------------------= -- tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json | 77 ------------------- tests/cputestdata/x86_64-cpuid-Core-i5-6600.json | 82 ------------------= -- tests/cputestdata/x86_64-cpuid-Core-i7-2600.json | 77 ------------------- tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json | 77 ------------------- tests/cputestdata/x86_64-cpuid-Core-i7-3770.json | 77 ------------------- tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json | 82 ------------------= -- tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json | 88 ------------------= ---- tests/cputestdata/x86_64-cpuid-Core2-E6850.json | 77 ------------------- tests/cputestdata/x86_64-cpuid-Opteron-2350.json | 71 ----------------- tests/cputestdata/x86_64-cpuid-Opteron-6234.json | 88 ------------------= ---- tests/cputestdata/x86_64-cpuid-Phenom-B95.json | 77 ------------------- tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json | 88 ------------------= ---- tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json | 77 ------------------- tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json | 71 ----------------- tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json | 77 ------------------- tests/cputestdata/x86_64-cpuid-Xeon-W3520.json | 77 ------------------- 19 files changed, 1510 deletions(-) delete mode 100644 tests/cputestdata/x86_64-cpuid-A10-5800K.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2500.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-6600.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-2600.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3770.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Core2-E6850.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-2350.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-6234.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Phenom-B95.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json delete mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-W3520.json diff --git a/tests/cputestdata/x86_64-cpuid-A10-5800K.json b/tests/cputestd= ata/x86_64-cpuid-A10-5800K.json deleted file mode 100644 index 53b39ad03..000000000 --- a/tests/cputestdata/x86_64-cpuid-A10-5800K.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 9 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 2165747 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 642779136 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 10 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 3065524739 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 126614527 - } - ], - "id": "feature-words" -} - -{ - "return": 21, - "id": "family" -} - -{ - "return": 16, - "id": "model" -} - -{ - "return": 1, - "id": "stepping" -} - -{ - "return": "AMD A10-5800K APU with Radeon(tm) HD Graphics ", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2500.json b/tests/cpute= stdata/x86_64-cpuid-Core-i5-2500.json deleted file mode 100644 index 156b77248..000000000 --- a/tests/cputestdata/x86_64-cpuid-Core-i5-2500.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-eax": 6, - "features": 4 - }, - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 672139264 - }, - { - "cpuid-register": "ECX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 0 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 2 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 2545558019 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 42, - "id": "model" -} - -{ - "return": 7, - "id": "stepping" -} - -{ - "return": " Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json b/tests/cput= estdata/x86_64-cpuid-Core-i5-2540M.json deleted file mode 100644 index 6dc2a803a..000000000 --- a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-eax": 6, - "features": 4 - }, - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 672139264 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 2 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 2545558019 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 42, - "id": "model" -} - -{ - "return": 7, - "id": "stepping" -} - -{ - "return": " Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json b/tests/cput= estdata/x86_64-cpuid-Core-i5-4670T.json deleted file mode 100644 index e715ca082..000000000 --- a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 33 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 739248128 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 4027 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 4160369187 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 60, - "id": "model" -} - -{ - "return": 3, - "id": "stepping" -} - -{ - "return": "Intel(R) Core(TM) i5-4670T CPU @ 2.30GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600.json b/tests/cpute= stdata/x86_64-cpuid-Core-i5-6600.json deleted file mode 100644 index da296f945..000000000 --- a/tests/cputestdata/x86_64-cpuid-Core-i5-6600.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-eax": 6, - "features": 4 - }, - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 15 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 289 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 739248128 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 10244027 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 4160369155 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 94, - "id": "model" -} - -{ - "return": 3, - "id": "stepping" -} - -{ - "return": "Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600.json b/tests/cpute= stdata/x86_64-cpuid-Core-i7-2600.json deleted file mode 100644 index dd3544900..000000000 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 672139264 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 2 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 2545558019 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 42, - "id": "model" -} - -{ - "return": 7, - "id": "stepping" -} - -{ - "return": " Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json b/tests/cpu= testdata/x86_64-cpuid-Core-i7-3740QM.json deleted file mode 100644 index 2b1349f17..000000000 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 672139264 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 643 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 4156170787 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 58, - "id": "model" -} - -{ - "return": 9, - "id": "stepping" -} - -{ - "return": " Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3770.json b/tests/cpute= stdata/x86_64-cpuid-Core-i7-3770.json deleted file mode 100644 index d83e7788b..000000000 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-3770.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 672139264 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 643 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 4156170755 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 58, - "id": "model" -} - -{ - "return": 9, - "id": "stepping" -} - -{ - "return": " Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json b/tests/cput= estdata/x86_64-cpuid-Core-i7-4600U.json deleted file mode 100644 index 2b15fadfd..000000000 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-eax": 6, - "features": 4 - }, - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 33 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 739248128 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 1963 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 4160369187 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 69, - "id": "model" -} - -{ - "return": 1, - "id": "stepping" -} - -{ - "return": "Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json b/tests/cput= estdata/x86_64-cpuid-Core-i7-5600U.json deleted file mode 100644 index b570d46b7..000000000 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-eax": 6, - "features": 4 - }, - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 289 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 739248128 - }, - { - "cpuid-register": "ECX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 0 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 1839035 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 4160369187 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 61, - "id": "model" -} - -{ - "return": 4, - "id": "stepping" -} - -{ - "return": "Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Core2-E6850.json b/tests/cputes= tdata/x86_64-cpuid-Core2-E6850.json deleted file mode 100644 index 44be368f7..000000000 --- a/tests/cputestdata/x86_64-cpuid-Core2-E6850.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 537921536 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 2 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 2166366721 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 15, - "id": "model" -} - -{ - "return": 11, - "id": "stepping" -} - -{ - "return": "Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-2350.json b/tests/cpute= stdata/x86_64-cpuid-Opteron-2350.json deleted file mode 100644 index 79b5afad0..000000000 --- a/tests/cputestdata/x86_64-cpuid-Opteron-2350.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 1 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 1015 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 3864004608 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 2174754817 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 126614527 - } - ], - "id": "feature-words" -} - -{ - "return": 16, - "id": "family" -} - -{ - "return": 2, - "id": "model" -} - -{ - "return": 3, - "id": "stepping" -} - -{ - "return": "Quad-Core AMD Opteron(tm) Processor 2350", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-6234.json b/tests/cpute= stdata/x86_64-cpuid-Opteron-6234.json deleted file mode 100644 index 0df386076..000000000 --- a/tests/cputestdata/x86_64-cpuid-Opteron-6234.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-eax": 6, - "features": 4 - }, - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 9 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 68595 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 668204031 - }, - { - "cpuid-register": "ECX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 0 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 2 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 2545426947 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 126614527 - } - ], - "id": "feature-words" -} - -{ - "return": 21, - "id": "family" -} - -{ - "return": 1, - "id": "model" -} - -{ - "return": 2, - "id": "stepping" -} - -{ - "return": "AMD Opteron(TM) Processor 6234 ", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Phenom-B95.json b/tests/cputest= data/x86_64-cpuid-Phenom-B95.json deleted file mode 100644 index 5f5badda9..000000000 --- a/tests/cputestdata/x86_64-cpuid-Phenom-B95.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 9 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 1011 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 3862956032 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 2157977601 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 126614527 - } - ], - "id": "feature-words" -} - -{ - "return": 16, - "id": "family" -} - -{ - "return": 4, - "id": "model" -} - -{ - "return": 2, - "id": "stepping" -} - -{ - "return": "AMD Phenom(tm) II X4 B95 Processor", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json b/tests/cpute= stdata/x86_64-cpuid-Xeon-E3-1245.json deleted file mode 100644 index 10fbe069f..000000000 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-eax": 6, - "features": 4 - }, - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 7 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 289 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 739248128 - }, - { - "cpuid-register": "ECX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 0 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 10244027 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 4160369187 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 94, - "id": "model" -} - -{ - "return": 3, - "id": "stepping" -} - -{ - "return": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json b/tests/cpute= stdata/x86_64-cpuid-Xeon-E5-2630.json deleted file mode 100644 index f1affa46b..000000000 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 33 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 739248128 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 1963 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 4160369155 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 63, - "id": "model" -} - -{ - "return": 2, - "id": "stepping" -} - -{ - "return": "Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json b/tests/cpute= stdata/x86_64-cpuid-Xeon-E5-2650.json deleted file mode 100644 index 2cd15f64b..000000000 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 33 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 739248128 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 1961 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 4160369187 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 63, - "id": "model" -} - -{ - "return": 2, - "id": "stepping" -} - -{ - "return": "Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json b/tests/cpute= stdata/x86_64-cpuid-Xeon-E7-4820.json deleted file mode 100644 index a8846132e..000000000 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 739248128 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 2 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 2210013699 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 47, - "id": "model" -} - -{ - "return": 2, - "id": "stepping" -} - -{ - "return": " Intel(R) Xeon(R) CPU E7- 4820 @ 2.00GHz", - "id": "model-id" -} diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-W3520.json b/tests/cputest= data/x86_64-cpuid-Xeon-W3520.json deleted file mode 100644 index c75594d4e..000000000 --- a/tests/cputestdata/x86_64-cpuid-Xeon-W3520.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "return": [ - { - "cpuid-register": "EAX", - "cpuid-input-ecx": 1, - "cpuid-input-eax": 13, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483658, - "features": 0 - }, - { - "cpuid-register": "EAX", - "cpuid-input-eax": 1073741825, - "features": 16777467 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 3221225473, - "features": 0 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483655, - "features": 0 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 2147483649, - "features": 1 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 2147483649, - "features": 672139264 - }, - { - "cpuid-register": "EBX", - "cpuid-input-ecx": 0, - "cpuid-input-eax": 7, - "features": 2 - }, - { - "cpuid-register": "ECX", - "cpuid-input-eax": 1, - "features": 2159550977 - }, - { - "cpuid-register": "EDX", - "cpuid-input-eax": 1, - "features": 260832255 - } - ], - "id": "feature-words" -} - -{ - "return": 6, - "id": "family" -} - -{ - "return": 26, - "id": "model" -} - -{ - "return": 5, - "id": "stepping" -} - -{ - "return": "Intel(R) Xeon(R) CPU W3520 @ 2.67GHz", - "id": "model-id" -} --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.25 as permitted sender) client-ip=209.132.183.25; envelope-from=libvir-list-bounces@redhat.com; helo=mx4-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.25 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by mx.zohomail.com with SMTPS id 1487859887616160.6861968026534; Thu, 23 Feb 2017 06:24:47 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NELRae004718; Thu, 23 Feb 2017 09:21:27 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFWru022402 for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1NEFV31000745 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 9388710412B; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:25 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 27/28] cputest: Drop .new suffix from CPU test data files X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - no change tests/cputest.c | = 2 +- .../{x86_64-cpuid-A10-5800K.json.new =3D> x86_64-cpuid-A10-5800K.json} = | 0 ...86_64-cpuid-Core-i5-2500.json.new =3D> x86_64-cpuid-Core-i5-2500.json} = | 0 ..._64-cpuid-Core-i5-2540M.json.new =3D> x86_64-cpuid-Core-i5-2540M.json} = | 0 ..._64-cpuid-Core-i5-4670T.json.new =3D> x86_64-cpuid-Core-i5-4670T.json} = | 0 ...86_64-cpuid-Core-i5-6600.json.new =3D> x86_64-cpuid-Core-i5-6600.json} = | 0 ...86_64-cpuid-Core-i7-2600.json.new =3D> x86_64-cpuid-Core-i7-2600.json} = | 0 ...4-cpuid-Core-i7-3740QM.json.new =3D> x86_64-cpuid-Core-i7-3740QM.json} = | 0 ...86_64-cpuid-Core-i7-3770.json.new =3D> x86_64-cpuid-Core-i7-3770.json} = | 0 ..._64-cpuid-Core-i7-4600U.json.new =3D> x86_64-cpuid-Core-i7-4600U.json} = | 0 ..._64-cpuid-Core-i7-5600U.json.new =3D> x86_64-cpuid-Core-i7-5600U.json} = | 0 ...{x86_64-cpuid-Core2-E6850.json.new =3D> x86_64-cpuid-Core2-E6850.json} = | 0 ...86_64-cpuid-Opteron-2350.json.new =3D> x86_64-cpuid-Opteron-2350.json} = | 0 ...86_64-cpuid-Opteron-6234.json.new =3D> x86_64-cpuid-Opteron-6234.json} = | 0 .../{x86_64-cpuid-Phenom-B95.json.new =3D> x86_64-cpuid-Phenom-B95.json} = | 0 ...86_64-cpuid-Xeon-E3-1245.json.new =3D> x86_64-cpuid-Xeon-E3-1245.json} = | 0 ...86_64-cpuid-Xeon-E5-2630.json.new =3D> x86_64-cpuid-Xeon-E5-2630.json} = | 0 ...86_64-cpuid-Xeon-E5-2650.json.new =3D> x86_64-cpuid-Xeon-E5-2650.json} = | 0 ...86_64-cpuid-Xeon-E7-4820.json.new =3D> x86_64-cpuid-Xeon-E7-4820.json} = | 0 .../{x86_64-cpuid-Xeon-W3520.json.new =3D> x86_64-cpuid-Xeon-W3520.json} = | 0 20 files changed, 1 insertion(+), 1 deletion(-) rename tests/cputestdata/{x86_64-cpuid-A10-5800K.json.new =3D> x86_64-cpui= d-A10-5800K.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Core-i5-2500.json.new =3D> x86_64-c= puid-Core-i5-2500.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Core-i5-2540M.json.new =3D> x86_64-= cpuid-Core-i5-2540M.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Core-i5-4670T.json.new =3D> x86_64-= cpuid-Core-i5-4670T.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Core-i5-6600.json.new =3D> x86_64-c= puid-Core-i5-6600.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Core-i7-2600.json.new =3D> x86_64-c= puid-Core-i7-2600.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Core-i7-3740QM.json.new =3D> x86_64= -cpuid-Core-i7-3740QM.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Core-i7-3770.json.new =3D> x86_64-c= puid-Core-i7-3770.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Core-i7-4600U.json.new =3D> x86_64-= cpuid-Core-i7-4600U.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Core-i7-5600U.json.new =3D> x86_64-= cpuid-Core-i7-5600U.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Core2-E6850.json.new =3D> x86_64-cp= uid-Core2-E6850.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Opteron-2350.json.new =3D> x86_64-c= puid-Opteron-2350.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Opteron-6234.json.new =3D> x86_64-c= puid-Opteron-6234.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Phenom-B95.json.new =3D> x86_64-cpu= id-Phenom-B95.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Xeon-E3-1245.json.new =3D> x86_64-c= puid-Xeon-E3-1245.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Xeon-E5-2630.json.new =3D> x86_64-c= puid-Xeon-E5-2630.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Xeon-E5-2650.json.new =3D> x86_64-c= puid-Xeon-E5-2650.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Xeon-E7-4820.json.new =3D> x86_64-c= puid-Xeon-E7-4820.json} (100%) rename tests/cputestdata/{x86_64-cpuid-Xeon-W3520.json.new =3D> x86_64-cpu= id-Xeon-W3520.json} (100%) diff --git a/tests/cputest.c b/tests/cputest.c index 8c16fb95c..b7dd95d84 100644 --- a/tests/cputest.c +++ b/tests/cputest.c @@ -527,7 +527,7 @@ cpuTestJSONCPUID(const void *arg) char *result =3D NULL; int ret =3D -1; =20 - if (virAsprintf(&json, "%s/cputestdata/%s-cpuid-%s.json.new", + if (virAsprintf(&json, "%s/cputestdata/%s-cpuid-%s.json", abs_srcdir, virArchToString(data->arch), data->host) <= 0 || virAsprintf(&result, "cpuid-%s-json", data->host) < 0) goto cleanup; diff --git a/tests/cputestdata/x86_64-cpuid-A10-5800K.json.new b/tests/cput= estdata/x86_64-cpuid-A10-5800K.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-A10-5800K.json.new rename to tests/cputestdata/x86_64-cpuid-A10-5800K.json diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2500.json.new b/tests/c= putestdata/x86_64-cpuid-Core-i5-2500.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Core-i5-2500.json.new rename to tests/cputestdata/x86_64-cpuid-Core-i5-2500.json diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json.new b/tests/= cputestdata/x86_64-cpuid-Core-i5-2540M.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json.new rename to tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json.new b/tests/= cputestdata/x86_64-cpuid-Core-i5-4670T.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json.new rename to tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600.json.new b/tests/c= putestdata/x86_64-cpuid-Core-i5-6600.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Core-i5-6600.json.new rename to tests/cputestdata/x86_64-cpuid-Core-i5-6600.json diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600.json.new b/tests/c= putestdata/x86_64-cpuid-Core-i7-2600.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Core-i7-2600.json.new rename to tests/cputestdata/x86_64-cpuid-Core-i7-2600.json diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json.new b/tests= /cputestdata/x86_64-cpuid-Core-i7-3740QM.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json.new rename to tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3770.json.new b/tests/c= putestdata/x86_64-cpuid-Core-i7-3770.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Core-i7-3770.json.new rename to tests/cputestdata/x86_64-cpuid-Core-i7-3770.json diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json.new b/tests/= cputestdata/x86_64-cpuid-Core-i7-4600U.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json.new rename to tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json.new b/tests/= cputestdata/x86_64-cpuid-Core-i7-5600U.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json.new rename to tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json diff --git a/tests/cputestdata/x86_64-cpuid-Core2-E6850.json.new b/tests/cp= utestdata/x86_64-cpuid-Core2-E6850.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Core2-E6850.json.new rename to tests/cputestdata/x86_64-cpuid-Core2-E6850.json diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-2350.json.new b/tests/c= putestdata/x86_64-cpuid-Opteron-2350.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Opteron-2350.json.new rename to tests/cputestdata/x86_64-cpuid-Opteron-2350.json diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-6234.json.new b/tests/c= putestdata/x86_64-cpuid-Opteron-6234.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Opteron-6234.json.new rename to tests/cputestdata/x86_64-cpuid-Opteron-6234.json diff --git a/tests/cputestdata/x86_64-cpuid-Phenom-B95.json.new b/tests/cpu= testdata/x86_64-cpuid-Phenom-B95.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Phenom-B95.json.new rename to tests/cputestdata/x86_64-cpuid-Phenom-B95.json diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json.new b/tests/c= putestdata/x86_64-cpuid-Xeon-E3-1245.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json.new rename to tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json.new b/tests/c= putestdata/x86_64-cpuid-Xeon-E5-2630.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json.new rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json.new b/tests/c= putestdata/x86_64-cpuid-Xeon-E5-2650.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json.new rename to tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json.new b/tests/c= putestdata/x86_64-cpuid-Xeon-E7-4820.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json.new rename to tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-W3520.json.new b/tests/cpu= testdata/x86_64-cpuid-Xeon-W3520.json similarity index 100% rename from tests/cputestdata/x86_64-cpuid-Xeon-W3520.json.new rename to tests/cputestdata/x86_64-cpuid-Xeon-W3520.json --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun Apr 28 23:18:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) client-ip=209.132.183.24; envelope-from=libvir-list-bounces@redhat.com; helo=mx3-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.24 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by mx.zohomail.com with SMTPS id 1487859830319964.5291129545739; Thu, 23 Feb 2017 06:23:50 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEKlDU030552; Thu, 23 Feb 2017 09:20:47 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1NEFWN1022393 for ; Thu, 23 Feb 2017 09:15:32 -0500 Received: by smtp.corp.redhat.com (Postfix) id 61EF41FC847; Thu, 23 Feb 2017 14:15:32 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3596E1FC846 for ; Thu, 23 Feb 2017 14:15:32 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 9499010501F; Thu, 23 Feb 2017 15:15:27 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 23 Feb 2017 15:15:26 +0100 Message-Id: <67eaaccfde4def43b5934fc71629eb64aa1f23df.1487858696.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 28/28] news: Detect host CPU model by asking QEMU on x86_64 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- Notes: Version 3: - no change =20 Version 2: - no change docs/news.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/news.xml b/docs/news.xml index 74dfe9add..355dfa7b7 100644 --- a/docs/news.xml +++ b/docs/news.xml @@ -130,6 +130,17 @@ driver with all backends which may pull in too many dependencies. + + + qemu: Detect host CPU model by asking QEMU on x86_64 + + + Previously, libvirt detected the host CPU model using CPUID + instruction, which cased libvirt to detect a lot of CPU features + that are not supported by QEMU/KVM. Asking QEMU makes sure we + don't ask for unsupported features. + +
--=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list