From nobody Fri Apr 19 21:52:11 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 1487177724378186.32885757988072; Wed, 15 Feb 2017 08:55:24 -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 v1FGjPtw019187; Wed, 15 Feb 2017 11:45:25 -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 v1FGjAPG025576 for ; Wed, 15 Feb 2017 11:45:10 -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 v1FGj8YA021856 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:10 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 15699100367; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:35 +0100 Message-Id: <361a61ef9e559da9a80a3a9fc739a19c6abc6eef.1487176962.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 v2 01/33] docs: Drop obsolete statement about CPU modes and migration 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 guest CPU definition has always been updated automatically during migration. And currently we just transform any host-model CPU into a custom one when a domain starts. Signed-off-by: Jiri Denemark --- Notes: Version 2: - no change docs/formatdomain.html.in | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 0a115f5dc..bc125ed63 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -1307,16 +1307,6 @@ a migration is attempted then the guest may hang or crash upon resuming execution on the destination host. - - In both host-model and host-passthrough - mode, the real (approximate in host-passthrough mode)= CPU - definition which would be used on current host can be determined by - specifying VIR_DOMAIN_XML_UPDATE_CPU flag when calling - virDomainGetXMLDesc API. When running a guest that mi= ght - be prone to operating system reactivation when presented with - different hardware, and which will be migrated between hosts with - different capabilities, you can use this output to rewrite XML to = the - custom mode for more robust migration. =20
model
--=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 21:52:11 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 1487177661201931.7710696847732; Wed, 15 Feb 2017 08:54:21 -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 v1FGjA8D027957; Wed, 15 Feb 2017 11:45:11 -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 v1FGj9d9025566 for ; Wed, 15 Feb 2017 11:45:09 -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 v1FGj8RZ010151 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:09 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 170B0104124; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:36 +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 v2 02/33] docs: Fix since statement in host-model documentation 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 2: - no change docs/formatdomain.html.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index bc125ed63..294d3c467 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -1282,7 +1282,7 @@ 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 + 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 host-model to signify a guest mode CPU running in --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 21:52:11 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 1487177775328954.4986252776956; Wed, 15 Feb 2017 08:56: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 v1FGjDv4019164; Wed, 15 Feb 2017 11:45:13 -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 v1FGjBSk025589 for ; Wed, 15 Feb 2017 11:45:11 -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 v1FGj8kZ021640 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:09 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 1B1E310501F; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:37 +0100 Message-Id: <50916356bc2e41036baf22722e71cc2bbab3e9d7.1487176962.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 v2 03/33] qemucapstest: 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: Generated from Eduardo's work/x86-query-cpu-expansion-full branch. =20 Version 2: - no change .../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 14710 +++++++++++++++= ++++ tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 468 + tests/qemucapabilitiestest.c | 1 + 3 files changed, 15179 insertions(+) create mode 100644 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies create mode 100644 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_2.9.0.x86_64.replies new file mode 100644 index 000000000..8d54788df --- /dev/null +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies @@ -0,0 +1,14710 @@ +{ + "QMP": { + "version": { + "qemu": { + "micro": 50, + "minor": 8, + "major": 2 + }, + "package": " (v2.8.0-877-g38e4b757b4)" + }, + "capabilities": [ + ] + } +} + +{ + "return": { + }, + "id": "libvirt-1" +} + +{ + "return": { + "qemu": { + "micro": 50, + "minor": 8, + "major": 2 + }, + "package": " (v2.8.0-877-g38e4b757b4)" + }, + "id": "libvirt-2" +} + +{ + "return": { + "arch": "x86_64" + }, + "id": "libvirt-3" +} + +{ + "return": [ + { + "name": "xen-set-global-dirty-log" + }, + { + "name": "xen-save-devices-state" + }, + { + "name": "xen-load-devices-state" + }, + { + "name": "x-colo-lost-heartbeat" + }, + { + "name": "x-blockdev-remove-medium" + }, + { + "name": "x-blockdev-insert-medium" + }, + { + "name": "x-blockdev-del" + }, + { + "name": "x-blockdev-change" + }, + { + "name": "transaction" + }, + { + "name": "trace-event-set-state" + }, + { + "name": "trace-event-get-state" + }, + { + "name": "system_wakeup" + }, + { + "name": "system_reset" + }, + { + "name": "system_powerdown" + }, + { + "name": "stop" + }, + { + "name": "set_password" + }, + { + "name": "set_link" + }, + { + "name": "send-key" + }, + { + "name": "screendump" + }, + { + "name": "rtc-reset-reinjection" + }, + { + "name": "ringbuf-write" + }, + { + "name": "ringbuf-read" + }, + { + "name": "remove-fd" + }, + { + "name": "quit" + }, + { + "name": "query-vnc-servers" + }, + { + "name": "query-vnc" + }, + { + "name": "query-version" + }, + { + "name": "query-uuid" + }, + { + "name": "query-tpm-types" + }, + { + "name": "query-tpm-models" + }, + { + "name": "query-tpm" + }, + { + "name": "query-target" + }, + { + "name": "query-status" + }, + { + "name": "query-spice" + }, + { + "name": "query-rx-filter" + }, + { + "name": "query-rocker-ports" + }, + { + "name": "query-rocker-of-dpa-groups" + }, + { + "name": "query-rocker-of-dpa-flows" + }, + { + "name": "query-rocker" + }, + { + "name": "query-pci" + }, + { + "name": "query-named-block-nodes" + }, + { + "name": "query-name" + }, + { + "name": "query-migrate-parameters" + }, + { + "name": "query-migrate-capabilities" + }, + { + "name": "query-migrate-cache-size" + }, + { + "name": "query-migrate" + }, + { + "name": "query-mice" + }, + { + "name": "query-memory-devices" + }, + { + "name": "query-memdev" + }, + { + "name": "query-machines" + }, + { + "name": "query-kvm" + }, + { + "name": "query-iothreads" + }, + { + "name": "query-hotpluggable-cpus" + }, + { + "name": "query-fdsets" + }, + { + "name": "query-events" + }, + { + "name": "query-dump-guest-memory-capability" + }, + { + "name": "query-dump" + }, + { + "name": "query-cpus" + }, + { + "name": "query-cpu-model-expansion" + }, + { + "name": "query-cpu-definitions" + }, + { + "name": "query-commands" + }, + { + "name": "query-command-line-options" + }, + { + "name": "query-chardev-backends" + }, + { + "name": "query-chardev" + }, + { + "name": "query-blockstats" + }, + { + "name": "query-block-jobs" + }, + { + "name": "query-block" + }, + { + "name": "query-balloon" + }, + { + "name": "query-acpi-ospm-status" + }, + { + "name": "qom-set" + }, + { + "name": "qom-list-types" + }, + { + "name": "qom-list" + }, + { + "name": "qom-get" + }, + { + "name": "qmp_capabilities" + }, + { + "name": "pmemsave" + }, + { + "name": "object-del" + }, + { + "name": "object-add" + }, + { + "name": "netdev_del" + }, + { + "name": "nbd-server-stop" + }, + { + "name": "nbd-server-start" + }, + { + "name": "nbd-server-add" + }, + { + "name": "migrate_set_speed" + }, + { + "name": "migrate_set_downtime" + }, + { + "name": "migrate_cancel" + }, + { + "name": "migrate-start-postcopy" + }, + { + "name": "migrate-set-parameters" + }, + { + "name": "migrate-set-capabilities" + }, + { + "name": "migrate-set-cache-size" + }, + { + "name": "migrate-incoming" + }, + { + "name": "migrate" + }, + { + "name": "memsave" + }, + { + "name": "input-send-event" + }, + { + "name": "inject-nmi" + }, + { + "name": "human-monitor-command" + }, + { + "name": "getfd" + }, + { + "name": "expire_password" + }, + { + "name": "eject" + }, + { + "name": "dump-guest-memory" + }, + { + "name": "drive-mirror" + }, + { + "name": "drive-backup" + }, + { + "name": "device_del" + }, + { + "name": "device-list-properties" + }, + { + "name": "cpu-add" + }, + { + "name": "cpu" + }, + { + "name": "cont" + }, + { + "name": "closefd" + }, + { + "name": "client_migrate_info" + }, + { + "name": "chardev-remove" + }, + { + "name": "chardev-add" + }, + { + "name": "change-vnc-password" + }, + { + "name": "change-backing-file" + }, + { + "name": "change" + }, + { + "name": "blockdev-snapshot-sync" + }, + { + "name": "blockdev-snapshot-internal-sync" + }, + { + "name": "blockdev-snapshot-delete-internal-sync" + }, + { + "name": "blockdev-snapshot" + }, + { + "name": "blockdev-open-tray" + }, + { + "name": "blockdev-mirror" + }, + { + "name": "blockdev-close-tray" + }, + { + "name": "blockdev-change-medium" + }, + { + "name": "blockdev-backup" + }, + { + "name": "blockdev-add" + }, + { + "name": "block_set_io_throttle" + }, + { + "name": "block_resize" + }, + { + "name": "block_passwd" + }, + { + "name": "block-stream" + }, + { + "name": "block-set-write-threshold" + }, + { + "name": "block-job-set-speed" + }, + { + "name": "block-job-resume" + }, + { + "name": "block-job-pause" + }, + { + "name": "block-job-complete" + }, + { + "name": "block-job-cancel" + }, + { + "name": "block-dirty-bitmap-remove" + }, + { + "name": "block-dirty-bitmap-clear" + }, + { + "name": "block-dirty-bitmap-add" + }, + { + "name": "block-commit" + }, + { + "name": "balloon" + }, + { + "name": "add_client" + }, + { + "name": "add-fd" + }, + { + "name": "netdev_add" + }, + { + "name": "device_add" + }, + { + "name": "query-qmp-schema" + } + ], + "id": "libvirt-4" +} + +{ + "return": { + "fd": 16, + "fdset-id": 0 + }, + "id": "libvirt-5" +} + +{ + "id": "libvirt-6", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'bogus' not found" + } +} + +{ + "return": { + "enabled": true, + "present": true + }, + "id": "libvirt-7" +} + +{ + "return": [ + { + "name": "WATCHDOG" + }, + { + "name": "WAKEUP" + }, + { + "name": "VSERPORT_CHANGE" + }, + { + "name": "VNC_INITIALIZED" + }, + { + "name": "VNC_DISCONNECTED" + }, + { + "name": "VNC_CONNECTED" + }, + { + "name": "SUSPEND_DISK" + }, + { + "name": "SUSPEND" + }, + { + "name": "STOP" + }, + { + "name": "SPICE_MIGRATE_COMPLETED" + }, + { + "name": "SPICE_INITIALIZED" + }, + { + "name": "SPICE_DISCONNECTED" + }, + { + "name": "SPICE_CONNECTED" + }, + { + "name": "SHUTDOWN" + }, + { + "name": "RTC_CHANGE" + }, + { + "name": "RESUME" + }, + { + "name": "RESET" + }, + { + "name": "QUORUM_REPORT_BAD" + }, + { + "name": "QUORUM_FAILURE" + }, + { + "name": "POWERDOWN" + }, + { + "name": "NIC_RX_FILTER_CHANGED" + }, + { + "name": "MIGRATION_PASS" + }, + { + "name": "MIGRATION" + }, + { + "name": "MEM_UNPLUG_ERROR" + }, + { + "name": "GUEST_PANICKED" + }, + { + "name": "DUMP_COMPLETED" + }, + { + "name": "DEVICE_TRAY_MOVED" + }, + { + "name": "DEVICE_DELETED" + }, + { + "name": "BLOCK_WRITE_THRESHOLD" + }, + { + "name": "BLOCK_JOB_READY" + }, + { + "name": "BLOCK_JOB_ERROR" + }, + { + "name": "BLOCK_JOB_COMPLETED" + }, + { + "name": "BLOCK_JOB_CANCELLED" + }, + { + "name": "BLOCK_IO_ERROR" + }, + { + "name": "BLOCK_IMAGE_CORRUPTED" + }, + { + "name": "BALLOON_CHANGE" + }, + { + "name": "ACPI_DEVICE_OST" + } + ], + "id": "libvirt-8" +} + +{ + "return": [ + { + "name": "vhost-vsock-pci" + }, + { + "name": "xen-sysdev" + }, + { + "name": "virtio-tablet-pci" + }, + { + "name": "generic-sdhci" + }, + { + "name": "pc-0.13-machine" + }, + { + "name": "cfi.pflash01" + }, + { + "name": "i82551" + }, + { + "name": "i82550" + }, + { + "name": "Westmere-x86_64-cpu" + }, + { + "name": "pci-serial-4x" + }, + { + "name": "cryptodev-backend" + }, + { + "name": "Penryn-x86_64-cpu" + }, + { + "name": "Haswell-x86_64-cpu" + }, + { + "name": "iothread" + }, + { + "name": "pc-i440fx-2.9-machine" + }, + { + "name": "Skylake-Client-x86_64-cpu" + }, + { + "name": "virtio-gpu-device" + }, + { + "name": "Opteron_G3-x86_64-cpu" + }, + { + "name": "e1000e" + }, + { + "name": "Broadwell-x86_64-cpu" + }, + { + "name": "piix3-ide" + }, + { + "name": "floppy-bus" + }, + { + "name": "base-x86_64-cpu" + }, + { + "name": "isa-parallel" + }, + { + "name": "megasas" + }, + { + "name": "i2c-bus" + }, + { + "name": "pc-q35-2.4-machine" + }, + { + "name": "vhost-vsock-device" + }, + { + "name": "usb-braille" + }, + { + "name": "mptsas1068" + }, + { + "name": "vmware-svga" + }, + { + "name": "PIIX3-xen" + }, + { + "name": "ccid-bus" + }, + { + "name": "scsi-cd" + }, + { + "name": "pc-i440fx-2.0-machine" + }, + { + "name": "isa-serial" + }, + { + "name": "usb-ehci" + }, + { + "name": "container" + }, + { + "name": "filter-buffer" + }, + { + "name": "host-x86_64-cpu" + }, + { + "name": "pci-serial-2x" + }, + { + "name": "scsi-generic" + }, + { + "name": "piix4-ide" + }, + { + "name": "pc-1.0-machine" + }, + { + "name": "virtio-net-pci" + }, + { + "name": "hyperv-testdev" + }, + { + "name": "pc-dimm" + }, + { + "name": "pc-q35-2.8-machine" + }, + { + "name": "Haswell-noTSX-x86_64-cpu" + }, + { + "name": "pc-i440fx-2.1-machine" + }, + { + "name": "virtio-mouse-device" + }, + { + "name": "virtio-mouse-pci" + }, + { + "name": "isa-debugcon" + }, + { + "name": "AMDVI-PCI" + }, + { + "name": "ide-hd" + }, + { + "name": "virtio-vga" + }, + { + "name": "qemu64-x86_64-cpu" + }, + { + "name": "isa-ipmi-bt" + }, + { + "name": "rng-egd" + }, + { + "name": "isa-pcspk" + }, + { + "name": "isa-pit" + }, + { + "name": "pc-1.1-machine" + }, + { + "name": "ich9-usb-ehci2" + }, + { + "name": "ich9-usb-ehci1" + }, + { + "name": "pxb-host" + }, + { + "name": "pc-q35-2.9-machine" + }, + { + "name": "intel-iommu" + }, + { + "name": "irq" + }, + { + "name": "ipmi-bmc-sim" + }, + { + "name": "cirrus-vga" + }, + { + "name": "virtconsole" + }, + { + "name": "virtio-rng-pci" + }, + { + "name": "PCIE" + }, + { + "name": "vfio-amd-xgbe" + }, + { + "name": "pentium3-x86_64-cpu" + }, + { + "name": "qxl-vga" + }, + { + "name": "ioapic" + }, + { + "name": "kvm-pit" + }, + { + "name": "pc-i440fx-2.5-machine" + }, + { + "name": "filter-rewriter" + }, + { + "name": "qio-channel-buffer" + }, + { + "name": "vhost-scsi-pci" + }, + { + "name": "usb-kbd" + }, + { + "name": "xen-apic" + }, + { + "name": "xen-sysbus" + }, + { + "name": "usb-host" + }, + { + "name": "usb-bus" + }, + { + "name": "pc-i440fx-1.4-machine" + }, + { + "name": "PIIX3" + }, + { + "name": "486-x86_64-cpu" + }, + { + "name": "ES1370" + }, + { + "name": "gus" + }, + { + "name": "kvm-pci-assign" + }, + { + "name": "isa-applesmc" + }, + { + "name": "pc-i440fx-2.6-machine" + }, + { + "name": "xen-pci-passthrough" + }, + { + "name": "i82559er" + }, + { + "name": "q35-pcihost" + }, + { + "name": "usb-bt-dongle" + }, + { + "name": "e1000-82545em" + }, + { + "name": "e1000-82544gc" + }, + { + "name": "pc-i440fx-1.5-machine" + }, + { + "name": "or-irq" + }, + { + "name": "pc-0.14-machine" + }, + { + "name": "i6300esb" + }, + { + "name": "mc146818rtc" + }, + { + "name": "AC97" + }, + { + "name": "filter-redirector" + }, + { + "name": "PIIX4_PM" + }, + { + "name": "piix4-usb-uhci" + }, + { + "name": "sysbus-ahci" + }, + { + "name": "virtio-tablet-device" + }, + { + "name": "kvm-ioapic" + }, + { + "name": "pvpanic" + }, + { + "name": "core2duo-x86_64-cpu" + }, + { + "name": "tls-creds-x509" + }, + { + "name": "virtio-9p-pci" + }, + { + "name": "scsi-disk" + }, + { + "name": "vfio-pci-igd-lpc-bridge" + }, + { + "name": "sb16" + }, + { + "name": "qemu-console" + }, + { + "name": "pc-0.15-machine" + }, + { + "name": "usb-mouse" + }, + { + "name": "xenfv-machine" + }, + { + "name": "filter-dump" + }, + { + "name": "virtio-blk-pci" + }, + { + "name": "piix3-usb-uhci" + }, + { + "name": "vfio-calxeda-xgmac" + }, + { + "name": "virtio-scsi-device" + }, + { + "name": "tpci200" + }, + { + "name": "virtio-9p-device" + }, + { + "name": "pc-q35-2.5-machine" + }, + { + "name": "SUNW,fdtwo" + }, + { + "name": "hda-output" + }, + { + "name": "i8257" + }, + { + "name": "Opteron_G4-x86_64-cpu" + }, + { + "name": "filter-mirror" + }, + { + "name": "virtio-mmio" + }, + { + "name": "isa-i8259" + }, + { + "name": "System" + }, + { + "name": "pvscsi" + }, + { + "name": "amd-iommu" + }, + { + "name": "virtio-net-device" + }, + { + "name": "colo-compare" + }, + { + "name": "sd-bus" + }, + { + "name": "qio-channel-file" + }, + { + "name": "input-linux" + }, + { + "name": "usb-hub" + }, + { + "name": "IvyBridge-x86_64-cpu" + }, + { + "name": "hda-duplex" + }, + { + "name": "igd-passthrough-i440FX" + }, + { + "name": "qio-dns-resolver" + }, + { + "name": "virtio-keyboard-pci" + }, + { + "name": "igd-passthrough-isa-bridge" + }, + { + "name": "rocker" + }, + { + "name": "nec-usb-xhci" + }, + { + "name": "megasas-gen2" + }, + { + "name": "pci-ohci" + }, + { + "name": "ib700" + }, + { + "name": "xio3130-downstream" + }, + { + "name": "isapc-machine" + }, + { + "name": "ipoctal232" + }, + { + "name": "ide-cd" + }, + { + "name": "tls-creds-anon" + }, + { + "name": "pc-i440fx-2.2-machine" + }, + { + "name": "isabus-bridge" + }, + { + "name": "isa-ipmi-kcs" + }, + { + "name": "memory-backend-file" + }, + { + "name": "isa-ide" + }, + { + "name": "virtio-keyboard-device" + }, + { + "name": "virtio-crypto-pci" + }, + { + "name": "isa-vga" + }, + { + "name": "qemu:memory-region" + }, + { + "name": "ipmi-bmc-extern" + }, + { + "name": "rng-random" + }, + { + "name": "kvm-i8259" + }, + { + "name": "i440FX-pcihost" + }, + { + "name": "sga" + }, + { + "name": "tpm-tis" + }, + { + "name": "tpm-passthrough" + }, + { + "name": "pc-1.2-machine" + }, + { + "name": "isa-debug-exit" + }, + { + "name": "Opteron_G1-x86_64-cpu" + }, + { + "name": "pc-testdev" + }, + { + "name": "pc-0.10-machine" + }, + { + "name": "pc-i440fx-2.3-machine" + }, + { + "name": "xen-pvdevice" + }, + { + "name": "qemu32-x86_64-cpu" + }, + { + "name": "pcnet" + }, + { + "name": "apic" + }, + { + "name": "ivshmem" + }, + { + "name": "hpet" + }, + { + "name": "adlib" + }, + { + "name": "qio-channel-command" + }, + { + "name": "lsi53c895a" + }, + { + "name": "secret" + }, + { + "name": "pxb-bus" + }, + { + "name": "usb-audio" + }, + { + "name": "usb-wacom-tablet" + }, + { + "name": "virtio-mmio-bus" + }, + { + "name": "pc-0.11-machine" + }, + { + "name": "kvm-apic" + }, + { + "name": "phenom-x86_64-cpu" + }, + { + "name": "fw_cfg_io" + }, + { + "name": "usb-net" + }, + { + "name": "ioh3420" + }, + { + "name": "virtio-crypto-device" + }, + { + "name": "cs4231a" + }, + { + "name": "dc390" + }, + { + "name": "nvme" + }, + { + "name": "i82801b11-bridge" + }, + { + "name": "kvmvapic" + }, + { + "name": "usb-tablet" + }, + { + "name": "usb-ccid" + }, + { + "name": "sdhci-bus" + }, + { + "name": "pci-bridge-seat" + }, + { + "name": "mch" + }, + { + "name": "pc-i440fx-2.7-machine" + }, + { + "name": "vhost-scsi" + }, + { + "name": "tcg-accel" + }, + { + "name": "ich9-usb-uhci2" + }, + { + "name": "isa-cirrus-vga" + }, + { + "name": "usb-bot" + }, + { + "name": "ICH9-LPC" + }, + { + "name": "edu" + }, + { + "name": "accel" + }, + { + "name": "pxb-pcie-bus" + }, + { + "name": "pc-i440fx-1.6-machine" + }, + { + "name": "lsi53c810" + }, + { + "name": "kvmclock" + }, + { + "name": "loader" + }, + { + "name": "pc-i440fx-2.8-machine" + }, + { + "name": "ich9-usb-uhci4" + }, + { + "name": "virtio-serial-bus" + }, + { + "name": "nvdimm" + }, + { + "name": "virtio-balloon-pci" + }, + { + "name": "ich9-usb-uhci6" + }, + { + "name": "SandyBridge-x86_64-cpu" + }, + { + "name": "esp" + }, + { + "name": "virtio-balloon-device" + }, + { + "name": "x3130-upstream" + }, + { + "name": "ich9-usb-uhci5" + }, + { + "name": "qxl" + }, + { + "name": "intel-hda" + }, + { + "name": "pc-i440fx-1.7-machine" + }, + { + "name": "max-x86_64-cpu" + }, + { + "name": "virtio-serial-device" + }, + { + "name": "ich9-usb-uhci3" + }, + { + "name": "ICH9 SMB" + }, + { + "name": "pxb-pcie" + }, + { + "name": "piix3-ide-xen" + }, + { + "name": "xen-accel" + }, + { + "name": "virtio-input-host-device" + }, + { + "name": "vmxnet3" + }, + { + "name": "IDE" + }, + { + "name": "VGA" + }, + { + "name": "pci-testdev" + }, + { + "name": "ich9-usb-uhci1" + }, + { + "name": "xenpv-machine" + }, + { + "name": "pci-bridge" + }, + { + "name": "SCSI" + }, + { + "name": "none-machine" + }, + { + "name": "sysbus-fdc" + }, + { + "name": "allwinner-ahci" + }, + { + "name": "n270-x86_64-cpu" + }, + { + "name": "pci-serial" + }, + { + "name": "pc-q35-2.6-machine" + }, + { + "name": "athlon-x86_64-cpu" + }, + { + "name": "virtio-rng-device" + }, + { + "name": "am53c974" + }, + { + "name": "ISA" + }, + { + "name": "i8042" + }, + { + "name": "kvm-accel" + }, + { + "name": "i82559c" + }, + { + "name": "floppy" + }, + { + "name": "i82559b" + }, + { + "name": "i82559a" + }, + { + "name": "scsi-hd" + }, + { + "name": "qtest-accel" + }, + { + "name": "virtio-scsi-pci" + }, + { + "name": "hda-micro" + }, + { + "name": "scsi-block" + }, + { + "name": "ich9-intel-hda" + }, + { + "name": "rtl8139" + }, + { + "name": "vmmouse" + }, + { + "name": "pc-q35-2.7-machine" + }, + { + "name": "usb-mtp" + }, + { + "name": "ide-drive" + }, + { + "name": "qio-channel-websock" + }, + { + "name": "fw_cfg_mem" + }, + { + "name": "PCI" + }, + { + "name": "Opteron_G5-x86_64-cpu" + }, + { + "name": "vmport" + }, + { + "name": "coreduo-x86_64-cpu" + }, + { + "name": "xen-backend" + }, + { + "name": "qio-channel-tls" + }, + { + "name": "virtio-serial-pci" + }, + { + "name": "xen-platform" + }, + { + "name": "virtio-input-host-pci" + }, + { + "name": "pentium2-x86_64-cpu" + }, + { + "name": "i82558b" + }, + { + "name": "cryptodev-backend-builtin" + }, + { + "name": "i82558a" + }, + { + "name": "qemu,register" + }, + { + "name": "ne2k_isa" + }, + { + "name": "sdhci-pci" + }, + { + "name": "virtio-pci-bus" + }, + { + "name": "pxb" + }, + { + "name": "port92" + }, + { + "name": "e1000" + }, + { + "name": "Conroe-x86_64-cpu" + }, + { + "name": "kvm64-x86_64-cpu" + }, + { + "name": "filter-replay" + }, + { + "name": "vt82c686b-usb-uhci" + }, + { + "name": "HDA" + }, + { + "name": "usb-storage" + }, + { + "name": "pc-1.3-machine" + }, + { + "name": "usb-serial" + }, + { + "name": "usb-redir" + }, + { + "name": "sysbus-ohci" + }, + { + "name": "i82801" + }, + { + "name": "pc-i440fx-2.4-machine" + }, + { + "name": "i82557b" + }, + { + "name": "usb-uas" + }, + { + "name": "Broadwell-noTSX-x86_64-cpu" + }, + { + "name": "i82557c" + }, + { + "name": "Nehalem-x86_64-cpu" + }, + { + "name": "memory-backend-ram" + }, + { + "name": "i82557a" + }, + { + "name": "virtserialport" + }, + { + "name": "i440FX" + }, + { + "name": "ne2k_pci" + }, + { + "name": "smbus-eeprom" + }, + { + "name": "i82562" + }, + { + "name": "ich9-ahci" + }, + { + "name": "isa-fdc" + }, + { + "name": "sd-card" + }, + { + "name": "pc-0.12-machine" + }, + { + "name": "kvm32-x86_64-cpu" + }, + { + "name": "Opteron_G2-x86_64-cpu" + }, + { + "name": "vfio-pci" + }, + { + "name": "IndustryPack" + }, + { + "name": "virtio-gpu-pci" + }, + { + "name": "ivshmem-plain" + }, + { + "name": "secondary-vga" + }, + { + "name": "ivshmem-doorbell" + }, + { + "name": "qio-channel-socket" + }, + { + "name": "pentium-x86_64-cpu" + }, + { + "name": "virtio-blk-device" + } + ], + "id": "libvirt-9" +} + +{ + "return": [ + { + "name": "secs", + "type": "uint32" + }, + { + "name": "request-merging", + "description": "on/off", + "type": "bool" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "serial", + "type": "str" + }, + { + "name": "heads", + "type": "uint32" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "scsi", + "description": "on/off", + "type": "bool" + }, + { + "name": "cyls", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "iothread", + "type": "link" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backen= d", + "type": "str" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/aut= o", + "type": "BlockdevOnError" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/aut= o", + "type": "BlockdevOnError" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "class", + "type": "uint32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "config-wce", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child" + }, + { + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "num-queues", + "type": "uint16" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "name": "opt_io_size", + "type": "uint32" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-10" +} + +{ + "return": [ + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-txtimer", + "type": "uint32" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "mq", + "description": "on/off", + "type": "bool" + }, + { + "name": "status", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "tx", + "type": "str" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "ctrl_rx_extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "mac", + "description": "Ethernet 6-byte MAC Address, example: 52:54:00:12:34= :56", + "type": "str" + }, + { + "name": "rx_queue_size", + "type": "uint16" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "gso", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_rx", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "guest_csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_announce", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-txburst", + "type": "int32" + }, + { + "name": "ctrl_vlan", + "description": "on/off", + "type": "bool" + }, + { + "name": "csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "mrg_rxbuf", + "description": "on/off", + "type": "bool" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_guest_offloads", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "ctrl_mac_addr", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "vlan", + "description": "Integer VLAN id to connect to", + "type": "int32" + }, + { + "name": "host_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child" + }, + { + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "name": "netdev", + "description": "ID of a netdev to use as a backend", + "type": "str" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_mtu", + "type": "uint16" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-11" +} + +{ + "return": [ + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "num_queues", + "type": "uint32" + }, + { + "name": "cmd_per_lun", + "type": "uint32" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "hotplug", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_sectors", + "type": "uint32" + }, + { + "name": "param_change", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "iothread", + "type": "link" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "virtio-backend", + "type": "child" + }, + { + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-12" +} + +{ + "id": "libvirt-13", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-blk-ccw' not found" + } +} + +{ + "id": "libvirt-14", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-net-ccw' not found" + } +} + +{ + "id": "libvirt-15", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-scsi-ccw' not found" + } +} + +{ + "id": "libvirt-16", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-blk-s390' not found" + } +} + +{ + "id": "libvirt-17", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-net-s390' not found" + } +} + +{ + "id": "libvirt-18", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'pci-assign' not found" + } +} + +{ + "return": [ + { + "name": "share_intx", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "host", + "description": "Address (bus/device/function) of the host device, ex= ample: 04:10.0", + "type": "str" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "configfd", + "type": "str" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "prefer_msi", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-19" +} + +{ + "return": [ + { + "name": "x-pci-sub-device-id", + "type": "uint32" + }, + { + "name": "x-no-kvm-msi", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-igd-opregion", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-vga", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pci-vendor-id", + "type": "uint32" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "x-req", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-igd-gms", + "type": "uint32" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "x-no-kvm-intx", + "type": "bool" + }, + { + "name": "x-pci-device-id", + "type": "uint32" + }, + { + "name": "host", + "description": "Address (bus/device/function) of the host device, ex= ample: 04:10.0", + "type": "str" + }, + { + "name": "x-no-kvm-msix", + "type": "bool" + }, + { + "name": "x-intx-mmap-timeout-ms", + "type": "uint32" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "x-pci-sub-vendor-id", + "type": "uint32" + }, + { + "name": "sysfsdev", + "type": "str" + }, + { + "name": "x-no-mmap", + "type": "bool" + } + ], + "id": "libvirt-20" +} + +{ + "return": [ + { + "name": "serial", + "type": "str" + }, + { + "name": "port_index", + "type": "uint16" + }, + { + "name": "dpofua", + "description": "on/off", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "lun", + "type": "uint32" + }, + { + "name": "max_unmap_size", + "type": "uint64" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backen= d", + "type": "str" + }, + { + "name": "port_wwn", + "type": "uint64" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "opt_io_size", + "type": "uint32" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "product", + "type": "str" + }, + { + "name": "scsi-id", + "type": "uint32" + }, + { + "name": "channel", + "type": "uint32" + }, + { + "name": "vendor", + "type": "str" + }, + { + "name": "wwn", + "type": "uint64" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/aut= o", + "type": "BlockdevOnError" + }, + { + "name": "removable", + "description": "on/off", + "type": "bool" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/aut= o", + "type": "BlockdevOnError" + }, + { + "name": "ver", + "type": "str" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "max_io_size", + "type": "uint64" + } + ], + "id": "libvirt-21" +} + +{ + "return": [ + { + "name": "serial", + "type": "str" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backen= d", + "type": "str" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "opt_io_size", + "type": "uint32" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "unit", + "type": "uint32" + }, + { + "name": "wwn", + "type": "uint64" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/aut= o", + "type": "BlockdevOnError" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/aut= o", + "type": "BlockdevOnError" + }, + { + "name": "ver", + "type": "str" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + } + ], + "id": "libvirt-22" +} + +{ + "return": [ + { + "name": "memory-hotplug-support", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "acpi-pci-hotplug-with-bridge-support", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "disable_s4", + "type": "uint8" + }, + { + "name": "disable_s3", + "type": "uint8" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "s4_val", + "type": "uint8" + }, + { + "name": "smb_io_base", + "type": "uint32" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + } + ], + "id": "libvirt-23" +} + +{ + "return": [ + { + "name": "filter", + "type": "str" + }, + { + "name": "msos-desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "serial", + "type": "str" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "debug", + "type": "uint8" + }, + { + "name": "streams", + "type": "bool" + }, + { + "name": "chardev", + "description": "ID of a chardev to use as a backend", + "type": "str" + }, + { + "name": "full-path", + "description": "on/off", + "type": "bool" + }, + { + "name": "attached", + "type": "bool" + } + ], + "id": "libvirt-24" +} + +{ + "return": [ + { + "name": "isobufs", + "type": "uint32" + }, + { + "name": "hostaddr", + "type": "uint32" + }, + { + "name": "msos-desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "productid", + "type": "uint32" + }, + { + "name": "serial", + "type": "str" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "isobsize", + "type": "uint32" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "vendorid", + "type": "uint32" + }, + { + "name": "pipeline", + "description": "on/off", + "type": "bool" + }, + { + "name": "attached", + "type": "bool" + }, + { + "name": "hostport", + "type": "str" + }, + { + "name": "full-path", + "description": "on/off", + "type": "bool" + }, + { + "name": "loglevel", + "type": "uint32" + }, + { + "name": "hostbus", + "type": "uint32" + } + ], + "id": "libvirt-25" +} + +{ + "return": [ + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backen= d", + "type": "str" + }, + { + "name": "lun", + "type": "uint32" + }, + { + "name": "channel", + "type": "uint32" + }, + { + "name": "scsi-id", + "type": "uint32" + } + ], + "id": "libvirt-26" +} + +{ + "return": [ + { + "name": "short_root_bus", + "type": "uint32" + }, + { + "name": "pci-conf-idx[0]", + "type": "child" + }, + { + "name": "pci-hole64-end", + "type": "int" + }, + { + "name": "pci-hole-end", + "type": "int" + }, + { + "name": "pci-hole-start", + "type": "int" + }, + { + "name": "pci-hole64-start", + "type": "int" + }, + { + "name": "pci-hole64-size", + "type": "size" + }, + { + "name": "pci-conf-data[0]", + "type": "child" + } + ], + "id": "libvirt-27" +} + +{ + "return": [ + { + "name": "short_root_bus", + "type": "uint32" + }, + { + "name": "system-mem", + "type": "link" + }, + { + "name": "pci-conf-idx[0]", + "type": "child" + }, + { + "name": "pcie-mmcfg-mmio[0]", + "type": "child" + }, + { + "name": "pci-hole64-start", + "type": "int" + }, + { + "name": "io-mem", + "type": "link" + }, + { + "name": "pci-hole64-end", + "type": "int" + }, + { + "name": "pci-hole-end", + "type": "int" + }, + { + "name": "above-4g-mem-size", + "type": "size" + }, + { + "name": "below-4g-mem-size", + "type": "size" + }, + { + "name": "ram-mem", + "type": "link" + }, + { + "name": "pci-hole-start", + "type": "int" + }, + { + "name": "MCFG", + "type": "uint64" + }, + { + "name": "mch", + "type": "child" + }, + { + "name": "pci-hole64-size", + "type": "size" + }, + { + "name": "pci-mem", + "type": "link" + }, + { + "name": "pci-conf-data[0]", + "type": "child" + }, + { + "name": "mcfg_size", + "type": "int" + } + ], + "id": "libvirt-28" +} + +{ + "return": [ + { + "name": "serial", + "type": "str" + }, + { + "name": "msos-desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backen= d", + "type": "str" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "opt_io_size", + "type": "uint32" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "attached", + "type": "bool" + }, + { + "name": "full-path", + "description": "on/off", + "type": "bool" + }, + { + "name": "removable", + "description": "on/off", + "type": "bool" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + } + ], + "id": "libvirt-29" +} + +{ + "return": [ + { + "name": "iobase", + "type": "uint32" + }, + { + "name": "lost_tick_policy", + "type": "LostTickPolicy" + } + ], + "id": "libvirt-30" +} + +{ + "return": [ + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "mmio", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "qemu-extended-regs", + "description": "on/off", + "type": "bool" + }, + { + "name": "big-endian-framebuffer", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "vgamem_mb", + "type": "uint32" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + } + ], + "id": "libvirt-31" +} + +{ + "return": [ + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "vgamem_mb", + "type": "uint32" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + } + ], + "id": "libvirt-32" +} + +{ + "return": [ + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "ram_size_mb", + "type": "uint32" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "vgamem_mb", + "type": "uint32" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "debug", + "type": "uint32" + }, + { + "name": "vram_size_mb", + "type": "uint32" + }, + { + "name": "revision", + "type": "uint32" + }, + { + "name": "ram_size", + "type": "uint32" + }, + { + "name": "vram64_size_mb", + "type": "uint32" + }, + { + "name": "guestdebug", + "type": "uint32" + }, + { + "name": "vram_size", + "type": "uint64" + }, + { + "name": "surfaces", + "type": "int32" + }, + { + "name": "max_outputs", + "type": "uint16" + }, + { + "name": "cmdlog", + "type": "uint32" + } + ], + "id": "libvirt-33" +} + +{ + "return": [ + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_outputs", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child" + }, + { + "name": "max_hostmem", + "type": "size" + }, + { + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "name": "stats", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "name": "virgl", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-34" +} + +{ + "return": [ + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "stats", + "description": "on/off", + "type": "bool" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_outputs", + "type": "uint32" + }, + { + "name": "virgl", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_hostmem", + "type": "size" + } + ], + "id": "libvirt-35" +} + +{ + "return": [ + { + "name": "memory-hotplug-support", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "sci_int", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "gpe0_blk_len", + "type": "uint32" + }, + { + "name": "pm_io_base", + "type": "uint32" + }, + { + "name": "noreboot", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable_s4", + "type": "uint8" + }, + { + "name": "acpi_disable_cmd", + "type": "uint8" + }, + { + "name": "cpu-hotplug-legacy", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "disable_s3", + "type": "uint8" + }, + { + "name": "s4_val", + "type": "uint8" + }, + { + "name": "acpi_enable_cmd", + "type": "uint8" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "enable_tco", + "type": "bool" + }, + { + "name": "gpe0_blk", + "type": "uint32" + } + ], + "id": "libvirt-36" +} + +{ + "return": [ + { + "name": "guest-stats-polling-interval", + "type": "int" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest-stats", + "type": "guest statistics" + }, + { + "name": "deflate-on-oom", + "description": "on/off", + "type": "bool" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "class", + "type": "uint32" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child" + }, + { + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-37" +} + +{ + "id": "libvirt-38", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-balloon-ccw' not found" + } +} + +{ + "return": [ + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest-stats", + "type": "guest statistics" + }, + { + "name": "guest-stats-polling-interval", + "type": "int" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "deflate-on-oom", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-39" +} + +{ + "return": [ + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "intrs", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "msix", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "msi", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "superspeed-ports-first", + "description": "on/off", + "type": "bool" + }, + { + "name": "streams", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "force-pcie-endcap", + "description": "on/off", + "type": "bool" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "p3", + "type": "uint32" + }, + { + "name": "p2", + "type": "uint32" + }, + { + "name": "slots", + "type": "uint32" + } + ], + "id": "libvirt-40" +} + +{ + "return": [ + { + "hotpluggable-cpus": true, + "name": "pc-0.12", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.4", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-1.3", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.7", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.6", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": false, + "name": "none", + "cpu-max": 1 + }, + { + "hotpluggable-cpus": false, + "name": "xenpv", + "cpu-max": 1 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-1.7", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.8", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-1.6", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.7", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-0.11", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.3", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-0.10", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-1.2", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.2", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "isapc", + "cpu-max": 1 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.5", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "xenfv", + "cpu-max": 128 + }, + { + "hotpluggable-cpus": true, + "name": "pc-0.15", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-0.14", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-1.5", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.6", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-1.4", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.5", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.9", + "cpu-max": 288, + "alias": "q35" + }, + { + "hotpluggable-cpus": true, + "name": "pc-1.1", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.1", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.8", + "cpu-max": 288 + }, + { + "hotpluggable-cpus": true, + "name": "pc-1.0", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.0", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.4", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.9", + "is-default": true, + "cpu-max": 255, + "alias": "pc" + }, + { + "hotpluggable-cpus": true, + "name": "pc-0.13", + "cpu-max": 255 + } + ], + "id": "libvirt-41" +} + +{ + "return": [ + { + "name": "max", + "typename": "max-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": false + }, + { + "name": "host", + "typename": "host-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "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": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "qemu32", + "typename": "qemu32-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "phenom", + "typename": "phenom-x86_64-cpu", + "unavailable-features": [ + "mmxext", + "fxsr-opt", + "3dnowext", + "3dnow", + "sse4a", + "npt" + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium3", + "typename": "pentium3-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium2", + "typename": "pentium2-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium", + "typename": "pentium-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "n270", + "typename": "n270-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "kvm64", + "typename": "kvm64-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "kvm32", + "typename": "kvm32-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "coreduo", + "typename": "coreduo-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "core2duo", + "typename": "core2duo-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "athlon", + "typename": "athlon-x86_64-cpu", + "unavailable-features": [ + "mmxext", + "3dnowext", + "3dnow" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Westmere", + "typename": "Westmere-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Skylake-Client", + "typename": "Skylake-Client-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "SandyBridge", + "typename": "SandyBridge-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Penryn", + "typename": "Penryn-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G5", + "typename": "Opteron_G5-x86_64-cpu", + "unavailable-features": [ + "sse4a", + "misalignsse", + "xop", + "fma4", + "tbm" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G4", + "typename": "Opteron_G4-x86_64-cpu", + "unavailable-features": [ + "sse4a", + "misalignsse", + "xop", + "fma4" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G3", + "typename": "Opteron_G3-x86_64-cpu", + "unavailable-features": [ + "sse4a", + "misalignsse" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G2", + "typename": "Opteron_G2-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G1", + "typename": "Opteron_G1-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Nehalem", + "typename": "Nehalem-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "IvyBridge", + "typename": "IvyBridge-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell", + "typename": "Haswell-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell-noTSX", + "typename": "Haswell-noTSX-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Conroe", + "typename": "Conroe-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Broadwell", + "typename": "Broadwell-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Broadwell-noTSX", + "typename": "Broadwell-noTSX-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "486", + "typename": "486-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + } + ], + "id": "libvirt-42" +} + +{ + "return": [ + "tpm-tis" + ], + "id": "libvirt-43" +} + +{ + "return": [ + "passthrough" + ], + "id": "libvirt-44" +} + +{ + "return": [ + { + "parameters": [ + { + "name": "non-adaptive", + "type": "boolean" + }, + { + "name": "lossy", + "type": "boolean" + }, + { + "name": "acl", + "type": "boolean" + }, + { + "name": "x509verify", + "type": "string" + }, + { + "name": "tls", + "type": "boolean" + }, + { + "name": "sasl", + "type": "boolean" + }, + { + "name": "key-delay-ms", + "type": "number" + }, + { + "name": "lock-key-sync", + "type": "boolean" + }, + { + "name": "reverse", + "type": "boolean" + }, + { + "name": "password", + "type": "boolean" + }, + { + "name": "ipv6", + "type": "boolean" + }, + { + "name": "ipv4", + "type": "boolean" + }, + { + "name": "to", + "type": "number" + }, + { + "name": "connections", + "type": "number" + }, + { + "name": "head", + "type": "number" + }, + { + "name": "display", + "type": "string" + }, + { + "name": "share", + "type": "string" + }, + { + "name": "x509", + "type": "string" + }, + { + "name": "tls-creds", + "type": "string" + }, + { + "name": "websocket", + "type": "string" + }, + { + "name": "vnc", + "type": "string" + } + ], + "option": "vnc" + }, + { + "parameters": [ + { + "name": "gl", + "type": "boolean" + }, + { + "name": "seamless-migration", + "type": "boolean" + }, + { + "name": "playback-compression", + "type": "boolean" + }, + { + "name": "agent-mouse", + "type": "boolean" + }, + { + "name": "streaming-video", + "type": "string" + }, + { + "name": "zlib-glz-wan-compression", + "type": "string" + }, + { + "name": "jpeg-wan-compression", + "type": "string" + }, + { + "name": "image-compression", + "type": "string" + }, + { + "name": "plaintext-channel", + "type": "string" + }, + { + "name": "tls-channel", + "type": "string" + }, + { + "name": "tls-ciphers", + "type": "string" + }, + { + "name": "x509-dh-key-file", + "type": "string" + }, + { + "name": "x509-cacert-file", + "type": "string" + }, + { + "name": "x509-cert-file", + "type": "string" + }, + { + "name": "x509-key-password", + "type": "string" + }, + { + "name": "x509-key-file", + "type": "string" + }, + { + "name": "x509-dir", + "type": "string" + }, + { + "name": "sasl", + "type": "boolean" + }, + { + "name": "disable-agent-file-xfer", + "type": "boolean" + }, + { + "name": "disable-copy-paste", + "type": "boolean" + }, + { + "name": "disable-ticketing", + "type": "boolean" + }, + { + "name": "password", + "type": "string" + }, + { + "name": "unix", + "type": "boolean" + }, + { + "name": "ipv6", + "type": "boolean" + }, + { + "name": "ipv4", + "type": "boolean" + }, + { + "name": "addr", + "type": "string" + }, + { + "name": "tls-port", + "type": "number" + }, + { + "name": "port", + "type": "number" + } + ], + "option": "spice" + }, + { + "parameters": [ + ], + "option": "smbios" + }, + { + "parameters": [ + ], + "option": "acpi" + }, + { + "parameters": [ + { + "name": "sock_fd", + "type": "number" + }, + { + "name": "socket", + "type": "string" + }, + { + "name": "readonly", + "type": "boolean" + }, + { + "name": "writeout", + "type": "string" + }, + { + "name": "security_model", + "type": "string" + }, + { + "name": "mount_tag", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "fsdriver", + "type": "string" + } + ], + "option": "virtfs" + }, + { + "parameters": [ + { + "name": "sock_fd", + "type": "number" + }, + { + "name": "socket", + "type": "string" + }, + { + "name": "readonly", + "type": "boolean" + }, + { + "name": "writeout", + "type": "string" + }, + { + "name": "security_model", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "fsdriver", + "type": "string" + } + ], + "option": "fsdev" + }, + { + "parameters": [ + { + "name": "timeout", + "help": "Request timeout in seconds (default 0 =3D no timeout)", + "type": "number" + }, + { + "name": "initiator-name", + "help": "Initiator iqn name to use when connecting", + "type": "string" + }, + { + "name": "header-digest", + "help": "HeaderDigest setting. {CRC32C|CRC32C-NONE|NONE-CRC32C|N= ONE}", + "type": "string" + }, + { + "name": "password-secret", + "help": "ID of the secret providing password for CHAP authentica= tion to target", + "type": "string" + }, + { + "name": "password", + "help": "password for CHAP authentication to target", + "type": "string" + }, + { + "name": "user", + "help": "username for CHAP authentication to target", + "type": "string" + } + ], + "option": "iscsi" + }, + { + "parameters": [ + { + "name": "string", + "help": "Sets content of the blob to be inserted from a string", + "type": "string" + }, + { + "name": "file", + "help": "Sets the name of the file from which\nthe fw_cfg blob w= ill be loaded", + "type": "string" + }, + { + "name": "name", + "help": "Sets the fw_cfg name of the blob to be inserted", + "type": "string" + } + ], + "option": "fw_cfg" + }, + { + "parameters": [ + { + "name": "arg", + "type": "string" + }, + { + "name": "target", + "type": "string" + }, + { + "name": "enable", + "type": "boolean" + } + ], + "option": "semihosting-config" + }, + { + "parameters": [ + { + "name": "rrfile", + "type": "string" + }, + { + "name": "rr", + "type": "string" + }, + { + "name": "sleep", + "type": "boolean" + }, + { + "name": "align", + "type": "boolean" + }, + { + "name": "shift", + "type": "string" + } + ], + "option": "icount" + }, + { + "parameters": [ + ], + "option": "numa" + }, + { + "parameters": [ + { + "name": "debug-threads", + "help": "When enabled, name the individual threads; defaults off= .\nNOTE: The thread names are for debugging and not a\nstable API.", + "type": "boolean" + }, + { + "name": "process", + "help": "Sets the name of the QEMU process, as shown in top etc", + "type": "string" + }, + { + "name": "guest", + "help": "Sets the name of the guest.\nThis name will be displaye= d in the SDL window caption.\nThe name will also be used for the VNC server= ", + "type": "string" + } + ], + "option": "name" + }, + { + "parameters": [ + { + "name": "timestamp", + "type": "boolean" + } + ], + "option": "msg" + }, + { + "parameters": [ + { + "name": "mlock", + "type": "boolean" + } + ], + "option": "realtime" + }, + { + "parameters": [ + ], + "option": "tpmdev" + }, + { + "parameters": [ + ], + "option": "object" + }, + { + "parameters": [ + { + "name": "opaque", + "help": "free-form string used to describe fd", + "type": "string" + }, + { + "name": "set", + "help": "ID of the fd set to add fd to", + "type": "number" + }, + { + "name": "fd", + "help": "file descriptor of which a duplicate is added to fd set= ", + "type": "number" + } + ], + "option": "add-fd" + }, + { + "parameters": [ + { + "name": "enable", + "type": "boolean" + } + ], + "option": "sandbox" + }, + { + "parameters": [ + { + "name": "strict", + "type": "boolean" + }, + { + "name": "reboot-timeout", + "type": "string" + }, + { + "name": "splash-time", + "type": "string" + }, + { + "name": "splash", + "type": "string" + }, + { + "name": "menu", + "type": "boolean" + }, + { + "name": "once", + "type": "string" + }, + { + "name": "order", + "type": "string" + } + ], + "option": "boot-opts" + }, + { + "parameters": [ + { + "name": "maxcpus", + "type": "number" + }, + { + "name": "threads", + "type": "number" + }, + { + "name": "cores", + "type": "number" + }, + { + "name": "sockets", + "type": "number" + }, + { + "name": "cpus", + "type": "number" + } + ], + "option": "smp-opts" + }, + { + "parameters": [ + { + "name": "maxmem", + "type": "size" + }, + { + "name": "slots", + "type": "number" + }, + { + "name": "size", + "type": "size" + } + ], + "option": "memory" + }, + { + "parameters": [ + { + "name": "dea-key-wrap", + "help": "enable/disable DEA key wrapping using the CPACF wrappin= g key", + "type": "boolean" + }, + { + "name": "aes-key-wrap", + "help": "enable/disable AES key wrapping using the CPACF wrappin= g key", + "type": "boolean" + }, + { + "name": "suppress-vmdesc", + "help": "Set on to disable self-describing migration", + "type": "boolean" + }, + { + "name": "iommu", + "help": "Set on/off to enable/disable Intel IOMMU (VT-d)", + "type": "boolean" + }, + { + "name": "firmware", + "help": "firmware image", + "type": "string" + }, + { + "name": "usb", + "help": "Set on/off to enable/disable usb", + "type": "boolean" + }, + { + "name": "mem-merge", + "help": "enable/disable memory merge support", + "type": "boolean" + }, + { + "name": "dump-guest-core", + "help": "Include guest memory in a core dump", + "type": "boolean" + }, + { + "name": "dt_compatible", + "help": "Overrides the \"compatible\" property of the dt root no= de", + "type": "string" + }, + { + "name": "phandle_start", + "help": "The first phandle ID we may generate dynamically", + "type": "number" + }, + { + "name": "dumpdtb", + "help": "Dump current dtb to a file and quit", + "type": "string" + }, + { + "name": "dtb", + "help": "Linux kernel device tree file", + "type": "string" + }, + { + "name": "append", + "help": "Linux kernel command line", + "type": "string" + }, + { + "name": "initrd", + "help": "Linux initial ramdisk file", + "type": "string" + }, + { + "name": "kernel", + "help": "Linux kernel image file", + "type": "string" + }, + { + "name": "kvm_shadow_mem", + "help": "KVM shadow MMU size", + "type": "size" + }, + { + "name": "kernel_irqchip", + "help": "use KVM in-kernel irqchip", + "type": "boolean" + }, + { + "name": "accel", + "help": "accelerator list", + "type": "string" + }, + { + "name": "type", + "help": "emulated machine", + "type": "string" + } + ], + "option": "machine" + }, + { + "parameters": [ + { + "name": "romfile", + "type": "string" + }, + { + "name": "bootindex", + "type": "number" + } + ], + "option": "option-rom" + }, + { + "parameters": [ + { + "name": "file", + "type": "string" + }, + { + "name": "events", + "type": "string" + }, + { + "name": "enable", + "type": "string" + } + ], + "option": "trace" + }, + { + "parameters": [ + { + "name": "pretty", + "type": "boolean" + }, + { + "name": "default", + "type": "boolean" + }, + { + "name": "chardev", + "type": "string" + }, + { + "name": "mode", + "type": "string" + } + ], + "option": "mon" + }, + { + "parameters": [ + { + "name": "value", + "type": "string" + }, + { + "name": "property", + "type": "string" + }, + { + "name": "driver", + "type": "string" + } + ], + "option": "global" + }, + { + "parameters": [ + { + "name": "driftfix", + "type": "string" + }, + { + "name": "clock", + "type": "string" + }, + { + "name": "base", + "type": "string" + } + ], + "option": "rtc" + }, + { + "parameters": [ + ], + "option": "net" + }, + { + "parameters": [ + ], + "option": "netdev" + }, + { + "parameters": [ + ], + "option": "device" + }, + { + "parameters": [ + { + "name": "logappend", + "type": "boolean" + }, + { + "name": "logfile", + "type": "string" + }, + { + "name": "append", + "type": "boolean" + }, + { + "name": "chardev", + "type": "string" + }, + { + "name": "size", + "type": "size" + }, + { + "name": "debug", + "type": "number" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "signal", + "type": "boolean" + }, + { + "name": "mux", + "type": "boolean" + }, + { + "name": "rows", + "type": "number" + }, + { + "name": "cols", + "type": "number" + }, + { + "name": "height", + "type": "number" + }, + { + "name": "width", + "type": "number" + }, + { + "name": "tls-creds", + "type": "string" + }, + { + "name": "telnet", + "type": "boolean" + }, + { + "name": "reconnect", + "type": "number" + }, + { + "name": "delay", + "type": "boolean" + }, + { + "name": "server", + "type": "boolean" + }, + { + "name": "wait", + "type": "boolean" + }, + { + "name": "ipv6", + "type": "boolean" + }, + { + "name": "ipv4", + "type": "boolean" + }, + { + "name": "to", + "type": "number" + }, + { + "name": "localport", + "type": "string" + }, + { + "name": "localaddr", + "type": "string" + }, + { + "name": "port", + "type": "string" + }, + { + "name": "host", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "backend", + "type": "string" + } + ], + "option": "chardev" + }, + { + "parameters": [ + { + "name": "copy-on-read", + "help": "copy read data from backing file into image file", + "type": "boolean" + }, + { + "name": "werror", + "help": "write error action", + "type": "string" + }, + { + "name": "rerror", + "help": "read error action", + "type": "string" + }, + { + "name": "read-only", + "help": "open drive file as read-only", + "type": "boolean" + }, + { + "name": "file", + "help": "file name", + "type": "string" + }, + { + "name": "serial", + "help": "disk serial number", + "type": "string" + }, + { + "name": "addr", + "help": "pci address (virtio only)", + "type": "string" + }, + { + "name": "boot", + "help": "(deprecated, ignored)", + "type": "boolean" + }, + { + "name": "trans", + "help": "chs translation (auto, lba, none)", + "type": "string" + }, + { + "name": "secs", + "help": "number of sectors (ide disk geometry)", + "type": "number" + }, + { + "name": "heads", + "help": "number of heads (ide disk geometry)", + "type": "number" + }, + { + "name": "cyls", + "help": "number of cylinders (ide disk geometry)", + "type": "number" + }, + { + "name": "if", + "help": "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)", + "type": "string" + }, + { + "name": "media", + "help": "media type (disk, cdrom)", + "type": "string" + }, + { + "name": "index", + "help": "index number", + "type": "number" + }, + { + "name": "unit", + "help": "unit number (i.e. lun for scsi)", + "type": "number" + }, + { + "name": "bus", + "help": "bus number", + "type": "number" + }, + { + "name": "stats-account-failed", + "help": "whether to account for failed I/O operations in the sta= tistics", + "type": "boolean" + }, + { + "name": "stats-account-invalid", + "help": "whether to account for invalid I/O operations in the st= atistics", + "type": "boolean" + }, + { + "name": "detect-zeroes", + "help": "try to optimize zero writes (off, on, unmap)", + "type": "string" + }, + { + "name": "throttling.group", + "help": "name of the block throttling group", + "type": "string" + }, + { + "name": "throttling.iops-size", + "help": "when limiting by iops max size of an I/O in bytes", + "type": "number" + }, + { + "name": "throttling.bps-write-max-length", + "help": "length of the bps-write-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-read-max-length", + "help": "length of the bps-read-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-total-max-length", + "help": "length of the bps-total-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-write-max-length", + "help": "length of the iops-write-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-read-max-length", + "help": "length of the iops-read-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-total-max-length", + "help": "length of the iops-total-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-write-max", + "help": "total bytes write burst", + "type": "number" + }, + { + "name": "throttling.bps-read-max", + "help": "total bytes read burst", + "type": "number" + }, + { + "name": "throttling.bps-total-max", + "help": "total bytes burst", + "type": "number" + }, + { + "name": "throttling.iops-write-max", + "help": "I/O operations write burst", + "type": "number" + }, + { + "name": "throttling.iops-read-max", + "help": "I/O operations read burst", + "type": "number" + }, + { + "name": "throttling.iops-total-max", + "help": "I/O operations burst", + "type": "number" + }, + { + "name": "throttling.bps-write", + "help": "limit write bytes per second", + "type": "number" + }, + { + "name": "throttling.bps-read", + "help": "limit read bytes per second", + "type": "number" + }, + { + "name": "throttling.bps-total", + "help": "limit total bytes per second", + "type": "number" + }, + { + "name": "throttling.iops-write", + "help": "limit write operations per second", + "type": "number" + }, + { + "name": "throttling.iops-read", + "help": "limit read operations per second", + "type": "number" + }, + { + "name": "throttling.iops-total", + "help": "limit total I/O operations per second", + "type": "number" + }, + { + "name": "werror", + "help": "write error action", + "type": "string" + }, + { + "name": "format", + "help": "disk format (raw, qcow2, ...)", + "type": "string" + }, + { + "name": "cache.writeback", + "help": "Enable writeback mode", + "type": "boolean" + }, + { + "name": "aio", + "help": "host AIO implementation (threads, native)", + "type": "string" + }, + { + "name": "snapshot", + "help": "enable/disable snapshot mode", + "type": "boolean" + }, + { + "name": "discard", + "help": "discard operation (ignore/off, unmap/on)", + "type": "string" + }, + { + "name": "read-only", + "help": "Node is opened in read-only mode", + "type": "boolean" + }, + { + "name": "cache.no-flush", + "help": "Ignore flush requests", + "type": "boolean" + }, + { + "name": "cache.direct", + "help": "Bypass software writeback cache on the host", + "type": "boolean" + }, + { + "name": "driver", + "help": "Block driver to use for the node", + "type": "string" + }, + { + "name": "node-name", + "help": "Node name of the block device node", + "type": "string" + } + ], + "option": "drive" + } + ], + "id": "libvirt-45" +} + +{ + "return": [ + { + "state": false, + "capability": "xbzrle" + }, + { + "state": false, + "capability": "rdma-pin-all" + }, + { + "state": false, + "capability": "auto-converge" + }, + { + "state": false, + "capability": "zero-blocks" + }, + { + "state": false, + "capability": "compress" + }, + { + "state": false, + "capability": "events" + }, + { + "state": false, + "capability": "postcopy-ram" + }, + { + "state": false, + "capability": "x-colo" + } + ], + "id": "libvirt-46" +} + +{ + "return": [ + { + "name": "ACPI_DEVICE_OST", + "meta-type": "event", + "arg-type": "0" + }, + { + "name": "BALLOON_CHANGE", + "meta-type": "event", + "arg-type": "1" + }, + { + "name": "BLOCK_IMAGE_CORRUPTED", + "meta-type": "event", + "arg-type": "2" + }, + { + "name": "BLOCK_IO_ERROR", + "meta-type": "event", + "arg-type": "3" + }, + { + "name": "BLOCK_JOB_CANCELLED", + "meta-type": "event", + "arg-type": "4" + }, + { + "name": "BLOCK_JOB_COMPLETED", + "meta-type": "event", + "arg-type": "5" + }, + { + "name": "BLOCK_JOB_ERROR", + "meta-type": "event", + "arg-type": "6" + }, + { + "name": "BLOCK_JOB_READY", + "meta-type": "event", + "arg-type": "7" + }, + { + "name": "BLOCK_WRITE_THRESHOLD", + "meta-type": "event", + "arg-type": "8" + }, + { + "name": "DEVICE_DELETED", + "meta-type": "event", + "arg-type": "9" + }, + { + "name": "DEVICE_TRAY_MOVED", + "meta-type": "event", + "arg-type": "10" + }, + { + "name": "DUMP_COMPLETED", + "meta-type": "event", + "arg-type": "11" + }, + { + "name": "GUEST_PANICKED", + "meta-type": "event", + "arg-type": "12" + }, + { + "name": "MEM_UNPLUG_ERROR", + "meta-type": "event", + "arg-type": "13" + }, + { + "name": "MIGRATION", + "meta-type": "event", + "arg-type": "14" + }, + { + "name": "MIGRATION_PASS", + "meta-type": "event", + "arg-type": "15" + }, + { + "name": "NIC_RX_FILTER_CHANGED", + "meta-type": "event", + "arg-type": "16" + }, + { + "name": "POWERDOWN", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "QUORUM_FAILURE", + "meta-type": "event", + "arg-type": "18" + }, + { + "name": "QUORUM_REPORT_BAD", + "meta-type": "event", + "arg-type": "19" + }, + { + "name": "RESET", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "RESUME", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "RTC_CHANGE", + "meta-type": "event", + "arg-type": "20" + }, + { + "name": "SHUTDOWN", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "SPICE_CONNECTED", + "meta-type": "event", + "arg-type": "21" + }, + { + "name": "SPICE_DISCONNECTED", + "meta-type": "event", + "arg-type": "22" + }, + { + "name": "SPICE_INITIALIZED", + "meta-type": "event", + "arg-type": "23" + }, + { + "name": "SPICE_MIGRATE_COMPLETED", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "STOP", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "SUSPEND", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "SUSPEND_DISK", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "VNC_CONNECTED", + "meta-type": "event", + "arg-type": "24" + }, + { + "name": "VNC_DISCONNECTED", + "meta-type": "event", + "arg-type": "25" + }, + { + "name": "VNC_INITIALIZED", + "meta-type": "event", + "arg-type": "26" + }, + { + "name": "VSERPORT_CHANGE", + "meta-type": "event", + "arg-type": "27" + }, + { + "name": "WAKEUP", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "WATCHDOG", + "meta-type": "event", + "arg-type": "28" + }, + { + "name": "add-fd", + "ret-type": "30", + "meta-type": "command", + "arg-type": "29" + }, + { + "name": "add_client", + "ret-type": "17", + "meta-type": "command", + "arg-type": "31" + }, + { + "name": "balloon", + "ret-type": "17", + "meta-type": "command", + "arg-type": "32" + }, + { + "name": "block-commit", + "ret-type": "17", + "meta-type": "command", + "arg-type": "33" + }, + { + "name": "block-dirty-bitmap-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "34" + }, + { + "name": "block-dirty-bitmap-clear", + "ret-type": "17", + "meta-type": "command", + "arg-type": "35" + }, + { + "name": "block-dirty-bitmap-remove", + "ret-type": "17", + "meta-type": "command", + "arg-type": "35" + }, + { + "name": "block-job-cancel", + "ret-type": "17", + "meta-type": "command", + "arg-type": "36" + }, + { + "name": "block-job-complete", + "ret-type": "17", + "meta-type": "command", + "arg-type": "37" + }, + { + "name": "block-job-pause", + "ret-type": "17", + "meta-type": "command", + "arg-type": "38" + }, + { + "name": "block-job-resume", + "ret-type": "17", + "meta-type": "command", + "arg-type": "39" + }, + { + "name": "block-job-set-speed", + "ret-type": "17", + "meta-type": "command", + "arg-type": "40" + }, + { + "name": "block-set-write-threshold", + "ret-type": "17", + "meta-type": "command", + "arg-type": "41" + }, + { + "name": "block-stream", + "ret-type": "17", + "meta-type": "command", + "arg-type": "42" + }, + { + "name": "block_passwd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "43" + }, + { + "name": "block_resize", + "ret-type": "17", + "meta-type": "command", + "arg-type": "44" + }, + { + "name": "block_set_io_throttle", + "ret-type": "17", + "meta-type": "command", + "arg-type": "45" + }, + { + "name": "blockdev-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "46" + }, + { + "name": "blockdev-backup", + "ret-type": "17", + "meta-type": "command", + "arg-type": "47" + }, + { + "name": "blockdev-change-medium", + "ret-type": "17", + "meta-type": "command", + "arg-type": "48" + }, + { + "name": "blockdev-close-tray", + "ret-type": "17", + "meta-type": "command", + "arg-type": "49" + }, + { + "name": "blockdev-mirror", + "ret-type": "17", + "meta-type": "command", + "arg-type": "50" + }, + { + "name": "blockdev-open-tray", + "ret-type": "17", + "meta-type": "command", + "arg-type": "51" + }, + { + "name": "blockdev-snapshot", + "ret-type": "17", + "meta-type": "command", + "arg-type": "52" + }, + { + "name": "blockdev-snapshot-delete-internal-sync", + "ret-type": "54", + "meta-type": "command", + "arg-type": "53" + }, + { + "name": "blockdev-snapshot-internal-sync", + "ret-type": "17", + "meta-type": "command", + "arg-type": "55" + }, + { + "name": "blockdev-snapshot-sync", + "ret-type": "17", + "meta-type": "command", + "arg-type": "56" + }, + { + "name": "change", + "ret-type": "17", + "meta-type": "command", + "arg-type": "57" + }, + { + "name": "change-backing-file", + "ret-type": "17", + "meta-type": "command", + "arg-type": "58" + }, + { + "name": "change-vnc-password", + "ret-type": "17", + "meta-type": "command", + "arg-type": "59" + }, + { + "name": "chardev-add", + "ret-type": "61", + "meta-type": "command", + "arg-type": "60" + }, + { + "name": "chardev-remove", + "ret-type": "17", + "meta-type": "command", + "arg-type": "62" + }, + { + "name": "client_migrate_info", + "ret-type": "17", + "meta-type": "command", + "arg-type": "63" + }, + { + "name": "closefd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "64" + }, + { + "name": "cont", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "cpu", + "ret-type": "17", + "meta-type": "command", + "arg-type": "65" + }, + { + "name": "cpu-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "66" + }, + { + "name": "device-list-properties", + "ret-type": "[68]", + "meta-type": "command", + "arg-type": "67" + }, + { + "name": "device_add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "69" + }, + { + "name": "device_del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "70" + }, + { + "name": "drive-backup", + "ret-type": "17", + "meta-type": "command", + "arg-type": "71" + }, + { + "name": "drive-mirror", + "ret-type": "17", + "meta-type": "command", + "arg-type": "72" + }, + { + "name": "dump-guest-memory", + "ret-type": "17", + "meta-type": "command", + "arg-type": "73" + }, + { + "name": "dump-skeys", + "ret-type": "17", + "meta-type": "command", + "arg-type": "74" + }, + { + "name": "eject", + "ret-type": "17", + "meta-type": "command", + "arg-type": "75" + }, + { + "name": "expire_password", + "ret-type": "17", + "meta-type": "command", + "arg-type": "76" + }, + { + "name": "getfd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "77" + }, + { + "name": "human-monitor-command", + "ret-type": "str", + "meta-type": "command", + "arg-type": "78" + }, + { + "name": "inject-nmi", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "input-send-event", + "ret-type": "17", + "meta-type": "command", + "arg-type": "79" + }, + { + "name": "memsave", + "ret-type": "17", + "meta-type": "command", + "arg-type": "80" + }, + { + "name": "migrate", + "ret-type": "17", + "meta-type": "command", + "arg-type": "81" + }, + { + "name": "migrate-incoming", + "ret-type": "17", + "meta-type": "command", + "arg-type": "82" + }, + { + "name": "migrate-set-cache-size", + "ret-type": "17", + "meta-type": "command", + "arg-type": "83" + }, + { + "name": "migrate-set-capabilities", + "ret-type": "17", + "meta-type": "command", + "arg-type": "84" + }, + { + "name": "migrate-set-parameters", + "ret-type": "17", + "meta-type": "command", + "arg-type": "85" + }, + { + "name": "migrate-start-postcopy", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "migrate_cancel", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "migrate_set_downtime", + "ret-type": "17", + "meta-type": "command", + "arg-type": "86" + }, + { + "name": "migrate_set_speed", + "ret-type": "17", + "meta-type": "command", + "arg-type": "87" + }, + { + "name": "nbd-server-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "88" + }, + { + "name": "nbd-server-start", + "ret-type": "17", + "meta-type": "command", + "arg-type": "89" + }, + { + "name": "nbd-server-stop", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "netdev_add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "90" + }, + { + "name": "netdev_del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "91" + }, + { + "name": "object-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "92" + }, + { + "name": "object-del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "93" + }, + { + "name": "pmemsave", + "ret-type": "17", + "meta-type": "command", + "arg-type": "94" + }, + { + "name": "qmp_capabilities", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "qom-get", + "ret-type": "any", + "meta-type": "command", + "arg-type": "95" + }, + { + "name": "qom-list", + "ret-type": "[97]", + "meta-type": "command", + "arg-type": "96" + }, + { + "name": "qom-list-types", + "ret-type": "[99]", + "meta-type": "command", + "arg-type": "98" + }, + { + "name": "qom-set", + "ret-type": "17", + "meta-type": "command", + "arg-type": "100" + }, + { + "name": "query-acpi-ospm-status", + "ret-type": "[101]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-balloon", + "ret-type": "102", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-block", + "ret-type": "[103]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-block-jobs", + "ret-type": "[104]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-blockstats", + "ret-type": "[106]", + "meta-type": "command", + "arg-type": "105" + }, + { + "name": "query-chardev", + "ret-type": "[107]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-chardev-backends", + "ret-type": "[108]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-command-line-options", + "ret-type": "[110]", + "meta-type": "command", + "arg-type": "109" + }, + { + "name": "query-commands", + "ret-type": "[111]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-cpu-definitions", + "ret-type": "[112]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-cpu-model-baseline", + "ret-type": "114", + "meta-type": "command", + "arg-type": "113" + }, + { + "name": "query-cpu-model-comparison", + "ret-type": "116", + "meta-type": "command", + "arg-type": "115" + }, + { + "name": "query-cpu-model-expansion", + "ret-type": "118", + "meta-type": "command", + "arg-type": "117" + }, + { + "name": "query-cpus", + "ret-type": "[119]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-dump", + "ret-type": "120", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-dump-guest-memory-capability", + "ret-type": "121", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-events", + "ret-type": "[122]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-fdsets", + "ret-type": "[123]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-gic-capabilities", + "ret-type": "[124]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-hotpluggable-cpus", + "ret-type": "[125]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-iothreads", + "ret-type": "[126]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-kvm", + "ret-type": "127", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-machines", + "ret-type": "[128]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-memdev", + "ret-type": "[129]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-memory-devices", + "ret-type": "[130]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-mice", + "ret-type": "[131]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate", + "ret-type": "132", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate-cache-size", + "ret-type": "int", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate-capabilities", + "ret-type": "[133]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate-parameters", + "ret-type": "85", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-name", + "ret-type": "134", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-named-block-nodes", + "ret-type": "[135]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-pci", + "ret-type": "[136]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-qmp-schema", + "ret-type": "[137]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-rocker", + "ret-type": "139", + "meta-type": "command", + "arg-type": "138" + }, + { + "name": "query-rocker-of-dpa-flows", + "ret-type": "[141]", + "meta-type": "command", + "arg-type": "140" + }, + { + "name": "query-rocker-of-dpa-groups", + "ret-type": "[143]", + "meta-type": "command", + "arg-type": "142" + }, + { + "name": "query-rocker-ports", + "ret-type": "[145]", + "meta-type": "command", + "arg-type": "144" + }, + { + "name": "query-rx-filter", + "ret-type": "[147]", + "meta-type": "command", + "arg-type": "146" + }, + { + "name": "query-spice", + "ret-type": "148", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-status", + "ret-type": "149", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-target", + "ret-type": "150", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-tpm", + "ret-type": "[151]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-tpm-models", + "ret-type": "[152]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-tpm-types", + "ret-type": "[153]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-uuid", + "ret-type": "154", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-version", + "ret-type": "155", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-vnc", + "ret-type": "156", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-vnc-servers", + "ret-type": "[157]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "quit", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "remove-fd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "158" + }, + { + "name": "ringbuf-read", + "ret-type": "str", + "meta-type": "command", + "arg-type": "159" + }, + { + "name": "ringbuf-write", + "ret-type": "17", + "meta-type": "command", + "arg-type": "160" + }, + { + "name": "rtc-reset-reinjection", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "screendump", + "ret-type": "17", + "meta-type": "command", + "arg-type": "161" + }, + { + "name": "send-key", + "ret-type": "17", + "meta-type": "command", + "arg-type": "162" + }, + { + "name": "set_link", + "ret-type": "17", + "meta-type": "command", + "arg-type": "163" + }, + { + "name": "set_password", + "ret-type": "17", + "meta-type": "command", + "arg-type": "164" + }, + { + "name": "stop", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "system_powerdown", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "system_reset", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "system_wakeup", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "trace-event-get-state", + "ret-type": "[166]", + "meta-type": "command", + "arg-type": "165" + }, + { + "name": "trace-event-set-state", + "ret-type": "17", + "meta-type": "command", + "arg-type": "167" + }, + { + "name": "transaction", + "ret-type": "17", + "meta-type": "command", + "arg-type": "168" + }, + { + "name": "x-blockdev-change", + "ret-type": "17", + "meta-type": "command", + "arg-type": "169" + }, + { + "name": "x-blockdev-del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "170" + }, + { + "name": "x-blockdev-insert-medium", + "ret-type": "17", + "meta-type": "command", + "arg-type": "171" + }, + { + "name": "x-blockdev-remove-medium", + "ret-type": "17", + "meta-type": "command", + "arg-type": "172" + }, + { + "name": "x-colo-lost-heartbeat", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "xen-load-devices-state", + "ret-type": "17", + "meta-type": "command", + "arg-type": "173" + }, + { + "name": "xen-save-devices-state", + "ret-type": "17", + "meta-type": "command", + "arg-type": "174" + }, + { + "name": "xen-set-global-dirty-log", + "ret-type": "17", + "meta-type": "command", + "arg-type": "175" + }, + { + "name": "0", + "members": [ + { + "name": "info", + "type": "101" + } + ], + "meta-type": "object" + }, + { + "name": "1", + "members": [ + { + "name": "actual", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "2", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "msg", + "type": "str" + }, + { + "name": "offset", + "default": null, + "type": "int" + }, + { + "name": "size", + "default": null, + "type": "int" + }, + { + "name": "fatal", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "3", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "node-name", + "type": "str" + }, + { + "name": "operation", + "type": "176" + }, + { + "name": "action", + "type": "177" + }, + { + "name": "nospace", + "default": null, + "type": "bool" + }, + { + "name": "reason", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "4", + "members": [ + { + "name": "type", + "type": "178" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "5", + "members": [ + { + "name": "type", + "type": "178" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "speed", + "type": "int" + }, + { + "name": "error", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "6", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "operation", + "type": "176" + }, + { + "name": "action", + "type": "177" + } + ], + "meta-type": "object" + }, + { + "name": "7", + "members": [ + { + "name": "type", + "type": "178" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "8", + "members": [ + { + "name": "node-name", + "type": "str" + }, + { + "name": "amount-exceeded", + "type": "int" + }, + { + "name": "write-threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "9", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "10", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "id", + "type": "str" + }, + { + "name": "tray-open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "11", + "members": [ + { + "name": "result", + "type": "120" + }, + { + "name": "error", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "12", + "members": [ + { + "name": "action", + "type": "179" + } + ], + "meta-type": "object" + }, + { + "name": "13", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "msg", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "14", + "members": [ + { + "name": "status", + "type": "180" + } + ], + "meta-type": "object" + }, + { + "name": "15", + "members": [ + { + "name": "pass", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "16", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + }, + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "17", + "members": [ + ], + "meta-type": "object" + }, + { + "name": "18", + "members": [ + { + "name": "reference", + "type": "str" + }, + { + "name": "sector-num", + "type": "int" + }, + { + "name": "sectors-count", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "19", + "members": [ + { + "name": "type", + "type": "181" + }, + { + "name": "error", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "type": "str" + }, + { + "name": "sector-num", + "type": "int" + }, + { + "name": "sectors-count", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "20", + "members": [ + { + "name": "offset", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "21", + "members": [ + { + "name": "server", + "type": "182" + }, + { + "name": "client", + "type": "182" + } + ], + "meta-type": "object" + }, + { + "name": "22", + "members": [ + { + "name": "server", + "type": "182" + }, + { + "name": "client", + "type": "182" + } + ], + "meta-type": "object" + }, + { + "name": "23", + "members": [ + { + "name": "server", + "type": "183" + }, + { + "name": "client", + "type": "184" + } + ], + "meta-type": "object" + }, + { + "name": "24", + "members": [ + { + "name": "server", + "type": "185" + }, + { + "name": "client", + "type": "186" + } + ], + "meta-type": "object" + }, + { + "name": "25", + "members": [ + { + "name": "server", + "type": "185" + }, + { + "name": "client", + "type": "187" + } + ], + "meta-type": "object" + }, + { + "name": "26", + "members": [ + { + "name": "server", + "type": "185" + }, + { + "name": "client", + "type": "187" + } + ], + "meta-type": "object" + }, + { + "name": "27", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "28", + "members": [ + { + "name": "action", + "type": "188" + } + ], + "meta-type": "object" + }, + { + "name": "29", + "members": [ + { + "name": "fdset-id", + "default": null, + "type": "int" + }, + { + "name": "opaque", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "30", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fd", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "31", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "fdname", + "type": "str" + }, + { + "name": "skipauth", + "default": null, + "type": "bool" + }, + { + "name": "tls", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "32", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "33", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "base", + "default": null, + "type": "str" + }, + { + "name": "top", + "default": null, + "type": "str" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "speed", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "34", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "granularity", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "35", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "36", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "37", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "38", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "39", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "40", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "41", + "members": [ + { + "name": "node-name", + "type": "str" + }, + { + "name": "write-threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "42", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "base", + "default": null, + "type": "str" + }, + { + "name": "base-node", + "default": null, + "type": "str" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "on-error", + "default": null, + "type": "189" + } + ], + "meta-type": "object" + }, + { + "name": "43", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "password", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "44", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "size", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "45", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "bps", + "type": "int" + }, + { + "name": "bps_rd", + "type": "int" + }, + { + "name": "bps_wr", + "type": "int" + }, + { + "name": "iops", + "type": "int" + }, + { + "name": "iops_rd", + "type": "int" + }, + { + "name": "iops_wr", + "type": "int" + }, + { + "name": "bps_max", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max", + "default": null, + "type": "int" + }, + { + "name": "iops_max", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max", + "default": null, + "type": "int" + }, + { + "name": "bps_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_size", + "default": null, + "type": "int" + }, + { + "name": "group", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "46", + "tag": "driver", + "variants": [ + { + "case": "archipelago", + "type": "194" + }, + { + "case": "blkdebug", + "type": "195" + }, + { + "case": "blkverify", + "type": "196" + }, + { + "case": "bochs", + "type": "197" + }, + { + "case": "cloop", + "type": "197" + }, + { + "case": "dmg", + "type": "197" + }, + { + "case": "file", + "type": "198" + }, + { + "case": "ftp", + "type": "199" + }, + { + "case": "ftps", + "type": "199" + }, + { + "case": "gluster", + "type": "200" + }, + { + "case": "host_cdrom", + "type": "198" + }, + { + "case": "host_device", + "type": "198" + }, + { + "case": "http", + "type": "199" + }, + { + "case": "https", + "type": "199" + }, + { + "case": "luks", + "type": "201" + }, + { + "case": "nbd", + "type": "202" + }, + { + "case": "nfs", + "type": "203" + }, + { + "case": "null-aio", + "type": "204" + }, + { + "case": "null-co", + "type": "204" + }, + { + "case": "parallels", + "type": "197" + }, + { + "case": "qcow2", + "type": "205" + }, + { + "case": "qcow", + "type": "206" + }, + { + "case": "qed", + "type": "206" + }, + { + "case": "quorum", + "type": "207" + }, + { + "case": "raw", + "type": "208" + }, + { + "case": "replication", + "type": "209" + }, + { + "case": "ssh", + "type": "210" + }, + { + "case": "vdi", + "type": "197" + }, + { + "case": "vhdx", + "type": "197" + }, + { + "case": "vmdk", + "type": "206" + }, + { + "case": "vpc", + "type": "197" + }, + { + "case": "vvfat", + "type": "211" + } + ], + "members": [ + { + "name": "driver", + "type": "190" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "discard", + "default": null, + "type": "191" + }, + { + "name": "cache", + "default": null, + "type": "192" + }, + { + "name": "read-only", + "default": null, + "type": "bool" + }, + { + "name": "detect-zeroes", + "default": null, + "type": "193" + } + ], + "meta-type": "object" + }, + { + "name": "47", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "sync", + "type": "212" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "compress", + "default": null, + "type": "bool" + }, + { + "name": "on-source-error", + "default": null, + "type": "189" + }, + { + "name": "on-target-error", + "default": null, + "type": "189" + } + ], + "meta-type": "object" + }, + { + "name": "48", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "read-only-mode", + "default": null, + "type": "213" + } + ], + "meta-type": "object" + }, + { + "name": "49", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "50", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "replaces", + "default": null, + "type": "str" + }, + { + "name": "sync", + "type": "212" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "granularity", + "default": null, + "type": "int" + }, + { + "name": "buf-size", + "default": null, + "type": "int" + }, + { + "name": "on-source-error", + "default": null, + "type": "189" + }, + { + "name": "on-target-error", + "default": null, + "type": "189" + } + ], + "meta-type": "object" + }, + { + "name": "51", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "52", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "overlay", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "53", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "54", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "vm-state-size", + "type": "int" + }, + { + "name": "date-sec", + "type": "int" + }, + { + "name": "date-nsec", + "type": "int" + }, + { + "name": "vm-clock-sec", + "type": "int" + }, + { + "name": "vm-clock-nsec", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "55", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "56", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "snapshot-file", + "type": "str" + }, + { + "name": "snapshot-node-name", + "default": null, + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "mode", + "default": null, + "type": "214" + } + ], + "meta-type": "object" + }, + { + "name": "57", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "arg", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "58", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "image-node-name", + "type": "str" + }, + { + "name": "backing-file", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "59", + "members": [ + { + "name": "password", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "60", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "backend", + "type": "215" + } + ], + "meta-type": "object" + }, + { + "name": "61", + "members": [ + { + "name": "pty", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "62", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "63", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "hostname", + "type": "str" + }, + { + "name": "port", + "default": null, + "type": "int" + }, + { + "name": "tls-port", + "default": null, + "type": "int" + }, + { + "name": "cert-subject", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "64", + "members": [ + { + "name": "fdname", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "65", + "members": [ + { + "name": "index", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "66", + "members": [ + { + "name": "id", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "67", + "members": [ + { + "name": "typename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[68]", + "element-type": "68", + "meta-type": "array" + }, + { + "name": "68", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "description", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "69", + "members": [ + { + "name": "driver", + "type": "str" + }, + { + "name": "bus", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "70", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "71", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "sync", + "type": "212" + }, + { + "name": "mode", + "default": null, + "type": "214" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "bitmap", + "default": null, + "type": "str" + }, + { + "name": "compress", + "default": null, + "type": "bool" + }, + { + "name": "on-source-error", + "default": null, + "type": "189" + }, + { + "name": "on-target-error", + "default": null, + "type": "189" + } + ], + "meta-type": "object" + }, + { + "name": "72", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "replaces", + "default": null, + "type": "str" + }, + { + "name": "sync", + "type": "212" + }, + { + "name": "mode", + "default": null, + "type": "214" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "granularity", + "default": null, + "type": "int" + }, + { + "name": "buf-size", + "default": null, + "type": "int" + }, + { + "name": "on-source-error", + "default": null, + "type": "189" + }, + { + "name": "on-target-error", + "default": null, + "type": "189" + }, + { + "name": "unmap", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "73", + "members": [ + { + "name": "paging", + "type": "bool" + }, + { + "name": "protocol", + "type": "str" + }, + { + "name": "detach", + "default": null, + "type": "bool" + }, + { + "name": "begin", + "default": null, + "type": "int" + }, + { + "name": "length", + "default": null, + "type": "int" + }, + { + "name": "format", + "default": null, + "type": "216" + } + ], + "meta-type": "object" + }, + { + "name": "74", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "75", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "76", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "time", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "77", + "members": [ + { + "name": "fdname", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "78", + "members": [ + { + "name": "command-line", + "type": "str" + }, + { + "name": "cpu-index", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "str", + "json-type": "string", + "meta-type": "builtin" + }, + { + "name": "79", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "head", + "default": null, + "type": "int" + }, + { + "name": "events", + "type": "[217]" + } + ], + "meta-type": "object" + }, + { + "name": "80", + "members": [ + { + "name": "val", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "cpu-index", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "81", + "members": [ + { + "name": "uri", + "type": "str" + }, + { + "name": "blk", + "default": null, + "type": "bool" + }, + { + "name": "inc", + "default": null, + "type": "bool" + }, + { + "name": "detach", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "82", + "members": [ + { + "name": "uri", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "83", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "84", + "members": [ + { + "name": "capabilities", + "type": "[133]" + } + ], + "meta-type": "object" + }, + { + "name": "85", + "members": [ + { + "name": "compress-level", + "default": null, + "type": "int" + }, + { + "name": "compress-threads", + "default": null, + "type": "int" + }, + { + "name": "decompress-threads", + "default": null, + "type": "int" + }, + { + "name": "cpu-throttle-initial", + "default": null, + "type": "int" + }, + { + "name": "cpu-throttle-increment", + "default": null, + "type": "int" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + }, + { + "name": "tls-hostname", + "default": null, + "type": "str" + }, + { + "name": "max-bandwidth", + "default": null, + "type": "int" + }, + { + "name": "downtime-limit", + "default": null, + "type": "int" + }, + { + "name": "x-checkpoint-delay", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "86", + "members": [ + { + "name": "value", + "type": "number" + } + ], + "meta-type": "object" + }, + { + "name": "87", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "88", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "writable", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "89", + "members": [ + { + "name": "addr", + "type": "218" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "90", + "members": [ + { + "name": "type", + "type": "str" + }, + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "91", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "92", + "members": [ + { + "name": "qom-type", + "type": "str" + }, + { + "name": "id", + "type": "str" + }, + { + "name": "props", + "default": null, + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "93", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "94", + "members": [ + { + "name": "val", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "95", + "members": [ + { + "name": "path", + "type": "str" + }, + { + "name": "property", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "any", + "json-type": "value", + "meta-type": "builtin" + }, + { + "name": "96", + "members": [ + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[97]", + "element-type": "97", + "meta-type": "array" + }, + { + "name": "97", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "98", + "members": [ + { + "name": "implements", + "default": null, + "type": "str" + }, + { + "name": "abstract", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[99]", + "element-type": "99", + "meta-type": "array" + }, + { + "name": "99", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "100", + "members": [ + { + "name": "path", + "type": "str" + }, + { + "name": "property", + "type": "str" + }, + { + "name": "value", + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "[101]", + "element-type": "101", + "meta-type": "array" + }, + { + "name": "101", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "slot", + "type": "str" + }, + { + "name": "slot-type", + "type": "219" + }, + { + "name": "source", + "type": "int" + }, + { + "name": "status", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "102", + "members": [ + { + "name": "actual", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[103]", + "element-type": "103", + "meta-type": "array" + }, + { + "name": "103", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "removable", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "inserted", + "default": null, + "type": "135" + }, + { + "name": "tray_open", + "default": null, + "type": "bool" + }, + { + "name": "io-status", + "default": null, + "type": "220" + }, + { + "name": "dirty-bitmaps", + "default": null, + "type": "[221]" + } + ], + "meta-type": "object" + }, + { + "name": "[104]", + "element-type": "104", + "meta-type": "array" + }, + { + "name": "104", + "members": [ + { + "name": "type", + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "busy", + "type": "bool" + }, + { + "name": "paused", + "type": "bool" + }, + { + "name": "speed", + "type": "int" + }, + { + "name": "io-status", + "type": "220" + }, + { + "name": "ready", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "105", + "members": [ + { + "name": "query-nodes", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[106]", + "element-type": "106", + "meta-type": "array" + }, + { + "name": "106", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "stats", + "type": "222" + }, + { + "name": "parent", + "default": null, + "type": "106" + }, + { + "name": "backing", + "default": null, + "type": "106" + } + ], + "meta-type": "object" + }, + { + "name": "[107]", + "element-type": "107", + "meta-type": "array" + }, + { + "name": "107", + "members": [ + { + "name": "label", + "type": "str" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "frontend-open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[108]", + "element-type": "108", + "meta-type": "array" + }, + { + "name": "108", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "109", + "members": [ + { + "name": "option", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[110]", + "element-type": "110", + "meta-type": "array" + }, + { + "name": "110", + "members": [ + { + "name": "option", + "type": "str" + }, + { + "name": "parameters", + "type": "[223]" + } + ], + "meta-type": "object" + }, + { + "name": "[111]", + "element-type": "111", + "meta-type": "array" + }, + { + "name": "111", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[112]", + "element-type": "112", + "meta-type": "array" + }, + { + "name": "112", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "migration-safe", + "default": null, + "type": "bool" + }, + { + "name": "static", + "type": "bool" + }, + { + "name": "unavailable-features", + "default": null, + "type": "[str]" + }, + { + "name": "typename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "113", + "members": [ + { + "name": "modela", + "type": "224" + }, + { + "name": "modelb", + "type": "224" + } + ], + "meta-type": "object" + }, + { + "name": "114", + "members": [ + { + "name": "model", + "type": "224" + } + ], + "meta-type": "object" + }, + { + "name": "115", + "members": [ + { + "name": "modela", + "type": "224" + }, + { + "name": "modelb", + "type": "224" + } + ], + "meta-type": "object" + }, + { + "name": "116", + "members": [ + { + "name": "result", + "type": "225" + }, + { + "name": "responsible-properties", + "type": "[str]" + } + ], + "meta-type": "object" + }, + { + "name": "117", + "members": [ + { + "name": "type", + "type": "226" + }, + { + "name": "model", + "type": "224" + } + ], + "meta-type": "object" + }, + { + "name": "118", + "members": [ + { + "name": "model", + "type": "224" + } + ], + "meta-type": "object" + }, + { + "name": "[119]", + "element-type": "119", + "meta-type": "array" + }, + { + "name": "119", + "tag": "arch", + "variants": [ + { + "case": "x86", + "type": "228" + }, + { + "case": "sparc", + "type": "229" + }, + { + "case": "ppc", + "type": "230" + }, + { + "case": "mips", + "type": "231" + }, + { + "case": "tricore", + "type": "232" + }, + { + "case": "other", + "type": "233" + } + ], + "members": [ + { + "name": "CPU", + "type": "int" + }, + { + "name": "current", + "type": "bool" + }, + { + "name": "halted", + "type": "bool" + }, + { + "name": "qom_path", + "type": "str" + }, + { + "name": "thread_id", + "type": "int" + }, + { + "name": "arch", + "type": "227" + } + ], + "meta-type": "object" + }, + { + "name": "120", + "members": [ + { + "name": "status", + "type": "234" + }, + { + "name": "completed", + "type": "int" + }, + { + "name": "total", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "121", + "members": [ + { + "name": "formats", + "type": "[216]" + } + ], + "meta-type": "object" + }, + { + "name": "[122]", + "element-type": "122", + "meta-type": "array" + }, + { + "name": "122", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[123]", + "element-type": "123", + "meta-type": "array" + }, + { + "name": "123", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fds", + "type": "[235]" + } + ], + "meta-type": "object" + }, + { + "name": "[124]", + "element-type": "124", + "meta-type": "array" + }, + { + "name": "124", + "members": [ + { + "name": "version", + "type": "int" + }, + { + "name": "emulated", + "type": "bool" + }, + { + "name": "kernel", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[125]", + "element-type": "125", + "meta-type": "array" + }, + { + "name": "125", + "members": [ + { + "name": "type", + "type": "str" + }, + { + "name": "vcpus-count", + "type": "int" + }, + { + "name": "props", + "type": "236" + }, + { + "name": "qom-path", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[126]", + "element-type": "126", + "meta-type": "array" + }, + { + "name": "126", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "thread-id", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "127", + "members": [ + { + "name": "enabled", + "type": "bool" + }, + { + "name": "present", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[128]", + "element-type": "128", + "meta-type": "array" + }, + { + "name": "128", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "alias", + "default": null, + "type": "str" + }, + { + "name": "is-default", + "default": null, + "type": "bool" + }, + { + "name": "cpu-max", + "type": "int" + }, + { + "name": "hotpluggable-cpus", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[129]", + "element-type": "129", + "meta-type": "array" + }, + { + "name": "129", + "members": [ + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "merge", + "type": "bool" + }, + { + "name": "dump", + "type": "bool" + }, + { + "name": "prealloc", + "type": "bool" + }, + { + "name": "host-nodes", + "type": "[int]" + }, + { + "name": "policy", + "type": "237" + } + ], + "meta-type": "object" + }, + { + "name": "[130]", + "element-type": "130", + "meta-type": "array" + }, + { + "name": "130", + "tag": "type", + "variants": [ + { + "case": "dimm", + "type": "239" + } + ], + "members": [ + { + "name": "type", + "type": "238" + } + ], + "meta-type": "object" + }, + { + "name": "[131]", + "element-type": "131", + "meta-type": "array" + }, + { + "name": "131", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "index", + "type": "int" + }, + { + "name": "current", + "type": "bool" + }, + { + "name": "absolute", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "132", + "members": [ + { + "name": "status", + "default": null, + "type": "180" + }, + { + "name": "ram", + "default": null, + "type": "240" + }, + { + "name": "disk", + "default": null, + "type": "240" + }, + { + "name": "xbzrle-cache", + "default": null, + "type": "241" + }, + { + "name": "total-time", + "default": null, + "type": "int" + }, + { + "name": "expected-downtime", + "default": null, + "type": "int" + }, + { + "name": "downtime", + "default": null, + "type": "int" + }, + { + "name": "setup-time", + "default": null, + "type": "int" + }, + { + "name": "cpu-throttle-percentage", + "default": null, + "type": "int" + }, + { + "name": "error-desc", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "int", + "json-type": "int", + "meta-type": "builtin" + }, + { + "name": "[133]", + "element-type": "133", + "meta-type": "array" + }, + { + "name": "133", + "members": [ + { + "name": "capability", + "type": "242" + }, + { + "name": "state", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "134", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[135]", + "element-type": "135", + "meta-type": "array" + }, + { + "name": "135", + "members": [ + { + "name": "file", + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "ro", + "type": "bool" + }, + { + "name": "drv", + "type": "str" + }, + { + "name": "backing_file", + "default": null, + "type": "str" + }, + { + "name": "backing_file_depth", + "type": "int" + }, + { + "name": "encrypted", + "type": "bool" + }, + { + "name": "encryption_key_missing", + "type": "bool" + }, + { + "name": "detect_zeroes", + "type": "193" + }, + { + "name": "bps", + "type": "int" + }, + { + "name": "bps_rd", + "type": "int" + }, + { + "name": "bps_wr", + "type": "int" + }, + { + "name": "iops", + "type": "int" + }, + { + "name": "iops_rd", + "type": "int" + }, + { + "name": "iops_wr", + "type": "int" + }, + { + "name": "image", + "type": "243" + }, + { + "name": "bps_max", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max", + "default": null, + "type": "int" + }, + { + "name": "iops_max", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max", + "default": null, + "type": "int" + }, + { + "name": "bps_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_size", + "default": null, + "type": "int" + }, + { + "name": "group", + "default": null, + "type": "str" + }, + { + "name": "cache", + "type": "244" + }, + { + "name": "write_threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[136]", + "element-type": "136", + "meta-type": "array" + }, + { + "name": "136", + "members": [ + { + "name": "bus", + "type": "int" + }, + { + "name": "devices", + "type": "[245]" + } + ], + "meta-type": "object" + }, + { + "name": "[137]", + "element-type": "137", + "meta-type": "array" + }, + { + "name": "137", + "tag": "meta-type", + "variants": [ + { + "case": "builtin", + "type": "247" + }, + { + "case": "enum", + "type": "248" + }, + { + "case": "array", + "type": "249" + }, + { + "case": "object", + "type": "250" + }, + { + "case": "alternate", + "type": "251" + }, + { + "case": "command", + "type": "252" + }, + { + "case": "event", + "type": "253" + } + ], + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "meta-type", + "type": "246" + } + ], + "meta-type": "object" + }, + { + "name": "138", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "139", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "id", + "type": "int" + }, + { + "name": "ports", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "140", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "tbl-id", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[141]", + "element-type": "141", + "meta-type": "array" + }, + { + "name": "141", + "members": [ + { + "name": "cookie", + "type": "int" + }, + { + "name": "hits", + "type": "int" + }, + { + "name": "key", + "type": "254" + }, + { + "name": "mask", + "type": "255" + }, + { + "name": "action", + "type": "256" + } + ], + "meta-type": "object" + }, + { + "name": "142", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[143]", + "element-type": "143", + "meta-type": "array" + }, + { + "name": "143", + "members": [ + { + "name": "id", + "type": "int" + }, + { + "name": "type", + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "pport", + "default": null, + "type": "int" + }, + { + "name": "index", + "default": null, + "type": "int" + }, + { + "name": "out-pport", + "default": null, + "type": "int" + }, + { + "name": "group-id", + "default": null, + "type": "int" + }, + { + "name": "set-vlan-id", + "default": null, + "type": "int" + }, + { + "name": "pop-vlan", + "default": null, + "type": "int" + }, + { + "name": "group-ids", + "default": null, + "type": "[int]" + }, + { + "name": "set-eth-src", + "default": null, + "type": "str" + }, + { + "name": "set-eth-dst", + "default": null, + "type": "str" + }, + { + "name": "ttl-check", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "144", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[145]", + "element-type": "145", + "meta-type": "array" + }, + { + "name": "145", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "enabled", + "type": "bool" + }, + { + "name": "link-up", + "type": "bool" + }, + { + "name": "speed", + "type": "int" + }, + { + "name": "duplex", + "type": "257" + }, + { + "name": "autoneg", + "type": "258" + } + ], + "meta-type": "object" + }, + { + "name": "146", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[147]", + "element-type": "147", + "meta-type": "array" + }, + { + "name": "147", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "promiscuous", + "type": "bool" + }, + { + "name": "multicast", + "type": "259" + }, + { + "name": "unicast", + "type": "259" + }, + { + "name": "vlan", + "type": "259" + }, + { + "name": "broadcast-allowed", + "type": "bool" + }, + { + "name": "multicast-overflow", + "type": "bool" + }, + { + "name": "unicast-overflow", + "type": "bool" + }, + { + "name": "main-mac", + "type": "str" + }, + { + "name": "vlan-table", + "type": "[int]" + }, + { + "name": "unicast-table", + "type": "[str]" + }, + { + "name": "multicast-table", + "type": "[str]" + } + ], + "meta-type": "object" + }, + { + "name": "148", + "members": [ + { + "name": "enabled", + "type": "bool" + }, + { + "name": "migrated", + "type": "bool" + }, + { + "name": "host", + "default": null, + "type": "str" + }, + { + "name": "port", + "default": null, + "type": "int" + }, + { + "name": "tls-port", + "default": null, + "type": "int" + }, + { + "name": "auth", + "default": null, + "type": "str" + }, + { + "name": "compiled-version", + "default": null, + "type": "str" + }, + { + "name": "mouse-mode", + "type": "260" + }, + { + "name": "channels", + "default": null, + "type": "[184]" + } + ], + "meta-type": "object" + }, + { + "name": "149", + "members": [ + { + "name": "running", + "type": "bool" + }, + { + "name": "singlestep", + "type": "bool" + }, + { + "name": "status", + "type": "261" + } + ], + "meta-type": "object" + }, + { + "name": "150", + "members": [ + { + "name": "arch", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[151]", + "element-type": "151", + "meta-type": "array" + }, + { + "name": "151", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "model", + "type": "152" + }, + { + "name": "options", + "type": "262" + } + ], + "meta-type": "object" + }, + { + "name": "[152]", + "element-type": "152", + "meta-type": "array" + }, + { + "name": "152", + "meta-type": "enum", + "values": [ + "tpm-tis" + ] + }, + { + "name": "[153]", + "element-type": "153", + "meta-type": "array" + }, + { + "name": "153", + "meta-type": "enum", + "values": [ + "passthrough" + ] + }, + { + "name": "154", + "members": [ + { + "name": "UUID", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "155", + "members": [ + { + "name": "qemu", + "type": "263" + }, + { + "name": "package", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "156", + "members": [ + { + "name": "enabled", + "type": "bool" + }, + { + "name": "host", + "default": null, + "type": "str" + }, + { + "name": "family", + "default": null, + "type": "264" + }, + { + "name": "service", + "default": null, + "type": "str" + }, + { + "name": "auth", + "default": null, + "type": "str" + }, + { + "name": "clients", + "default": null, + "type": "[187]" + } + ], + "meta-type": "object" + }, + { + "name": "[157]", + "element-type": "157", + "meta-type": "array" + }, + { + "name": "157", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "server", + "type": "[186]" + }, + { + "name": "clients", + "type": "[187]" + }, + { + "name": "auth", + "type": "265" + }, + { + "name": "vencrypt", + "default": null, + "type": "266" + }, + { + "name": "display", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "158", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fd", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "159", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "format", + "default": null, + "type": "267" + } + ], + "meta-type": "object" + }, + { + "name": "160", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "data", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "267" + } + ], + "meta-type": "object" + }, + { + "name": "161", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "162", + "members": [ + { + "name": "keys", + "type": "[268]" + }, + { + "name": "hold-time", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "163", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "up", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "164", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "password", + "type": "str" + }, + { + "name": "connected", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "165", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "vcpu", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[166]", + "element-type": "166", + "meta-type": "array" + }, + { + "name": "166", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "state", + "type": "269" + }, + { + "name": "vcpu", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "167", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "enable", + "type": "bool" + }, + { + "name": "ignore-unavailable", + "default": null, + "type": "bool" + }, + { + "name": "vcpu", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "168", + "members": [ + { + "name": "actions", + "type": "[270]" + }, + { + "name": "properties", + "default": null, + "type": "271" + } + ], + "meta-type": "object" + }, + { + "name": "169", + "members": [ + { + "name": "parent", + "type": "str" + }, + { + "name": "child", + "default": null, + "type": "str" + }, + { + "name": "node", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "170", + "members": [ + { + "name": "node-name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "171", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "172", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "173", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "174", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "175", + "members": [ + { + "name": "enable", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "bool", + "json-type": "boolean", + "meta-type": "builtin" + }, + { + "name": "176", + "meta-type": "enum", + "values": [ + "read", + "write" + ] + }, + { + "name": "177", + "meta-type": "enum", + "values": [ + "ignore", + "report", + "stop" + ] + }, + { + "name": "178", + "meta-type": "enum", + "values": [ + "commit", + "stream", + "mirror", + "backup" + ] + }, + { + "name": "179", + "meta-type": "enum", + "values": [ + "pause", + "poweroff" + ] + }, + { + "name": "180", + "meta-type": "enum", + "values": [ + "none", + "setup", + "cancelling", + "cancelled", + "active", + "postcopy-active", + "completed", + "failed", + "colo" + ] + }, + { + "name": "181", + "meta-type": "enum", + "values": [ + "read", + "write", + "flush" + ] + }, + { + "name": "182", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "264" + } + ], + "meta-type": "object" + }, + { + "name": "183", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "264" + }, + { + "name": "auth", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "184", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "264" + }, + { + "name": "connection-id", + "type": "int" + }, + { + "name": "channel-type", + "type": "int" + }, + { + "name": "channel-id", + "type": "int" + }, + { + "name": "tls", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "185", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "264" + }, + { + "name": "websocket", + "type": "bool" + }, + { + "name": "auth", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "186", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "264" + }, + { + "name": "websocket", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "187", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "264" + }, + { + "name": "websocket", + "type": "bool" + }, + { + "name": "x509_dname", + "default": null, + "type": "str" + }, + { + "name": "sasl_username", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "188", + "meta-type": "enum", + "values": [ + "reset", + "shutdown", + "poweroff", + "pause", + "debug", + "none", + "inject-nmi" + ] + }, + { + "name": "189", + "meta-type": "enum", + "values": [ + "report", + "ignore", + "enospc", + "stop", + "auto" + ] + }, + { + "name": "190", + "meta-type": "enum", + "values": [ + "archipelago", + "blkdebug", + "blkverify", + "bochs", + "cloop", + "dmg", + "file", + "ftp", + "ftps", + "gluster", + "host_cdrom", + "host_device", + "http", + "https", + "luks", + "nbd", + "nfs", + "null-aio", + "null-co", + "parallels", + "qcow", + "qcow2", + "qed", + "quorum", + "raw", + "replication", + "ssh", + "vdi", + "vhdx", + "vmdk", + "vpc", + "vvfat" + ] + }, + { + "name": "191", + "meta-type": "enum", + "values": [ + "ignore", + "unmap" + ] + }, + { + "name": "192", + "members": [ + { + "name": "direct", + "default": null, + "type": "bool" + }, + { + "name": "no-flush", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "193", + "meta-type": "enum", + "values": [ + "off", + "on", + "unmap" + ] + }, + { + "name": "194", + "members": [ + { + "name": "volume", + "type": "str" + }, + { + "name": "mport", + "default": null, + "type": "int" + }, + { + "name": "vport", + "default": null, + "type": "int" + }, + { + "name": "segment", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "195", + "members": [ + { + "name": "image", + "type": "272" + }, + { + "name": "config", + "default": null, + "type": "str" + }, + { + "name": "align", + "default": null, + "type": "int" + }, + { + "name": "inject-error", + "default": null, + "type": "[273]" + }, + { + "name": "set-state", + "default": null, + "type": "[274]" + } + ], + "meta-type": "object" + }, + { + "name": "196", + "members": [ + { + "name": "test", + "type": "272" + }, + { + "name": "raw", + "type": "272" + } + ], + "meta-type": "object" + }, + { + "name": "197", + "members": [ + { + "name": "file", + "type": "272" + } + ], + "meta-type": "object" + }, + { + "name": "198", + "members": [ + { + "name": "filename", + "type": "str" + }, + { + "name": "aio", + "default": null, + "type": "275" + } + ], + "meta-type": "object" + }, + { + "name": "199", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "200", + "members": [ + { + "name": "volume", + "type": "str" + }, + { + "name": "path", + "type": "str" + }, + { + "name": "server", + "type": "[276]" + }, + { + "name": "debug", + "default": null, + "type": "int" + }, + { + "name": "logfile", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "201", + "members": [ + { + "name": "file", + "type": "272" + }, + { + "name": "key-secret", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "202", + "members": [ + { + "name": "server", + "type": "218" + }, + { + "name": "export", + "default": null, + "type": "str" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "203", + "members": [ + { + "name": "server", + "type": "277" + }, + { + "name": "path", + "type": "str" + }, + { + "name": "user", + "default": null, + "type": "int" + }, + { + "name": "group", + "default": null, + "type": "int" + }, + { + "name": "tcp-syn-count", + "default": null, + "type": "int" + }, + { + "name": "readahead-size", + "default": null, + "type": "int" + }, + { + "name": "page-cache-size", + "default": null, + "type": "int" + }, + { + "name": "debug", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "204", + "members": [ + { + "name": "size", + "default": null, + "type": "int" + }, + { + "name": "latency-ns", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "205", + "members": [ + { + "name": "file", + "type": "272" + }, + { + "name": "backing", + "default": null, + "type": "272" + }, + { + "name": "lazy-refcounts", + "default": null, + "type": "bool" + }, + { + "name": "pass-discard-request", + "default": null, + "type": "bool" + }, + { + "name": "pass-discard-snapshot", + "default": null, + "type": "bool" + }, + { + "name": "pass-discard-other", + "default": null, + "type": "bool" + }, + { + "name": "overlap-check", + "default": null, + "type": "278" + }, + { + "name": "cache-size", + "default": null, + "type": "int" + }, + { + "name": "l2-cache-size", + "default": null, + "type": "int" + }, + { + "name": "refcount-cache-size", + "default": null, + "type": "int" + }, + { + "name": "cache-clean-interval", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "206", + "members": [ + { + "name": "file", + "type": "272" + }, + { + "name": "backing", + "default": null, + "type": "272" + } + ], + "meta-type": "object" + }, + { + "name": "207", + "members": [ + { + "name": "blkverify", + "default": null, + "type": "bool" + }, + { + "name": "children", + "type": "[272]" + }, + { + "name": "vote-threshold", + "type": "int" + }, + { + "name": "rewrite-corrupted", + "default": null, + "type": "bool" + }, + { + "name": "read-pattern", + "default": null, + "type": "279" + } + ], + "meta-type": "object" + }, + { + "name": "208", + "members": [ + { + "name": "file", + "type": "272" + }, + { + "name": "offset", + "default": null, + "type": "int" + }, + { + "name": "size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "209", + "members": [ + { + "name": "file", + "type": "272" + }, + { + "name": "mode", + "type": "280" + }, + { + "name": "top-id", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "210", + "members": [ + { + "name": "server", + "type": "281" + }, + { + "name": "path", + "type": "str" + }, + { + "name": "user", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "211", + "members": [ + { + "name": "dir", + "type": "str" + }, + { + "name": "fat-type", + "default": null, + "type": "int" + }, + { + "name": "floppy", + "default": null, + "type": "bool" + }, + { + "name": "label", + "default": null, + "type": "str" + }, + { + "name": "rw", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "212", + "meta-type": "enum", + "values": [ + "top", + "full", + "none", + "incremental" + ] + }, + { + "name": "213", + "meta-type": "enum", + "values": [ + "retain", + "read-only", + "read-write" + ] + }, + { + "name": "214", + "meta-type": "enum", + "values": [ + "existing", + "absolute-paths" + ] + }, + { + "name": "215", + "tag": "type", + "variants": [ + { + "case": "file", + "type": "283" + }, + { + "case": "serial", + "type": "284" + }, + { + "case": "parallel", + "type": "284" + }, + { + "case": "pipe", + "type": "284" + }, + { + "case": "socket", + "type": "285" + }, + { + "case": "udp", + "type": "286" + }, + { + "case": "pty", + "type": "287" + }, + { + "case": "null", + "type": "287" + }, + { + "case": "mux", + "type": "288" + }, + { + "case": "msmouse", + "type": "287" + }, + { + "case": "braille", + "type": "287" + }, + { + "case": "testdev", + "type": "287" + }, + { + "case": "stdio", + "type": "289" + }, + { + "case": "console", + "type": "287" + }, + { + "case": "spicevmc", + "type": "290" + }, + { + "case": "spiceport", + "type": "291" + }, + { + "case": "vc", + "type": "292" + }, + { + "case": "ringbuf", + "type": "293" + }, + { + "case": "memory", + "type": "293" + } + ], + "members": [ + { + "name": "type", + "type": "282" + } + ], + "meta-type": "object" + }, + { + "name": "216", + "meta-type": "enum", + "values": [ + "elf", + "kdump-zlib", + "kdump-lzo", + "kdump-snappy" + ] + }, + { + "name": "[217]", + "element-type": "217", + "meta-type": "array" + }, + { + "name": "217", + "tag": "type", + "variants": [ + { + "case": "key", + "type": "295" + }, + { + "case": "btn", + "type": "296" + }, + { + "case": "rel", + "type": "297" + }, + { + "case": "abs", + "type": "297" + } + ], + "members": [ + { + "name": "type", + "type": "294" + } + ], + "meta-type": "object" + }, + { + "name": "number", + "json-type": "number", + "meta-type": "builtin" + }, + { + "name": "218", + "tag": "type", + "variants": [ + { + "case": "inet", + "type": "299" + }, + { + "case": "unix", + "type": "300" + }, + { + "case": "vsock", + "type": "301" + }, + { + "case": "fd", + "type": "302" + } + ], + "members": [ + { + "name": "type", + "type": "298" + } + ], + "meta-type": "object" + }, + { + "name": "219", + "meta-type": "enum", + "values": [ + "DIMM", + "CPU" + ] + }, + { + "name": "220", + "meta-type": "enum", + "values": [ + "ok", + "failed", + "nospace" + ] + }, + { + "name": "[221]", + "element-type": "221", + "meta-type": "array" + }, + { + "name": "221", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + }, + { + "name": "count", + "type": "int" + }, + { + "name": "granularity", + "type": "int" + }, + { + "name": "status", + "type": "303" + } + ], + "meta-type": "object" + }, + { + "name": "222", + "members": [ + { + "name": "rd_bytes", + "type": "int" + }, + { + "name": "wr_bytes", + "type": "int" + }, + { + "name": "rd_operations", + "type": "int" + }, + { + "name": "wr_operations", + "type": "int" + }, + { + "name": "flush_operations", + "type": "int" + }, + { + "name": "flush_total_time_ns", + "type": "int" + }, + { + "name": "wr_total_time_ns", + "type": "int" + }, + { + "name": "rd_total_time_ns", + "type": "int" + }, + { + "name": "wr_highest_offset", + "type": "int" + }, + { + "name": "rd_merged", + "type": "int" + }, + { + "name": "wr_merged", + "type": "int" + }, + { + "name": "idle_time_ns", + "default": null, + "type": "int" + }, + { + "name": "failed_rd_operations", + "type": "int" + }, + { + "name": "failed_wr_operations", + "type": "int" + }, + { + "name": "failed_flush_operations", + "type": "int" + }, + { + "name": "invalid_rd_operations", + "type": "int" + }, + { + "name": "invalid_wr_operations", + "type": "int" + }, + { + "name": "invalid_flush_operations", + "type": "int" + }, + { + "name": "account_invalid", + "type": "bool" + }, + { + "name": "account_failed", + "type": "bool" + }, + { + "name": "timed_stats", + "type": "[304]" + } + ], + "meta-type": "object" + }, + { + "name": "[223]", + "element-type": "223", + "meta-type": "array" + }, + { + "name": "223", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "305" + }, + { + "name": "help", + "default": null, + "type": "str" + }, + { + "name": "default", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[str]", + "element-type": "str", + "meta-type": "array" + }, + { + "name": "224", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "props", + "default": null, + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "225", + "meta-type": "enum", + "values": [ + "incompatible", + "identical", + "superset", + "subset" + ] + }, + { + "name": "226", + "meta-type": "enum", + "values": [ + "static", + "full" + ] + }, + { + "name": "227", + "meta-type": "enum", + "values": [ + "x86", + "sparc", + "ppc", + "mips", + "tricore", + "other" + ] + }, + { + "name": "228", + "members": [ + { + "name": "pc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "229", + "members": [ + { + "name": "pc", + "type": "int" + }, + { + "name": "npc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "230", + "members": [ + { + "name": "nip", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "231", + "members": [ + { + "name": "PC", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "232", + "members": [ + { + "name": "PC", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "233", + "members": [ + ], + "meta-type": "object" + }, + { + "name": "234", + "meta-type": "enum", + "values": [ + "none", + "active", + "completed", + "failed" + ] + }, + { + "name": "[216]", + "element-type": "216", + "meta-type": "array" + }, + { + "name": "[235]", + "element-type": "235", + "meta-type": "array" + }, + { + "name": "235", + "members": [ + { + "name": "fd", + "type": "int" + }, + { + "name": "opaque", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "236", + "members": [ + { + "name": "node-id", + "default": null, + "type": "int" + }, + { + "name": "socket-id", + "default": null, + "type": "int" + }, + { + "name": "core-id", + "default": null, + "type": "int" + }, + { + "name": "thread-id", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[int]", + "element-type": "int", + "meta-type": "array" + }, + { + "name": "237", + "meta-type": "enum", + "values": [ + "default", + "preferred", + "bind", + "interleave" + ] + }, + { + "name": "238", + "meta-type": "enum", + "values": [ + "dimm" + ] + }, + { + "name": "239", + "members": [ + { + "name": "data", + "type": "306" + } + ], + "meta-type": "object" + }, + { + "name": "240", + "members": [ + { + "name": "transferred", + "type": "int" + }, + { + "name": "remaining", + "type": "int" + }, + { + "name": "total", + "type": "int" + }, + { + "name": "duplicate", + "type": "int" + }, + { + "name": "skipped", + "type": "int" + }, + { + "name": "normal", + "type": "int" + }, + { + "name": "normal-bytes", + "type": "int" + }, + { + "name": "dirty-pages-rate", + "type": "int" + }, + { + "name": "mbps", + "type": "number" + }, + { + "name": "dirty-sync-count", + "type": "int" + }, + { + "name": "postcopy-requests", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "241", + "members": [ + { + "name": "cache-size", + "type": "int" + }, + { + "name": "bytes", + "type": "int" + }, + { + "name": "pages", + "type": "int" + }, + { + "name": "cache-miss", + "type": "int" + }, + { + "name": "cache-miss-rate", + "type": "number" + }, + { + "name": "overflow", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "242", + "meta-type": "enum", + "values": [ + "xbzrle", + "rdma-pin-all", + "auto-converge", + "zero-blocks", + "compress", + "events", + "postcopy-ram", + "x-colo" + ] + }, + { + "name": "243", + "members": [ + { + "name": "filename", + "type": "str" + }, + { + "name": "format", + "type": "str" + }, + { + "name": "dirty-flag", + "default": null, + "type": "bool" + }, + { + "name": "actual-size", + "default": null, + "type": "int" + }, + { + "name": "virtual-size", + "type": "int" + }, + { + "name": "cluster-size", + "default": null, + "type": "int" + }, + { + "name": "encrypted", + "default": null, + "type": "bool" + }, + { + "name": "compressed", + "default": null, + "type": "bool" + }, + { + "name": "backing-filename", + "default": null, + "type": "str" + }, + { + "name": "full-backing-filename", + "default": null, + "type": "str" + }, + { + "name": "backing-filename-format", + "default": null, + "type": "str" + }, + { + "name": "snapshots", + "default": null, + "type": "[54]" + }, + { + "name": "backing-image", + "default": null, + "type": "243" + }, + { + "name": "format-specific", + "default": null, + "type": "307" + } + ], + "meta-type": "object" + }, + { + "name": "244", + "members": [ + { + "name": "writeback", + "type": "bool" + }, + { + "name": "direct", + "type": "bool" + }, + { + "name": "no-flush", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[245]", + "element-type": "245", + "meta-type": "array" + }, + { + "name": "245", + "members": [ + { + "name": "bus", + "type": "int" + }, + { + "name": "slot", + "type": "int" + }, + { + "name": "function", + "type": "int" + }, + { + "name": "class_info", + "type": "308" + }, + { + "name": "id", + "type": "309" + }, + { + "name": "irq", + "default": null, + "type": "int" + }, + { + "name": "qdev_id", + "type": "str" + }, + { + "name": "pci_bridge", + "default": null, + "type": "310" + }, + { + "name": "regions", + "type": "[311]" + } + ], + "meta-type": "object" + }, + { + "name": "246", + "meta-type": "enum", + "values": [ + "builtin", + "enum", + "array", + "object", + "alternate", + "command", + "event" + ] + }, + { + "name": "247", + "members": [ + { + "name": "json-type", + "type": "312" + } + ], + "meta-type": "object" + }, + { + "name": "248", + "members": [ + { + "name": "values", + "type": "[str]" + } + ], + "meta-type": "object" + }, + { + "name": "249", + "members": [ + { + "name": "element-type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "250", + "members": [ + { + "name": "members", + "type": "[313]" + }, + { + "name": "tag", + "default": null, + "type": "str" + }, + { + "name": "variants", + "default": null, + "type": "[314]" + } + ], + "meta-type": "object" + }, + { + "name": "251", + "members": [ + { + "name": "members", + "type": "[315]" + } + ], + "meta-type": "object" + }, + { + "name": "252", + "members": [ + { + "name": "arg-type", + "type": "str" + }, + { + "name": "ret-type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "253", + "members": [ + { + "name": "arg-type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "254", + "members": [ + { + "name": "priority", + "type": "int" + }, + { + "name": "tbl-id", + "type": "int" + }, + { + "name": "in-pport", + "default": null, + "type": "int" + }, + { + "name": "tunnel-id", + "default": null, + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "eth-type", + "default": null, + "type": "int" + }, + { + "name": "eth-src", + "default": null, + "type": "str" + }, + { + "name": "eth-dst", + "default": null, + "type": "str" + }, + { + "name": "ip-proto", + "default": null, + "type": "int" + }, + { + "name": "ip-tos", + "default": null, + "type": "int" + }, + { + "name": "ip-dst", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "255", + "members": [ + { + "name": "in-pport", + "default": null, + "type": "int" + }, + { + "name": "tunnel-id", + "default": null, + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "eth-src", + "default": null, + "type": "str" + }, + { + "name": "eth-dst", + "default": null, + "type": "str" + }, + { + "name": "ip-proto", + "default": null, + "type": "int" + }, + { + "name": "ip-tos", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "256", + "members": [ + { + "name": "goto-tbl", + "default": null, + "type": "int" + }, + { + "name": "group-id", + "default": null, + "type": "int" + }, + { + "name": "tunnel-lport", + "default": null, + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "new-vlan-id", + "default": null, + "type": "int" + }, + { + "name": "out-pport", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "257", + "meta-type": "enum", + "values": [ + "half", + "full" + ] + }, + { + "name": "258", + "meta-type": "enum", + "values": [ + "off", + "on" + ] + }, + { + "name": "259", + "meta-type": "enum", + "values": [ + "normal", + "none", + "all" + ] + }, + { + "name": "260", + "meta-type": "enum", + "values": [ + "client", + "server", + "unknown" + ] + }, + { + "name": "[184]", + "element-type": "184", + "meta-type": "array" + }, + { + "name": "261", + "meta-type": "enum", + "values": [ + "debug", + "inmigrate", + "internal-error", + "io-error", + "paused", + "postmigrate", + "prelaunch", + "finish-migrate", + "restore-vm", + "running", + "save-vm", + "shutdown", + "suspended", + "watchdog", + "guest-panicked", + "colo" + ] + }, + { + "name": "262", + "tag": "type", + "variants": [ + { + "case": "passthrough", + "type": "317" + } + ], + "members": [ + { + "name": "type", + "type": "316" + } + ], + "meta-type": "object" + }, + { + "name": "263", + "members": [ + { + "name": "major", + "type": "int" + }, + { + "name": "minor", + "type": "int" + }, + { + "name": "micro", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "264", + "meta-type": "enum", + "values": [ + "ipv4", + "ipv6", + "unix", + "vsock", + "unknown" + ] + }, + { + "name": "[187]", + "element-type": "187", + "meta-type": "array" + }, + { + "name": "[186]", + "element-type": "186", + "meta-type": "array" + }, + { + "name": "265", + "meta-type": "enum", + "values": [ + "none", + "vnc", + "ra2", + "ra2ne", + "tight", + "ultra", + "tls", + "vencrypt", + "sasl" + ] + }, + { + "name": "266", + "meta-type": "enum", + "values": [ + "plain", + "tls-none", + "x509-none", + "tls-vnc", + "x509-vnc", + "tls-plain", + "x509-plain", + "tls-sasl", + "x509-sasl" + ] + }, + { + "name": "267", + "meta-type": "enum", + "values": [ + "utf8", + "base64" + ] + }, + { + "name": "[268]", + "element-type": "268", + "meta-type": "array" + }, + { + "name": "268", + "tag": "type", + "variants": [ + { + "case": "number", + "type": "319" + }, + { + "case": "qcode", + "type": "320" + } + ], + "members": [ + { + "name": "type", + "type": "318" + } + ], + "meta-type": "object" + }, + { + "name": "269", + "meta-type": "enum", + "values": [ + "unavailable", + "disabled", + "enabled" + ] + }, + { + "name": "[270]", + "element-type": "270", + "meta-type": "array" + }, + { + "name": "270", + "tag": "type", + "variants": [ + { + "case": "abort", + "type": "322" + }, + { + "case": "block-dirty-bitmap-add", + "type": "323" + }, + { + "case": "block-dirty-bitmap-clear", + "type": "324" + }, + { + "case": "blockdev-backup", + "type": "325" + }, + { + "case": "blockdev-snapshot", + "type": "326" + }, + { + "case": "blockdev-snapshot-internal-sync", + "type": "327" + }, + { + "case": "blockdev-snapshot-sync", + "type": "328" + }, + { + "case": "drive-backup", + "type": "329" + } + ], + "members": [ + { + "name": "type", + "type": "321" + } + ], + "meta-type": "object" + }, + { + "name": "271", + "members": [ + { + "name": "completion-mode", + "default": null, + "type": "330" + } + ], + "meta-type": "object" + }, + { + "name": "272", + "members": [ + { + "type": "46" + }, + { + "type": "str" + } + ], + "meta-type": "alternate" + }, + { + "name": "[273]", + "element-type": "273", + "meta-type": "array" + }, + { + "name": "273", + "members": [ + { + "name": "event", + "type": "331" + }, + { + "name": "state", + "default": null, + "type": "int" + }, + { + "name": "errno", + "default": null, + "type": "int" + }, + { + "name": "sector", + "default": null, + "type": "int" + }, + { + "name": "once", + "default": null, + "type": "bool" + }, + { + "name": "immediately", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[274]", + "element-type": "274", + "meta-type": "array" + }, + { + "name": "274", + "members": [ + { + "name": "event", + "type": "331" + }, + { + "name": "state", + "default": null, + "type": "int" + }, + { + "name": "new_state", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "275", + "meta-type": "enum", + "values": [ + "threads", + "native" + ] + }, + { + "name": "[276]", + "element-type": "276", + "meta-type": "array" + }, + { + "name": "276", + "tag": "type", + "variants": [ + { + "case": "unix", + "type": "333" + }, + { + "case": "tcp", + "type": "281" + } + ], + "members": [ + { + "name": "type", + "type": "332" + } + ], + "meta-type": "object" + }, + { + "name": "277", + "members": [ + { + "name": "type", + "type": "334" + }, + { + "name": "host", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "278", + "members": [ + { + "type": "335" + }, + { + "type": "336" + } + ], + "meta-type": "alternate" + }, + { + "name": "[272]", + "element-type": "272", + "meta-type": "array" + }, + { + "name": "279", + "meta-type": "enum", + "values": [ + "quorum", + "fifo" + ] + }, + { + "name": "280", + "meta-type": "enum", + "values": [ + "primary", + "secondary" + ] + }, + { + "name": "281", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "numeric", + "default": null, + "type": "bool" + }, + { + "name": "to", + "default": null, + "type": "int" + }, + { + "name": "ipv4", + "default": null, + "type": "bool" + }, + { + "name": "ipv6", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "282", + "meta-type": "enum", + "values": [ + "file", + "serial", + "parallel", + "pipe", + "socket", + "udp", + "pty", + "null", + "mux", + "msmouse", + "braille", + "testdev", + "stdio", + "console", + "spicevmc", + "spiceport", + "vc", + "ringbuf", + "memory" + ] + }, + { + "name": "283", + "members": [ + { + "name": "data", + "type": "337" + } + ], + "meta-type": "object" + }, + { + "name": "284", + "members": [ + { + "name": "data", + "type": "338" + } + ], + "meta-type": "object" + }, + { + "name": "285", + "members": [ + { + "name": "data", + "type": "339" + } + ], + "meta-type": "object" + }, + { + "name": "286", + "members": [ + { + "name": "data", + "type": "340" + } + ], + "meta-type": "object" + }, + { + "name": "287", + "members": [ + { + "name": "data", + "type": "341" + } + ], + "meta-type": "object" + }, + { + "name": "288", + "members": [ + { + "name": "data", + "type": "342" + } + ], + "meta-type": "object" + }, + { + "name": "289", + "members": [ + { + "name": "data", + "type": "343" + } + ], + "meta-type": "object" + }, + { + "name": "290", + "members": [ + { + "name": "data", + "type": "344" + } + ], + "meta-type": "object" + }, + { + "name": "291", + "members": [ + { + "name": "data", + "type": "345" + } + ], + "meta-type": "object" + }, + { + "name": "292", + "members": [ + { + "name": "data", + "type": "346" + } + ], + "meta-type": "object" + }, + { + "name": "293", + "members": [ + { + "name": "data", + "type": "347" + } + ], + "meta-type": "object" + }, + { + "name": "294", + "meta-type": "enum", + "values": [ + "key", + "btn", + "rel", + "abs" + ] + }, + { + "name": "295", + "members": [ + { + "name": "data", + "type": "348" + } + ], + "meta-type": "object" + }, + { + "name": "296", + "members": [ + { + "name": "data", + "type": "349" + } + ], + "meta-type": "object" + }, + { + "name": "297", + "members": [ + { + "name": "data", + "type": "350" + } + ], + "meta-type": "object" + }, + { + "name": "298", + "meta-type": "enum", + "values": [ + "inet", + "unix", + "vsock", + "fd" + ] + }, + { + "name": "299", + "members": [ + { + "name": "data", + "type": "281" + } + ], + "meta-type": "object" + }, + { + "name": "300", + "members": [ + { + "name": "data", + "type": "333" + } + ], + "meta-type": "object" + }, + { + "name": "301", + "members": [ + { + "name": "data", + "type": "351" + } + ], + "meta-type": "object" + }, + { + "name": "302", + "members": [ + { + "name": "data", + "type": "352" + } + ], + "meta-type": "object" + }, + { + "name": "303", + "meta-type": "enum", + "values": [ + "active", + "disabled", + "frozen" + ] + }, + { + "name": "[304]", + "element-type": "304", + "meta-type": "array" + }, + { + "name": "304", + "members": [ + { + "name": "interval_length", + "type": "int" + }, + { + "name": "min_rd_latency_ns", + "type": "int" + }, + { + "name": "max_rd_latency_ns", + "type": "int" + }, + { + "name": "avg_rd_latency_ns", + "type": "int" + }, + { + "name": "min_wr_latency_ns", + "type": "int" + }, + { + "name": "max_wr_latency_ns", + "type": "int" + }, + { + "name": "avg_wr_latency_ns", + "type": "int" + }, + { + "name": "min_flush_latency_ns", + "type": "int" + }, + { + "name": "max_flush_latency_ns", + "type": "int" + }, + { + "name": "avg_flush_latency_ns", + "type": "int" + }, + { + "name": "avg_rd_queue_depth", + "type": "number" + }, + { + "name": "avg_wr_queue_depth", + "type": "number" + } + ], + "meta-type": "object" + }, + { + "name": "305", + "meta-type": "enum", + "values": [ + "string", + "boolean", + "number", + "size" + ] + }, + { + "name": "306", + "members": [ + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "addr", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "slot", + "type": "int" + }, + { + "name": "node", + "type": "int" + }, + { + "name": "memdev", + "type": "str" + }, + { + "name": "hotplugged", + "type": "bool" + }, + { + "name": "hotpluggable", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[54]", + "element-type": "54", + "meta-type": "array" + }, + { + "name": "307", + "tag": "type", + "variants": [ + { + "case": "qcow2", + "type": "354" + }, + { + "case": "vmdk", + "type": "355" + }, + { + "case": "luks", + "type": "356" + } + ], + "members": [ + { + "name": "type", + "type": "353" + } + ], + "meta-type": "object" + }, + { + "name": "308", + "members": [ + { + "name": "desc", + "default": null, + "type": "str" + }, + { + "name": "class", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "309", + "members": [ + { + "name": "device", + "type": "int" + }, + { + "name": "vendor", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "310", + "members": [ + { + "name": "bus", + "type": "357" + }, + { + "name": "devices", + "default": null, + "type": "[245]" + } + ], + "meta-type": "object" + }, + { + "name": "[311]", + "element-type": "311", + "meta-type": "array" + }, + { + "name": "311", + "members": [ + { + "name": "bar", + "type": "int" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "address", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "prefetch", + "default": null, + "type": "bool" + }, + { + "name": "mem_type_64", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "312", + "meta-type": "enum", + "values": [ + "string", + "number", + "int", + "boolean", + "null", + "object", + "array", + "value" + ] + }, + { + "name": "[313]", + "element-type": "313", + "meta-type": "array" + }, + { + "name": "313", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "default", + "default": null, + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "[314]", + "element-type": "314", + "meta-type": "array" + }, + { + "name": "314", + "members": [ + { + "name": "case", + "type": "str" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[315]", + "element-type": "315", + "meta-type": "array" + }, + { + "name": "315", + "members": [ + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "316", + "meta-type": "enum", + "values": [ + "passthrough" + ] + }, + { + "name": "317", + "members": [ + { + "name": "data", + "type": "358" + } + ], + "meta-type": "object" + }, + { + "name": "318", + "meta-type": "enum", + "values": [ + "number", + "qcode" + ] + }, + { + "name": "319", + "members": [ + { + "name": "data", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "320", + "members": [ + { + "name": "data", + "type": "359" + } + ], + "meta-type": "object" + }, + { + "name": "321", + "meta-type": "enum", + "values": [ + "abort", + "block-dirty-bitmap-add", + "block-dirty-bitmap-clear", + "blockdev-backup", + "blockdev-snapshot", + "blockdev-snapshot-internal-sync", + "blockdev-snapshot-sync", + "drive-backup" + ] + }, + { + "name": "322", + "members": [ + { + "name": "data", + "type": "360" + } + ], + "meta-type": "object" + }, + { + "name": "323", + "members": [ + { + "name": "data", + "type": "34" + } + ], + "meta-type": "object" + }, + { + "name": "324", + "members": [ + { + "name": "data", + "type": "35" + } + ], + "meta-type": "object" + }, + { + "name": "325", + "members": [ + { + "name": "data", + "type": "47" + } + ], + "meta-type": "object" + }, + { + "name": "326", + "members": [ + { + "name": "data", + "type": "52" + } + ], + "meta-type": "object" + }, + { + "name": "327", + "members": [ + { + "name": "data", + "type": "55" + } + ], + "meta-type": "object" + }, + { + "name": "328", + "members": [ + { + "name": "data", + "type": "56" + } + ], + "meta-type": "object" + }, + { + "name": "329", + "members": [ + { + "name": "data", + "type": "71" + } + ], + "meta-type": "object" + }, + { + "name": "330", + "meta-type": "enum", + "values": [ + "individual", + "grouped" + ] + }, + { + "name": "331", + "meta-type": "enum", + "values": [ + "l1_update", + "l1_grow_alloc_table", + "l1_grow_write_table", + "l1_grow_activate_table", + "l2_load", + "l2_update", + "l2_update_compressed", + "l2_alloc_cow_read", + "l2_alloc_write", + "read_aio", + "read_backing_aio", + "read_compressed", + "write_aio", + "write_compressed", + "vmstate_load", + "vmstate_save", + "cow_read", + "cow_write", + "reftable_load", + "reftable_grow", + "reftable_update", + "refblock_load", + "refblock_update", + "refblock_update_part", + "refblock_alloc", + "refblock_alloc_hookup", + "refblock_alloc_write", + "refblock_alloc_write_blocks", + "refblock_alloc_write_table", + "refblock_alloc_switch_table", + "cluster_alloc", + "cluster_alloc_bytes", + "cluster_free", + "flush_to_os", + "flush_to_disk", + "pwritev_rmw_head", + "pwritev_rmw_after_head", + "pwritev_rmw_tail", + "pwritev_rmw_after_tail", + "pwritev", + "pwritev_zero", + "pwritev_done", + "empty_image_prepare" + ] + }, + { + "name": "332", + "meta-type": "enum", + "values": [ + "unix", + "tcp" + ] + }, + { + "name": "333", + "members": [ + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "334", + "meta-type": "enum", + "values": [ + "inet" + ] + }, + { + "name": "335", + "members": [ + { + "name": "template", + "default": null, + "type": "336" + }, + { + "name": "main-header", + "default": null, + "type": "bool" + }, + { + "name": "active-l1", + "default": null, + "type": "bool" + }, + { + "name": "active-l2", + "default": null, + "type": "bool" + }, + { + "name": "refcount-table", + "default": null, + "type": "bool" + }, + { + "name": "refcount-block", + "default": null, + "type": "bool" + }, + { + "name": "snapshot-table", + "default": null, + "type": "bool" + }, + { + "name": "inactive-l1", + "default": null, + "type": "bool" + }, + { + "name": "inactive-l2", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "336", + "meta-type": "enum", + "values": [ + "none", + "constant", + "cached", + "all" + ] + }, + { + "name": "337", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "in", + "default": null, + "type": "str" + }, + { + "name": "out", + "type": "str" + }, + { + "name": "append", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "338", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "339", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "addr", + "type": "218" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + }, + { + "name": "server", + "default": null, + "type": "bool" + }, + { + "name": "wait", + "default": null, + "type": "bool" + }, + { + "name": "nodelay", + "default": null, + "type": "bool" + }, + { + "name": "telnet", + "default": null, + "type": "bool" + }, + { + "name": "reconnect", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "340", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "remote", + "type": "218" + }, + { + "name": "local", + "default": null, + "type": "218" + } + ], + "meta-type": "object" + }, + { + "name": "341", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "342", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "chardev", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "343", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "signal", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "344", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "345", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "fqdn", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "346", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "width", + "default": null, + "type": "int" + }, + { + "name": "height", + "default": null, + "type": "int" + }, + { + "name": "cols", + "default": null, + "type": "int" + }, + { + "name": "rows", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "347", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "348", + "members": [ + { + "name": "key", + "type": "268" + }, + { + "name": "down", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "349", + "members": [ + { + "name": "button", + "type": "361" + }, + { + "name": "down", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "350", + "members": [ + { + "name": "axis", + "type": "362" + }, + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "351", + "members": [ + { + "name": "cid", + "type": "str" + }, + { + "name": "port", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "352", + "members": [ + { + "name": "str", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "353", + "meta-type": "enum", + "values": [ + "qcow2", + "vmdk", + "luks" + ] + }, + { + "name": "354", + "members": [ + { + "name": "data", + "type": "363" + } + ], + "meta-type": "object" + }, + { + "name": "355", + "members": [ + { + "name": "data", + "type": "364" + } + ], + "meta-type": "object" + }, + { + "name": "356", + "members": [ + { + "name": "data", + "type": "365" + } + ], + "meta-type": "object" + }, + { + "name": "357", + "members": [ + { + "name": "number", + "type": "int" + }, + { + "name": "secondary", + "type": "int" + }, + { + "name": "subordinate", + "type": "int" + }, + { + "name": "io_range", + "type": "366" + }, + { + "name": "memory_range", + "type": "366" + }, + { + "name": "prefetchable_range", + "type": "366" + } + ], + "meta-type": "object" + }, + { + "name": "358", + "members": [ + { + "name": "path", + "default": null, + "type": "str" + }, + { + "name": "cancel-path", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "359", + "meta-type": "enum", + "values": [ + "unmapped", + "shift", + "shift_r", + "alt", + "alt_r", + "altgr", + "altgr_r", + "ctrl", + "ctrl_r", + "menu", + "esc", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "0", + "minus", + "equal", + "backspace", + "tab", + "q", + "w", + "e", + "r", + "t", + "y", + "u", + "i", + "o", + "p", + "bracket_left", + "bracket_right", + "ret", + "a", + "s", + "d", + "f", + "g", + "h", + "j", + "k", + "l", + "semicolon", + "apostrophe", + "grave_accent", + "backslash", + "z", + "x", + "c", + "v", + "b", + "n", + "m", + "comma", + "dot", + "slash", + "asterisk", + "spc", + "caps_lock", + "f1", + "f2", + "f3", + "f4", + "f5", + "f6", + "f7", + "f8", + "f9", + "f10", + "num_lock", + "scroll_lock", + "kp_divide", + "kp_multiply", + "kp_subtract", + "kp_add", + "kp_enter", + "kp_decimal", + "sysrq", + "kp_0", + "kp_1", + "kp_2", + "kp_3", + "kp_4", + "kp_5", + "kp_6", + "kp_7", + "kp_8", + "kp_9", + "less", + "f11", + "f12", + "print", + "home", + "pgup", + "pgdn", + "end", + "left", + "up", + "down", + "right", + "insert", + "delete", + "stop", + "again", + "props", + "undo", + "front", + "copy", + "open", + "paste", + "find", + "cut", + "lf", + "help", + "meta_l", + "meta_r", + "compose", + "pause", + "ro", + "hiragana", + "henkan", + "yen", + "kp_comma", + "kp_equals", + "power" + ] + }, + { + "name": "360", + "members": [ + ], + "meta-type": "object" + }, + { + "name": "361", + "meta-type": "enum", + "values": [ + "left", + "middle", + "right", + "wheel-up", + "wheel-down" + ] + }, + { + "name": "362", + "meta-type": "enum", + "values": [ + "x", + "y" + ] + }, + { + "name": "363", + "members": [ + { + "name": "compat", + "type": "str" + }, + { + "name": "lazy-refcounts", + "default": null, + "type": "bool" + }, + { + "name": "corrupt", + "default": null, + "type": "bool" + }, + { + "name": "refcount-bits", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "364", + "members": [ + { + "name": "create-type", + "type": "str" + }, + { + "name": "cid", + "type": "int" + }, + { + "name": "parent-cid", + "type": "int" + }, + { + "name": "extents", + "type": "[243]" + } + ], + "meta-type": "object" + }, + { + "name": "365", + "members": [ + { + "name": "cipher-alg", + "type": "367" + }, + { + "name": "cipher-mode", + "type": "368" + }, + { + "name": "ivgen-alg", + "type": "369" + }, + { + "name": "ivgen-hash-alg", + "default": null, + "type": "370" + }, + { + "name": "hash-alg", + "type": "370" + }, + { + "name": "payload-offset", + "type": "int" + }, + { + "name": "master-key-iters", + "type": "int" + }, + { + "name": "uuid", + "type": "str" + }, + { + "name": "slots", + "type": "[371]" + } + ], + "meta-type": "object" + }, + { + "name": "366", + "members": [ + { + "name": "base", + "type": "int" + }, + { + "name": "limit", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[243]", + "element-type": "243", + "meta-type": "array" + }, + { + "name": "367", + "meta-type": "enum", + "values": [ + "aes-128", + "aes-192", + "aes-256", + "des-rfb", + "3des", + "cast5-128", + "serpent-128", + "serpent-192", + "serpent-256", + "twofish-128", + "twofish-192", + "twofish-256" + ] + }, + { + "name": "368", + "meta-type": "enum", + "values": [ + "ecb", + "cbc", + "xts", + "ctr" + ] + }, + { + "name": "369", + "meta-type": "enum", + "values": [ + "plain", + "plain64", + "essiv" + ] + }, + { + "name": "370", + "meta-type": "enum", + "values": [ + "md5", + "sha1", + "sha224", + "sha256", + "sha384", + "sha512", + "ripemd160" + ] + }, + { + "name": "[371]", + "element-type": "371", + "meta-type": "array" + }, + { + "name": "371", + "members": [ + { + "name": "active", + "type": "bool" + }, + { + "name": "iters", + "default": null, + "type": "int" + }, + { + "name": "stripes", + "default": null, + "type": "int" + }, + { + "name": "key-offset", + "type": "int" + } + ], + "meta-type": "object" + } + ], + "id": "libvirt-47" +} + +{ + "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" +} + +{ + "return": [ + { + "name": "max", + "typename": "max-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": false + }, + { + "name": "host", + "typename": "host-x86_64-cpu", + "unavailable-features": [ + "kvm" + ], + "static": false, + "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": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "qemu32", + "typename": "qemu32-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "phenom", + "typename": "phenom-x86_64-cpu", + "unavailable-features": [ + "fxsr-opt", + "npt" + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium3", + "typename": "pentium3-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium2", + "typename": "pentium2-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium", + "typename": "pentium-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "n270", + "typename": "n270-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "kvm64", + "typename": "kvm64-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "kvm32", + "typename": "kvm32-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "coreduo", + "typename": "coreduo-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "core2duo", + "typename": "core2duo-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "athlon", + "typename": "athlon-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Westmere", + "typename": "Westmere-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Skylake-Client", + "typename": "Skylake-Client-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "rdrand", + "hle", + "avx2", + "invpcid", + "rtm", + "rdseed", + "3dnowprefetch", + "xsavec" + ], + "static": false, + "migration-safe": true + }, + { + "name": "SandyBridge", + "typename": "SandyBridge-x86_64-cpu", + "unavailable-features": [ + "x2apic", + "tsc-deadline", + "avx" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Penryn", + "typename": "Penryn-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G5", + "typename": "Opteron_G5-x86_64-cpu", + "unavailable-features": [ + "fma", + "avx", + "f16c", + "misalignsse", + "3dnowprefetch", + "xop", + "fma4", + "tbm" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G4", + "typename": "Opteron_G4-x86_64-cpu", + "unavailable-features": [ + "avx", + "misalignsse", + "3dnowprefetch", + "xop", + "fma4" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G3", + "typename": "Opteron_G3-x86_64-cpu", + "unavailable-features": [ + "misalignsse" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G2", + "typename": "Opteron_G2-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G1", + "typename": "Opteron_G1-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Nehalem", + "typename": "Nehalem-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "IvyBridge", + "typename": "IvyBridge-x86_64-cpu", + "unavailable-features": [ + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "rdrand" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell", + "typename": "Haswell-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "rdrand", + "hle", + "avx2", + "invpcid", + "rtm" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell-noTSX", + "typename": "Haswell-noTSX-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "rdrand", + "avx2", + "invpcid" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Conroe", + "typename": "Conroe-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Broadwell", + "typename": "Broadwell-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "rdrand", + "hle", + "avx2", + "invpcid", + "rtm", + "rdseed", + "3dnowprefetch" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Broadwell-noTSX", + "typename": "Broadwell-noTSX-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "rdrand", + "avx2", + "invpcid", + "rdseed", + "3dnowprefetch" + ], + "static": false, + "migration-safe": true + }, + { + "name": "486", + "typename": "486-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + } + ], + "id": "libvirt-2" +} diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.9.0.x86_64.xml new file mode 100644 index 000000000..ab7906175 --- /dev/null +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -0,0 +1,468 @@ + + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2008050 + 0 + (v2.8.0-877-g38e4b757b4) + x86_64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/qemucapabilitiestest.c b/tests/qemucapabilitiestest.c index f9c3456f0..2152e80bf 100644 --- a/tests/qemucapabilitiestest.c +++ b/tests/qemucapabilitiestest.c @@ -169,6 +169,7 @@ mymain(void) DO_TEST("x86_64", "caps_2.6.0"); DO_TEST("x86_64", "caps_2.7.0"); DO_TEST("x86_64", "caps_2.8.0"); + DO_TEST("x86_64", "caps_2.9.0"); DO_TEST("aarch64", "caps_2.6.0-gicv2"); DO_TEST("aarch64", "caps_2.6.0-gicv3"); DO_TEST("ppc64le", "caps_2.6.0"); --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 21:52:11 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 1487177843981840.7474298520899; Wed, 15 Feb 2017 08:57:23 -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 v1FGjQEp040052; Wed, 15 Feb 2017 11:45:26 -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 v1FGjAUZ025584 for ; Wed, 15 Feb 2017 11:45:10 -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 v1FGj8oO006401 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:10 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 1CB53103B14; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:38 +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 v2 04/33] 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 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 Fri Apr 19 21:52:11 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 1487177347070579.5267345627639; Wed, 15 Feb 2017 08:49:07 -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 v1FGjS8P019227; Wed, 15 Feb 2017 11:45:28 -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 v1FGjBs6025601 for ; Wed, 15 Feb 2017 11:45:11 -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 v1FGjARd018262 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:11 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 1F1CC105A40; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:39 +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 v2 05/33] 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 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 399e31447..c5e57b4ab 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3041,37 +3041,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; @@ -3081,31 +3080,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, NULL) <= 0) goto error; @@ -3116,30 +3137,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 Fri Apr 19 21:52:11 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 1487177343197474.06136824122643; Wed, 15 Feb 2017 08:49:03 -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 v1FGjNtI040039; Wed, 15 Feb 2017 11:45:23 -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 v1FGjB3V025596 for ; Wed, 15 Feb 2017 11:45:11 -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 v1FGjAcU010172 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:11 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 21059105DEA; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:40 +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 v2 06/33] qemu: Skip virQEMUCapsCPUFilterFeatures on non-x86 CPUs 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" All features the function is currently supposed to filter out are specific to x86_64. We should avoid removing them on other architectures. It seems to be quite unlikely other achitectures would use the same names, but one can never be sure. Signed-off-by: Jiri Denemark --- Notes: Version 2: - no change src/qemu/qemu_capabilities.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index c5e57b4ab..0be2301cb 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3030,8 +3030,13 @@ virQEMUCapsProbeQMPGICCapabilities(virQEMUCapsPtr qe= muCaps, =20 static bool virQEMUCapsCPUFilterFeatures(const char *name, - void *opaque ATTRIBUTE_UNUSED) + void *opaque) { + virQEMUCapsPtr qemuCaps =3D opaque; + + if (!ARCH_IS_X86(qemuCaps->arch)) + return true; + if (STREQ(name, "cmt") || STREQ(name, "mbm_total") || STREQ(name, "mbm_local")) @@ -3128,7 +3133,8 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, goto error; =20 if (virCPUDefCopyModelFilter(cpu, caps->host.cpu, true, - virQEMUCapsCPUFilterFeatures, NULL) <= 0) + virQEMUCapsCPUFilterFeatures, + qemuCaps) < 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 Fri Apr 19 21:52:11 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 1487177696775109.34589296366016; Wed, 15 Feb 2017 08:54:56 -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 v1FGjTEu027993; Wed, 15 Feb 2017 11:45:29 -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 v1FGjBp7025606 for ; Wed, 15 Feb 2017 11:45:11 -0500 Received: by smtp.corp.redhat.com (Postfix) id AABAC43DD2; Wed, 15 Feb 2017 16:45:11 +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 7D03E43DFC for ; Wed, 15 Feb 2017 16:45:11 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 234A8105DEB; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:41 +0100 Message-Id: <481de26c831254fdfaccc49ea6242c295bafe30b.1487176962.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 v2 07/33] 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 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 0be2301cb..c511248bd 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3103,6 +3103,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 Fri Apr 19 21:52:11 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 1487177661980513.585953066019; Wed, 15 Feb 2017 08:54:21 -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 v1FGjDBU040022; Wed, 15 Feb 2017 11:45:13 -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 v1FGjBIA025611 for ; Wed, 15 Feb 2017 11:45:11 -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 v1FGjAfo021888 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:11 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 2509D105DEC; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:42 +0100 Message-Id: <9f5a9403a34e91fed7f910e244f87ec92e061f2d.1487176962.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 v2 08/33] 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 2: - no change docs/formatdomain.html.in | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 294d3c467..9e7f7804e 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -1272,16 +1272,15 @@ 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. + the capabilities of the new host. Libvirt older than 3.1.0 or QE= MU + older than 2.9.0 do not support detection of the host CPU model = via + QEMU and thus the CPU configuration created using + host-model may not work as expected. + 3.1.0 and QEMU 2.9.0 this mode work= s 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 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 @@ -1307,6 +1306,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 without + (for example, domains with type kvm). The actual host= CPU + is irrelevant for domains with emulated virtual CPUs (such as doma= ins + 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 Fri Apr 19 21:52:11 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 1487177332560821.3125873616034; Wed, 15 Feb 2017 08:48:52 -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 v1FGjNsu011442; Wed, 15 Feb 2017 11:45:23 -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 v1FGjC9h025617 for ; Wed, 15 Feb 2017 11:45:12 -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 v1FGjA3M006431 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:11 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 26EE6105DED; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:43 +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 v2 09/33] qemu: Introduce virQEMUCapsFormatHostCPUModelInfo 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 model info formating code in virQEMUCapsFormatCache will get more complicated soon. Separating the code in virQEMUCapsFormatHostCPUModelInfo will make the result easier to read. Signed-off-by: Jiri Denemark --- Notes: Version 2: - no change src/qemu/qemu_capabilities.c | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index c511248bd..688d19504 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3542,6 +3542,27 @@ virQEMUCapsLoadCache(virCapsPtr caps, =20 =20 static void +virQEMUCapsFormatHostCPUModelInfo(virQEMUCapsPtr qemuCaps, + virBufferPtr buf) +{ + qemuMonitorCPUModelInfoPtr model =3D qemuCaps->hostCPUModelInfo; + size_t i; + + virBufferAsprintf(buf, "\n", model->name); + virBufferAdjustIndent(buf, 2); + + for (i =3D 0; i < model->nprops; i++) { + virBufferAsprintf(buf, "\n", + model->props[i].name, + model->props[i].supported ? "yes" : "no"); + } + + virBufferAdjustIndent(buf, -2); + virBufferAddLit(buf, "\n"); +} + + +static void virQEMUCapsFormatCPUModels(virQEMUCapsPtr qemuCaps, virBufferPtr buf, virDomainVirtType type) @@ -3617,19 +3638,8 @@ virQEMUCapsFormatCache(virQEMUCapsPtr qemuCaps, virBufferAsprintf(&buf, "%s\n", virArchToString(qemuCaps->arch)); =20 - if (qemuCaps->hostCPUModelInfo) { - virBufferAsprintf(&buf, "\n", - qemuCaps->hostCPUModelInfo->name); - virBufferAdjustIndent(&buf, 2); - for (i =3D 0; i < qemuCaps->hostCPUModelInfo->nprops; i++) { - virBufferAsprintf(&buf, "\n", - qemuCaps->hostCPUModelInfo->props[i].name, - qemuCaps->hostCPUModelInfo->props[i].support= ed ? - "yes" : "no"); - } - virBufferAdjustIndent(&buf, -2); - virBufferAddLit(&buf, "\n"); - } + if (qemuCaps->hostCPUModelInfo) + virQEMUCapsFormatHostCPUModelInfo(qemuCaps, &buf); =20 virQEMUCapsFormatCPUModels(qemuCaps, &buf, VIR_DOMAIN_VIRT_KVM); virQEMUCapsFormatCPUModels(qemuCaps, &buf, VIR_DOMAIN_VIRT_QEMU); --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 21:52:11 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 1487177698205886.1900708891346; Wed, 15 Feb 2017 08:54:58 -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 v1FGjP2V011464; Wed, 15 Feb 2017 11:45:25 -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 v1FGjCag025622 for ; Wed, 15 Feb 2017 11:45:12 -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 v1FGjAAw021691 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:11 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 29406105DEE; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:44 +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.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 10/33] 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 commit. Signed-off-by: Jiri Denemark --- Notes: Version 2: - no change 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 688d19504..aab336954 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3180,7 +3180,7 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCa= ps, =20 ctxt->node =3D hostCPUNode; =20 - if ((n =3D virXPathNodeSet("./feature", ctxt, &featureNodes)) > 0) { + if ((n =3D virXPathNodeSet("./property", ctxt, &featureNodes)) > 0) { if (VIR_ALLOC_N(hostCPU->props, n) < 0) goto cleanup; =20 @@ -3191,14 +3191,14 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemu= Caps, 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(featureNodes[i], "boolean"))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("missing 'supported' attribute for a host= CPU" - " model feature in QEMU capabilities cach= e")); + _("missing 'boolean' attribute for a host C= PU" + " model property in QEMU capabilities cac= he")); goto cleanup; } if (STREQ(str, "yes")) { @@ -3207,7 +3207,7 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCa= ps, 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); @@ -3552,7 +3552,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..1f652bdc2 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 ab7906175..c13e8318f 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -206,167 +206,167 @@ (v2.8.0-877-g38e4b757b4) x86_64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 21:52:11 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 1487177384542181.82989933249917; Wed, 15 Feb 2017 08:49:44 -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 v1FGjVHE028019; Wed, 15 Feb 2017 11:45: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 v1FGjCZ5025633 for ; Wed, 15 Feb 2017 11:45:12 -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 v1FGjAKG021694 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:11 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 2BD6D105DEF; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:45 +0100 Message-Id: <7e590597a588ec4416e26b10751b3877ae58ca2c.1487176962.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 v2 11/33] 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 2: - no change src/qemu/qemu_capabilities.c | 84 ++++++++++++++++----= ---- src/qemu/qemu_monitor.c | 22 ++++++- src/qemu/qemu_monitor.h | 23 +++++-- src/qemu/qemu_monitor_json.c | 37 ++++++++--- tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 7 ++ 5 files changed, 133 insertions(+), 40 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index aab336954..466852d13 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3074,14 +3074,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 @@ -3154,7 +3156,6 @@ static int virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCaps, xmlXPathContextPtr ctxt) { - char *str =3D NULL; xmlNodePtr hostCPUNode; xmlNodePtr *featureNodes =3D NULL; xmlNodePtr oldnode =3D ctxt->node; @@ -3187,30 +3188,47 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemu= Caps, hostCPU->nprops =3D n; =20 for (i =3D 0; i < n; i++) { - hostCPU->props[i].name =3D virXMLPropString(featureNodes[i], "= name"); - if (!hostCPU->props[i].name) { + qemuMonitorCPUPropertyPtr prop =3D hostCPU->props + i; + ctxt->node =3D featureNodes[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(featureNodes[i], "boolean"))) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("missing 'boolean' attribute for a host C= PU" - " model property in QEMU capabilities cac= he")); - goto cleanup; - } - if (STREQ(str, "yes")) { - hostCPU->props[i].supported =3D true; - } else if (STREQ(str, "no")) { - hostCPU->props[i].supported =3D false; + if (virXPathBoolean("boolean(./@boolean)", ctxt)) { + if (virXPathBoolean("./@boolean=3D'yes'", ctxt)) + prop->value.boolean =3D true; + prop->type =3D QEMU_MONITOR_CPU_PROPERTY_BOOLEAN; + } else if (virXPathBoolean("boolean(./@string)", ctxt)) { + prop->value.string =3D virXMLPropString(ctxt->node, "strin= g"); + 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; + } + prop->type =3D QEMU_MONITOR_CPU_PROPERTY_STRING; + } else if (virXPathBoolean("boolean(./@ull)", ctxt)) { + if (virXPathULongLong("string(./@ull)", ctxt, + &prop->value.ull) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("invalid integer value for '%s' host = CPU " + "model property in QEMU capabilities = cache"), + prop->name); + goto cleanup; + } + prop->type =3D QEMU_MONITOR_CPU_PROPERTY_ULL; } else { virReportError(VIR_ERR_INTERNAL_ERROR, - _("invalid boolean value: '%s'"), str); + _("missing value for '%s' host CPU model " + "property in QEMU capabilities cache"), + prop->name); goto cleanup; } - VIR_FREE(str); } } =20 @@ -3220,7 +3238,6 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCa= ps, =20 cleanup: ctxt->node =3D oldnode; - VIR_FREE(str); VIR_FREE(featureNodes); qemuMonitorCPUModelInfoFree(hostCPU); return ret; @@ -3552,9 +3569,24 @@ 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 ? "yes" : "no"); + qemuMonitorCPUPropertyPtr prop =3D model->props + i; + + switch (prop->type) { + case QEMU_MONITOR_CPU_PROPERTY_BOOLEAN: + virBufferAsprintf(buf, "= \n", + prop->name, prop->value.boolean ? "yes" : "n= o"); + break; + + case QEMU_MONITOR_CPU_PROPERTY_STRING: + virBufferAsprintf(buf, "name); + virBufferEscapeString(buf, "string=3D'%s'/>\n", prop->value.st= ring); + break; + + case QEMU_MONITOR_CPU_PROPERTY_ULL: + virBufferAsprintf(buf, "\n= ", + prop->name, prop->value.ull); + break; + } } =20 virBufferAdjustIndent(buf, -2); diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index b15207a69..a434b234b 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,22 @@ 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_ULL: + copy->props[i].value.ull =3D orig->props[i].value.ull; + break; + } } =20 return copy; diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 8811d8501..112f041f1 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -921,16 +921,31 @@ 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_ULL, +} qemuMonitorCPUPropertyType; + +typedef struct _qemuMonitorCPUProperty qemuMonitorCPUProperty; +typedef qemuMonitorCPUProperty *qemuMonitorCPUPropertyPtr; +struct _qemuMonitorCPUProperty { + char *name; + qemuMonitorCPUPropertyType type; + union { + bool boolean; + char *string; + unsigned long long ull; + } 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 1d281af48..415761525 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4983,18 +4983,39 @@ qemuMonitorJSONParseCPUModelProperty(const char *ke= y, 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.ull) < 0) + return 0; + prop->type =3D QEMU_MONITOR_CPU_PROPERTY_ULL; + 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 c13e8318f..32368e648 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -222,11 +222,13 @@ + + @@ -242,6 +244,7 @@ + @@ -287,6 +290,7 @@ + @@ -297,6 +301,7 @@ + @@ -334,6 +339,7 @@ + @@ -363,6 +369,7 @@ + --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 21:52:11 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 14871773879058.20350160890223; Wed, 15 Feb 2017 08:49: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 v1FGjY2j011502; Wed, 15 Feb 2017 11:45:34 -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 v1FGjC3M025640 for ; Wed, 15 Feb 2017 11:45:12 -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 v1FGjAkq010190 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:11 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 2E403105DF0; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:46 +0100 Message-Id: <5a3705b43778202255e11fe1fa4aec420f989bea.1487176962.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 v2 12/33] 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 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 466852d13..2ba82456e 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -400,13 +400,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 { @@ -2163,12 +2165,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) @@ -2217,8 +2227,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 @@ -2435,9 +2447,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 @@ -2455,7 +2471,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) @@ -2822,14 +2838,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 { @@ -3053,12 +3079,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"), @@ -3098,12 +3128,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; @@ -3114,7 +3145,8 @@ virQEMUCapsInitCPUModel(virQEMUCapsPtr qemuCaps, =20 void virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, - virCapsPtr caps) + virCapsPtr caps, + virDomainVirtType type) { virCPUDefPtr cpu =3D NULL; int rc; @@ -3130,7 +3162,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"); @@ -3143,7 +3175,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: @@ -3154,7 +3190,8 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, =20 static int virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCaps, - xmlXPathContextPtr ctxt) + xmlXPathContextPtr ctxt, + virDomainVirtType type) { xmlNodePtr hostCPUNode; xmlNodePtr *featureNodes =3D NULL; @@ -3164,7 +3201,12 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuC= aps, size_t i; int n; =20 - if (!(hostCPUNode =3D virXPathNode("./hostCPU", ctxt))) { + if (type =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; } @@ -3232,7 +3274,10 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuC= aps, } } =20 - qemuCaps->hostCPUModelInfo =3D hostCPU; + if (type =3D=3D VIR_DOMAIN_VIRT_KVM) + qemuCaps->kvmCPUModelInfo =3D hostCPU; + else + qemuCaps->tcgCPUModelInfo =3D hostCPU; hostCPU =3D NULL; ret =3D 0; =20 @@ -3438,7 +3483,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 = || @@ -3546,7 +3592,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: @@ -3560,12 +3607,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++) { @@ -3670,8 +3731,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); @@ -3806,11 +3867,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 @@ -4368,7 +4433,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 @@ -4410,6 +4475,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; @@ -4754,7 +4822,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: @@ -5200,8 +5269,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 95bb67d44..3331142ea 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -441,7 +441,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 c00a47a91..4e83dee37 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6782,7 +6782,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 92fa69b3c..b9df01da5 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5147,13 +5147,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 1f652bdc2..df7eb18f6 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 8d54788df..390f40f9f 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies @@ -14708,3 +14708,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 32368e648..520bf80f4 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -205,7 +205,7 @@ 0 (v2.8.0-877-g38e4b757b4) x86_64 - + @@ -375,6 +375,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index faa99c64c..5ba2eeab9 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 Fri Apr 19 21:52:11 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 1487177377083113.9393320292661; Wed, 15 Feb 2017 08:49:37 -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 v1FGjWTj028051; Wed, 15 Feb 2017 11:45:32 -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 v1FGjCcf025639 for ; Wed, 15 Feb 2017 11:45:12 -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 v1FGjBg4021698 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:12 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 3006A105DF1; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:47 +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.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 13/33] cpu: Introduce 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 2: - no change src/cpu/cpu.c | 19 +++++++++++++++++++ src/cpu/cpu.h | 3 +++ src/libvirt_private.syms | 1 + 3 files changed, 23 insertions(+) diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 64419eee3..3063f00eb 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -312,6 +312,25 @@ cpuEncode(virArch arch, =20 =20 /** + * virCPUDataNew: + * + * Returns an allocated memory for virCPUData or NULL on error. + */ +virCPUDataPtr +virCPUDataNew(virArch arch) +{ + virCPUDataPtr data; + + if (VIR_ALLOC(data) < 0) + return NULL; + + data->arch =3D arch; + + return data; +} + + +/** * cpuDataFree: * * @data: CPU data structure to be freed diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h index 69c17e72a..ceb1e7256 100644 --- a/src/cpu/cpu.h +++ b/src/cpu/cpu.h @@ -162,6 +162,9 @@ cpuEncode (virArch arch, virCPUDataPtr *vendor) ATTRIBUTE_NONNULL(2); =20 +virCPUDataPtr +virCPUDataNew(virArch arch); + void cpuDataFree (virCPUDataPtr data); =20 diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 6bbb36b4e..a2bcc6241 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -997,6 +997,7 @@ virCPUCompareXML; virCPUConvertLegacy; virCPUDataCheckFeature; virCPUDataFormat; +virCPUDataNew; virCPUDataParse; virCPUGetModels; virCPUTranslate; --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 21:52:11 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 1487177732383109.17952994281359; Wed, 15 Feb 2017 08:55:32 -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 v1FGjbTe019272; Wed, 15 Feb 2017 11:45:37 -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 v1FGjCIK025654 for ; Wed, 15 Feb 2017 11:45:12 -0500 Received: by smtp.corp.redhat.com (Postfix) id E7B34306B1; Wed, 15 Feb 2017 16:45:12 +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 68EE543DD2 for ; Wed, 15 Feb 2017 16:45:12 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 31E42105DF2; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:48 +0100 Message-Id: <31bbac810dd6bff08c33c515215584880a2a9254.1487176962.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 v2 14/33] 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 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 a2bcc6241..b4f61c87e 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1007,7 +1007,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 415761525..b4da12167 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6565,37 +6565,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 @@ -6622,7 +6620,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 Fri Apr 19 21:52:11 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 1487177687645543.085809278994; Wed, 15 Feb 2017 08:54: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 v1FGjaCr011540; Wed, 15 Feb 2017 11:45:36 -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 v1FGjCai025649 for ; Wed, 15 Feb 2017 11:45:12 -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 v1FGjBVP018287 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:12 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 340EF105DF3; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:49 +0100 Message-Id: <1e03a77527b7732a565944d46c8cf001a8f4fb6b.1487176962.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 v2 15/33] 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 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 b4f61c87e..cc5be84ea 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1006,7 +1006,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 Fri Apr 19 21:52:11 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 1487177707096759.7075385058258; Wed, 15 Feb 2017 08:55:07 -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 v1FGjQEu019218; Wed, 15 Feb 2017 11:45:26 -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 v1FGjD1B025664 for ; Wed, 15 Feb 2017 11:45:13 -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 v1FGjBRL021702 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:12 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 367A3105DF4; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:50 +0100 Message-Id: <383d8b32ac2c940db693d8364e4f832907415f9b.1487176962.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 v2 16/33] 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 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 3063f00eb..45a17bf46 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 cc5be84ea..56db100b5 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -987,7 +987,6 @@ virSecretObjSetValueSize; # cpu/cpu.h cpuBaseline; cpuBaselineXML; -cpuDataFree; cpuDecode; cpuEncode; cpuNodeData; @@ -997,6 +996,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 2ba82456e..6ca6ea702 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1091,7 +1091,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 b4da12167..cfb7f50aa 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6592,7 +6592,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 b9df01da5..95af7c283 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -3843,7 +3843,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 6aade90c4..181775809 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 Fri Apr 19 21:52:11 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 1487177706947951.396294321943; Wed, 15 Feb 2017 08:55:06 -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 v1FGjSMi040071; Wed, 15 Feb 2017 11:45:28 -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 v1FGjDJi025665 for ; Wed, 15 Feb 2017 11:45:13 -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 v1FGjBBe018290 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:12 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 3876A105DF5; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:51 +0100 Message-Id: <2a3c8f233506d276b58c8c0292c5cdf5cbc108cc.1487176962.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 v2 17/33] 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" Signed-off-by: Jiri Denemark --- Notes: 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 cfb7f50aa..d89dfb88d 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6585,7 +6585,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 Fri Apr 19 21:52:11 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 1487177375962308.94280279853535; Wed, 15 Feb 2017 08:49:35 -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 v1FGjQ7v011476; Wed, 15 Feb 2017 11:45:26 -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 v1FGjDLH025659 for ; Wed, 15 Feb 2017 11:45:13 -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 v1FGjB12006448 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:12 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 3A5FF105DF6; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:52 +0100 Message-Id: <9a21c157fbc98dbfedc8cc461a604a3273c0dca5.1487176962.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 v2 18/33] 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" Signed-off-by: Jiri Denemark --- Notes: Version 2: - no change src/cpu/cpu_x86.c | 11 +++++++++++ src/cpu/cpu_x86.h | 4 ++++ src/libvirt_private.syms | 1 + src/qemu/qemu_capabilities.c | 1 + 4 files changed, 17 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 56db100b5..6b2dddc95 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1006,6 +1006,7 @@ virCPUUpdate; =20 # cpu/cpu_x86.h virCPUx86DataAddCPUID; +virCPUx86DataSetSignature; =20 =20 # datatypes.h diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 6ca6ea702..f115f1e23 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" --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 21:52:11 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 1487177346092789.523206998904; Wed, 15 Feb 2017 08:49:06 -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 v1FGjTcQ027996; Wed, 15 Feb 2017 11:45:29 -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 v1FGjDCK025678 for ; Wed, 15 Feb 2017 11:45:13 -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 v1FGjCWb010207 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:13 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 3C4C5105DF7; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:53 +0100 Message-Id: <1eafea9d18872551cdfaed4fca1cfebe1e0b1c5c.1487176962.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 v2 19/33] 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" Signed-off-by: Jiri Denemark --- Notes: 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 6b2dddc95..7338c31e7 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1007,6 +1007,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 Fri Apr 19 21:52:11 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 1487177682390728.2559525713209; Wed, 15 Feb 2017 08:54: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 v1FGjSTQ040076; Wed, 15 Feb 2017 11:45:28 -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 v1FGjDpl025675 for ; Wed, 15 Feb 2017 11:45:13 -0500 Received: by smtp.corp.redhat.com (Postfix) id 47D3243DD2; Wed, 15 Feb 2017 16:45:13 +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 19685306B1 for ; Wed, 15 Feb 2017 16:45:13 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 3E3D5105DF8; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:54 +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 v2 20/33] 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" Signed-off-by: Jiri Denemark --- Notes: 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 7338c31e7..1c071091d 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1006,6 +1006,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 Fri Apr 19 21:52:11 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 1487177833561910.6052447667167; Wed, 15 Feb 2017 08:57:13 -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 v1FGjT8d019240; Wed, 15 Feb 2017 11:45:29 -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 v1FGjDNK025674 for ; Wed, 15 Feb 2017 11:45:13 -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 v1FGjCfv018295 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:13 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 40126105DF9; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:55 +0100 Message-Id: <4d1fc2236b9d6feeaafe82b5bf3484653693a8a1.1487176962.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 v2 21/33] cpu: Use virCPUData.arch in cpuDecode 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" virCPUDef.arch is not required to be filled in for guest CPU definitions. It doesn't make sense to artificially mandate it to be set when cpuDecode is called especially when virCPUData.arch passed to cpuDecode already contains the architecture. Signed-off-by: Jiri Denemark --- Notes: Version 2: - no change src/cpu/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 45a17bf46..051a58040 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -240,7 +240,7 @@ cpuDecode(virCPUDefPtr cpu, return -1; } =20 - if ((driver =3D cpuGetSubDriver(cpu->arch)) =3D=3D NULL) + if ((driver =3D cpuGetSubDriver(data->arch)) =3D=3D NULL) return -1; =20 if (driver->decode =3D=3D NULL) { --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 21:52:11 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 1487177836550615.483598347614; Wed, 15 Feb 2017 08:57:16 -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 v1FGjdjR011559; Wed, 15 Feb 2017 11:45:39 -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 v1FGjDvQ025692 for ; Wed, 15 Feb 2017 11:45:13 -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 v1FGjCxd021710 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:13 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 42506105DFA; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:56 +0100 Message-Id: <096e11421734aed35ba7f891081585195ad9fc92.1487176962.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 v2 22/33] 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 2: - no change src/qemu/qemu_capabilities.c | 73 ++++++++++++++++++= ++++ .../domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml | 33 +++++++++- tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml | 11 +++- 3 files changed, 115 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index f115f1e23..bcfb6b694 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3128,6 +3128,77 @@ 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_ULL: + if (STREQ(prop->name, "family")) + sigFamily =3D prop->value.ull; + else if (STREQ(prop->name, "model")) + sigModel =3D prop->value.ull; + 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) @@ -3136,6 +3207,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 Fri Apr 19 21:52:11 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 1487177378660124.09490218986696; Wed, 15 Feb 2017 08:49:38 -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 v1FGjeC8040106; Wed, 15 Feb 2017 11:45:40 -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 v1FGjDfM025702 for ; Wed, 15 Feb 2017 11:45:13 -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 v1FGjCEB021915 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:13 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 449E9105DFB; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:57 +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 v2 23/33] 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 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 bcfb6b694..20aaaf8f0 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2856,7 +2856,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 a434b234b..a987e107e 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 112f041f1..b61f1cf54 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -948,8 +948,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 d89dfb88d..dd7907482 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -5021,7 +5021,7 @@ qemuMonitorJSONParseCPUModelProperty(const char *key, =20 int qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon, - const char *type, + qemuMonitorCPUModelExpansionType type, const char *model_name, qemuMonitorCPUModelInfoPtr *model_info) { @@ -5034,6 +5034,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 @@ -5043,8 +5044,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 Fri Apr 19 21:52:11 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 1487177839315802.2306829742374; Wed, 15 Feb 2017 08:57: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 v1FGjVnI028018; Wed, 15 Feb 2017 11:45:31 -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 v1FGjE7T025716 for ; Wed, 15 Feb 2017 11:45:14 -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 v1FGjCFG006457 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:13 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 46E79105DFC; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44:58 +0100 Message-Id: <2a96a379f11494760a7bb9026dd2a27a0ee0e3f2.1487176962.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 v2 24/33] 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 backward compatibility libvirt is stuck with different spelling of some of the features, which is only returned by the full expansion. But in addition to returned all spelling variants for all properties the full expansion will contain properties which are not guaranteed to be migration compatible. We need to combine both expansions. First we need to call the static expansion to limit the result to migratable properties. Then we can use the result of the static expansion as an input to the full expansion to get both canonical names and their aliases. Signed-off-by: Jiri Denemark --- Notes: Version 2: - no change src/qemu/qemu_capabilities.c | 10 +- src/qemu/qemu_monitor.h | 2 + src/qemu/qemu_monitor_json.c | 28 +- .../domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml | 2 - tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml | 3 +- .../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 476 +++++++++++++++++= ++++ tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 178 ++++++-- 7 files changed, 657 insertions(+), 42 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 20aaaf8f0..a77e300b7 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2844,6 +2844,7 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCapsPtr qemuCaps, { qemuMonitorCPUModelInfoPtr *modelInfo; const char *model; + qemuMonitorCPUModelExpansionType type; =20 if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) return 0; @@ -2856,9 +2857,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 b61f1cf54..6407a309f 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -950,6 +950,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 dd7907482..0454571c1 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -5026,7 +5026,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; @@ -5038,16 +5038,24 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr = mon, =20 *model_info =3D NULL; =20 - if (!(model =3D virJSONValueNewObject())) - goto cleanup; + retry: + if (!model) { + if (!(model =3D virJSONValueNewObject())) + goto cleanup; =20 - if (virJSONValueObjectAppendString(model, "name", model_name) < 0) - goto cleanup; + if (virJSONValueObjectAppendString(model, "name", model_name) < 0) + goto cleanup; + } =20 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", @@ -5084,6 +5092,16 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr m= on, goto cleanup; } =20 + 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 390f40f9f..6b1e9ea8a 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies @@ -14360,6 +14360,244 @@ =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" } @@ -14887,3 +15125,241 @@ }, "id": "libvirt-3" } + +{ + "return": { + "model": { + "name": "base", + "props": { + "phys-bits": 0, + "core-id": -1, + "xlevel": 2147483658, + "cmov": true, + "ia64": false, + "aes": true, + "mmx": true, + "arat": true, + "rdpid": false, + "pause-filter": false, + "xsavec": false, + "osxsave": false, + "tsc-frequency": 0, + "xd": true, + "hv-vendor-id": "", + "kvm-asyncpf": false, + "kvm_asyncpf": false, + "perfctr_core": false, + "perfctr-core": false, + "mpx": true, + "avx512cd": false, + "decodeassists": false, + "pbe": false, + "sse4_1": true, + "sse4.1": true, + "sse4-1": true, + "family": 6, + "avx512f": false, + "xcrypt": false, + "hv-runtime": false, + "msr": true, + "mce": true, + "mca": true, + "thread-id": -1, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "hv-relaxed": false, + "fxsr": true, + "ds": false, + "hv-crash": false, + "xsaveopt": true, + "xtpr": false, + "avx512-vpopcntdq": false, + "phe": false, + "avx512vl": false, + "extapic": false, + "3dnowprefetch": false, + "cr8legacy": true, + "cpuid-0xb": true, + "xcrypt-en": false, + "kvm_pv_eoi": false, + "apic-id": 4294967295, + "pn": false, + "dca": false, + "vendor": "AuthenticAMD", + "pku": true, + "smx": false, + "cmp-legacy": false, + "cmp_legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "vmcb_clean": false, + "3dnowext": true, + "hle": false, + "npt": false, + "memory": "/machine/unattached/system[0]", + "clwb": true, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm_lock": false, + "svm-lock": false, + "smep": true, + "pfthreshold": false, + "smap": true, + "x2apic": false, + "avx512vbmi": false, + "hv-stimer": false, + "i64": true, + "flushbyasid": false, + "f16c": false, + "ace2-en": false, + "pat": true, + "pae": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": false, + "kvm_nopiodelay": false, + "tm": false, + "kvmclock-stable-bit": false, + "hypervisor": true, + "socket-id": -1, + "pcommit": true, + "syscall": true, + "level": 13, + "avx512dq": false, + "svm": true, + "full-cpuid-auto-level": true, + "hv-reset": false, + "invtsc": false, + "sse3": true, + "sse2": true, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": false, + "cx8": true, + "kvm-mmu": false, + "kvm_mmu": false, + "sse4_2": true, + "sse4.2": true, + "sse4-2": true, + "pge": true, + "fill-mtrr-mask": true, + "pdcm": false, + "nodeid_msr": false, + "model": 6, + "movbe": true, + "nrip-save": false, + "nrip_save": false, + "sse4a": true, + "ssse3": true, + "kvm_pv_unhalt": false, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": false, + "fma": false, + "cx16": true, + "de": true, + "enforce": false, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tce": false, + "tsc": true, + "fpu": true, + "ds-cpl": false, + "ds_cpl": false, + "ibs": false, + "host-phys-bits": false, + "fma4": false, + "la57": true, + "osvw": false, + "check": true, + "pmm": false, + "apic": true, + "pmu": false, + "min-xlevel2": 0, + "tsc-adjust": false, + "tsc_adjust": false, + "kvm-steal-time": false, + "kvm_steal_time": false, + "kvmclock": false, + "l3-cache": true, + "lwp": false, + "xop": false, + "avx": false, + "ospke": true, + "ace2": false, + "acpi": true, + "avx512bw": false, + "hv-vapic": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "xsaves": false, + "lm": true, + "umip": false, + "avx2": false, + "pse": true, + "sep": true, + "pclmuldq": true, + "nodeid-msr": false, + "kvm": true, + "misalignsse": false, + "min-xlevel": 2147483658, + "bmi2": true, + "bmi1": true, + "kvm-pv-unhalt": false, + "realized": false, + "tsc_scale": false, + "tsc-scale": false, + "topoext": false, + "hv-vpindex": false, + "xlevel2": 0, + "clflushopt": true, + "monitor": true, + "avx512er": false, + "pmm-en": false, + "pcid": false, + "3dnow": true, + "erms": true, + "lahf-lm": true, + "lahf_lm": true, + "xstore": false, + "hv-synic": false, + "fxsr-opt": false, + "fxsr_opt": false, + "rtm": false, + "lmce": false, + "hv-time": false, + "perfctr-nb": false, + "perfctr_nb": false, + "ffxsr": false, + "rdrand": false, + "rdseed": false, + "avx512-4vnniw": false, + "vme": false, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "tbm": false, + "wdt": false, + "pause_filter": false, + "model-id": "QEMU TCG CPU version 2.5+", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-4" +} diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.9.0.x86_64.xml index 520bf80f4..aae71b1fc 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -206,80 +206,109 @@ (v2.8.0-877-g38e4b757b4) x86_64 + + + - + + + + + + - + + + + + - + - + + + - + + + + + - + + + + - + + + - + + + + + + + @@ -287,44 +316,61 @@ + + + + + - + + + + - + + + - + + + + + + + + - + @@ -334,17 +380,23 @@ - + + + - + + + + + @@ -353,11 +405,17 @@ - + + + + + + + @@ -369,6 +427,7 @@ + @@ -376,80 +435,109 @@ + + + - + + + + + + - + + + + + - + - + + + - + + + + + - + + + + - + + + - + + + + + + + @@ -457,44 +545,61 @@ + + + + + - + + + + - + + + - + + + + + + + + - + @@ -504,17 +609,23 @@ - + + + - + + + + + @@ -523,11 +634,17 @@ - + + + + + + + @@ -539,6 +656,7 @@ + --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 21:52:11 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 148717784197795.29528994334032; Wed, 15 Feb 2017 08:57:21 -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 v1FGjgGo040118; Wed, 15 Feb 2017 11:45:42 -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 v1FGjDdv025708 for ; Wed, 15 Feb 2017 11:45:13 -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 v1FGjC6m006461 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:13 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 49180105DFD; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:44: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.26 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 25/33] 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 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 a77e300b7..3163bba8a 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3204,7 +3204,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) @@ -3268,6 +3268,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, @@ -3354,10 +3366,7 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuC= aps, } } =20 - if (type =3D=3D VIR_DOMAIN_VIRT_KVM) - qemuCaps->kvmCPUModelInfo =3D hostCPU; - else - qemuCaps->tcgCPUModelInfo =3D hostCPU; + virQEMUCapsSetCPUModelInfo(qemuCaps, type, 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 Fri Apr 19 21:52:11 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 1487177434280512.2938271882331; Wed, 15 Feb 2017 08:50:34 -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 v1FGjj5K028109; Wed, 15 Feb 2017 11:45:45 -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 v1FGjE2w025758 for ; Wed, 15 Feb 2017 11:45:14 -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 v1FGjCda021920 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:13 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 4B9A6105DFE; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:45:00 +0100 Message-Id: <69aa707343e7470b29af6cc65614e61362e154a2.1487176962.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 v2 26/33] 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 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 1b5ab4a5a..90bc2dcd9 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 Fri Apr 19 21:52:11 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 1487177738104833.1047393591035; Wed, 15 Feb 2017 08:55:38 -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 v1FGjYrP011503; Wed, 15 Feb 2017 11:45:34 -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 v1FGjE19025740 for ; Wed, 15 Feb 2017 11:45:14 -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 v1FGjCvM021721 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:13 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 4D95D105DFF; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:45:01 +0100 Message-Id: <071bc8004c37fc274b0329995bc0beb9fa2e87f6.1487176962.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 v2 27/33] 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 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 Fri Apr 19 21:52:11 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 1487177720786904.9266165035913; Wed, 15 Feb 2017 08:55:20 -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 v1FGjZP4011524; Wed, 15 Feb 2017 11:45:35 -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 v1FGjEmK025739 for ; Wed, 15 Feb 2017 11:45:14 -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 v1FGjCL1018308 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:13 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 4FED5105E00; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:45:02 +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 v2 28/33] 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 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.new.json fi --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 21:52:11 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 1487177776893768.0530962691187; Wed, 15 Feb 2017 08:56:16 -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 v1FGjl9N040157; Wed, 15 Feb 2017 11:45: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 v1FGjEoW025768 for ; Wed, 15 Feb 2017 11:45:14 -0500 Received: by smtp.corp.redhat.com (Postfix) id EB45A43DD2; Wed, 15 Feb 2017 16:45:14 +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 010BE63732 for ; Wed, 15 Feb 2017 16:45:13 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 5296C105E01; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:45:03 +0100 Message-Id: <6ac6edb49b23f3de028a158f2f092e2e94068ad2.1487176962.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 v2 29/33] 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 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 Fri Apr 19 21:52:11 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 148717737418245.213471956371336; Wed, 15 Feb 2017 08:49:34 -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 v1FGjWCx028050; Wed, 15 Feb 2017 11:45:32 -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 v1FGjEs7025738 for ; Wed, 15 Feb 2017 11:45:14 -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 v1FGjDhg010224 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:14 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 54B01105E02; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:45:04 +0100 Message-Id: <7d312d5eaa9d1f54eec9d471ac1920033c25e9f7.1487176962.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 v2 30/33] 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 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 Fri Apr 19 21:52:11 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 1487177403003432.7630050004967; Wed, 15 Feb 2017 08:50:03 -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 v1FGjb8f019269; Wed, 15 Feb 2017 11:45:37 -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 v1FGjEOg025753 for ; Wed, 15 Feb 2017 11:45:14 -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 v1FGjDqX010226 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:14 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 56C66105E03; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:45:05 +0100 Message-Id: <9a7ef19b19ad6decdd07d506a335af7e6c03eb02.1487176962.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 v2 31/33] 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 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 Fri Apr 19 21:52:11 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 1487177709695920.4452834679756; Wed, 15 Feb 2017 08:55:09 -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 v1FGjVfX028017; Wed, 15 Feb 2017 11:45: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 v1FGjEEw025723 for ; Wed, 15 Feb 2017 11:45:14 -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 v1FGjDil021925 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:14 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 58E21105E04; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:45:06 +0100 Message-Id: <338b38f08e97fa857adf715ec86bc870d3078f71.1487176962.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 v2 32/33] 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 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 Fri Apr 19 21:52:11 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 1487177703659255.55662660378925; Wed, 15 Feb 2017 08:55:03 -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 v1FGjhx1028098; Wed, 15 Feb 2017 11:45:44 -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 v1FGjEto025724 for ; Wed, 15 Feb 2017 11:45:14 -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 v1FGjDHp018319 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 11:45:14 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 5B515105E05; Wed, 15 Feb 2017 17:45:08 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 17:45:07 +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 v2 33/33] 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 2: - no change docs/news.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/news.xml b/docs/news.xml index b756a970f..798687407 100644 --- a/docs/news.xml +++ b/docs/news.xml @@ -73,6 +73,17 @@ and network. + + + 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