From nobody Tue Apr 30 17:01:38 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 148715397266476.57428729822334; Wed, 15 Feb 2017 02:19:32 -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 v1FAFWiW001564; Wed, 15 Feb 2017 05:15:34 -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 v1FAFVi3003096 for ; Wed, 15 Feb 2017 05:15:31 -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 v1FAFTaL028391 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:30 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 5CADB100432; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:14:55 +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 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 --- 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 Tue Apr 30 17:01:38 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 1487153945712550.0471825972085; Wed, 15 Feb 2017 02:19:05 -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 v1FAFWQ4034790; Wed, 15 Feb 2017 05:15:34 -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 v1FAFVoC003097 for ; Wed, 15 Feb 2017 05:15:31 -0500 Received: by smtp.corp.redhat.com (Postfix) id 0F63D2D5A1; Wed, 15 Feb 2017 10:15:31 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C91542D589 for ; Wed, 15 Feb 2017 10:15:30 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 5E3021020CA; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:14:56 +0100 Message-Id: <12bd2b23894a8290aec2e7fb0058f2dfb3204cc7.1487152754.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 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 --- 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 Tue Apr 30 17:01:38 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 1487154066490308.6542658343475; Wed, 15 Feb 2017 02:21: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 v1FAFuhD047020; Wed, 15 Feb 2017 05:15:58 -0500 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1FAFWsL003116 for ; Wed, 15 Feb 2017 05:15:32 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1FAFTD0028390 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:30 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 624971020CB; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:14:57 +0100 Message-Id: <5955a57cf3d84a0369fd1a865bf06b5a4190945c.1487152754.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 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. .../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 Tue Apr 30 17:01:38 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 1487153985985177.49022975561934; Wed, 15 Feb 2017 02:19:45 -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 v1FAFWK5001565; Wed, 15 Feb 2017 05:15: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 v1FAFVLJ003106 for ; Wed, 15 Feb 2017 05:15:31 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1FAFT5J029838 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:30 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 63ECB1020C9; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:14:58 +0100 Message-Id: <855e623c7327423a1f5d08af114170fc2a1e7189.1487152754.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 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 --- .../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 Tue Apr 30 17:01:38 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 1487154049298263.14439885010574; Wed, 15 Feb 2017 02:20:49 -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 v1FAGpmd009805; Wed, 15 Feb 2017 05:16:53 -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 v1FAFWVL003142 for ; Wed, 15 Feb 2017 05:15:32 -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 v1FAFVu0010774 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 6657A1020CD; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:14:59 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 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 --- 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 Tue Apr 30 17:01:38 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 1487153961271235.334093895386; Wed, 15 Feb 2017 02:19:21 -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 v1FAGAj0001724; Wed, 15 Feb 2017 05:16:12 -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 v1FAFWlN003125 for ; Wed, 15 Feb 2017 05:15:32 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1FAFVda008383 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 683D71020CE; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:00 +0100 Message-Id: <67f82cfbc2de0d5bc94c59a266559988919fdcc9.1487152754.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 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 --- 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 Tue Apr 30 17:01:38 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 1487154629375669.439392503786; Wed, 15 Feb 2017 02:30:29 -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 v1FAGUwj035275; Wed, 15 Feb 2017 05:16:32 -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 v1FAFWYr003124 for ; Wed, 15 Feb 2017 05:15:32 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1FAFVWv028395 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 6A0981020CF; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:01 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 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 --- 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 Tue Apr 30 17:01:38 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 14871540454640.15244848988663762; Wed, 15 Feb 2017 02:20:45 -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 v1FAGCKm001851; Wed, 15 Feb 2017 05:16:14 -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 v1FAFWhg003126 for ; Wed, 15 Feb 2017 05:15:32 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1FAFVFQ008384 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 6C3491020D0; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:02 +0100 Message-Id: <9a4dc52adf71717aa16b6d5d6381f33021dd2324.1487152754.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 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 --- 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 Tue Apr 30 17:01:38 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 1487154048549561.3144967248923; Wed, 15 Feb 2017 02:20:48 -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 v1FAGhkD009792; Wed, 15 Feb 2017 05:16:45 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1FAFWgD003139 for ; Wed, 15 Feb 2017 05:15:32 -0500 Received: by smtp.corp.redhat.com (Postfix) id C65372D5A1; Wed, 15 Feb 2017 10:15:32 +0000 (UTC) Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 98CEA2D5E1 for ; Wed, 15 Feb 2017 10:15:32 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 6E9671020D1; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:03 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 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 --- 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 Tue Apr 30 17:01:38 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 1487154043296488.7993336914062; Wed, 15 Feb 2017 02:20:43 -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 v1FAFt52034813; Wed, 15 Feb 2017 05:15:57 -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 v1FAFXDf003154 for ; Wed, 15 Feb 2017 05:15:33 -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 v1FAFV5Z009793 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 70CE71020D2; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:04 +0100 Message-Id: <9fda2d2b5719ac380517b9527754fe2f85fde5d4.1487152754.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 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 --- 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 Tue Apr 30 17:01:38 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 1487154327943833.1016077408929; Wed, 15 Feb 2017 02:25:27 -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 v1FAGxsT002040; Wed, 15 Feb 2017 05:17:00 -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 v1FAFXMb003159 for ; Wed, 15 Feb 2017 05:15:33 -0500 Received: by smtp.corp.redhat.com (Postfix) id 6E138233DB; Wed, 15 Feb 2017 10:15:33 +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 E44AD244A2 for ; Wed, 15 Feb 2017 10:15:32 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 72E141020D3; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:05 +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 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 --- 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 Tue Apr 30 17:01:38 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 1487154214107168.041063281486; Wed, 15 Feb 2017 02:23:34 -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 v1FAH6Q0002071; Wed, 15 Feb 2017 05:17:07 -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 v1FAFXUL003164 for ; Wed, 15 Feb 2017 05:15:33 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1FAFV93010781 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:32 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 750B21020D4; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:06 +0100 Message-Id: <90790efb53b04f76a043c8dda80d09b160e5a03d.1487152754.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 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 --- 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 Tue Apr 30 17:01:38 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 14871540245881014.0385566718168; Wed, 15 Feb 2017 02:20:24 -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 v1FAHAeu035344; Wed, 15 Feb 2017 05:17:11 -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 v1FAFYC0003174 for ; Wed, 15 Feb 2017 05:15:34 -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 v1FAFWRC028416 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:33 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 76CB61020D5; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:07 +0100 Message-Id: <75adcd2f7288960a17cd3cb9b78a54e30fd2a23f.1487152754.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 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 --- 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 Tue Apr 30 17:01:38 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 1487154428739718.3820868182594; Wed, 15 Feb 2017 02:27:08 -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 v1FAHHSr047531; Wed, 15 Feb 2017 05:17:18 -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 v1FAFYan003197 for ; Wed, 15 Feb 2017 05:15:34 -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 v1FAFW3M029866 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:33 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 78D411020D6; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:08 +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 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 --- 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 Tue Apr 30 17:01:38 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 1487154337398216.68920360868833; Wed, 15 Feb 2017 02:25:37 -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 v1FAHErs009861; Wed, 15 Feb 2017 05:17:15 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1FAFYLA003180 for ; Wed, 15 Feb 2017 05:15:34 -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 v1FAFXVp029868 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 7B2341045CF; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:09 +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 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 --- 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 Tue Apr 30 17:01:38 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 1487154336091858.120670834686; Wed, 15 Feb 2017 02:25:36 -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 v1FAGo1B002023; Wed, 15 Feb 2017 05:16:51 -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 v1FAFYW0003206 for ; Wed, 15 Feb 2017 05:15:34 -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 v1FAFXc7028418 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 7D473105DB6; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:10 +0100 Message-Id: <42ec4aee36dd17fb74a526918e2727161ff21ad2.1487152754.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 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 --- 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 Tue Apr 30 17:01:38 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 1487154003883612.8002084220415; Wed, 15 Feb 2017 02:20: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 v1FAGfOV047470; Wed, 15 Feb 2017 05:16:43 -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 v1FAFYpK003213 for ; Wed, 15 Feb 2017 05:15:34 -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 v1FAFXp2008394 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 7F5F0105DB7; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:11 +0100 Message-Id: <4a9690b8c43fd384283ea3243faaa65c76acd9d7.1487152754.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 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 --- 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 Tue Apr 30 17:01:38 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 1487153980455210.54773986852638; Wed, 15 Feb 2017 02:19:40 -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 v1FAGSKO047458; Wed, 15 Feb 2017 05:16:30 -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 v1FAFYAE003179 for ; Wed, 15 Feb 2017 05:15:34 -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 v1FAFXj8009803 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 81860105DB8; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:12 +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 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 --- 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 Tue Apr 30 17:01:38 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 1487153965503218.45773285722044; Wed, 15 Feb 2017 02:19:25 -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 v1FAGAYK034833; Wed, 15 Feb 2017 05:16:12 -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 v1FAFYV7003181 for ; Wed, 15 Feb 2017 05:15:34 -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 v1FAFXWH028419 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 83A01105DB9; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:13 +0100 Message-Id: <380d2d36007c172bfe273b16e2bb99ea963450af.1487152754.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 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 --- 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 Tue Apr 30 17:01:38 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 1487153975896610.6882881354237; Wed, 15 Feb 2017 02:19: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 v1FAGRgQ001995; Wed, 15 Feb 2017 05:16:30 -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 v1FAFYaX003182 for ; Wed, 15 Feb 2017 05:15:34 -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 v1FAFXg6010787 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 85B4E105DC0; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:14 +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 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 --- 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 Tue Apr 30 17:01:38 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 1487153993033938.1016892972298; Wed, 15 Feb 2017 02:19:53 -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 v1FAGggK047475; Wed, 15 Feb 2017 05:16: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 v1FAFYlL003204 for ; Wed, 15 Feb 2017 05:15:34 -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 v1FAFXOB008398 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 8797E105DC1; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:15 +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 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 --- 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 Tue Apr 30 17:01:38 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 1487154613695218.84378655154944; Wed, 15 Feb 2017 02:30:13 -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 v1FAGxfh035306; Wed, 15 Feb 2017 05:17:00 -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 v1FAFYs7003229 for ; Wed, 15 Feb 2017 05:15:34 -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 v1FAFXT0008400 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 89656105DC2; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:16 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 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 --- 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 Tue Apr 30 17:01:38 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 1487154341497601.9032277817486; Wed, 15 Feb 2017 02:25:41 -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 v1FAHLwO047549; Wed, 15 Feb 2017 05:17:22 -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 v1FAFYtJ003218 for ; Wed, 15 Feb 2017 05:15:34 -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 v1FAFXXg009812 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 8BD68105DC3; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:17 +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 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 --- 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 Tue Apr 30 17:01:38 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 1487154651056766.9339309116946; Wed, 15 Feb 2017 02:30:51 -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 v1FAH6um035322; Wed, 15 Feb 2017 05:17:07 -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 v1FAFYQQ003234 for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by smtp.corp.redhat.com (Postfix) id DDAEA2D589; Wed, 15 Feb 2017 10:15:34 +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 36D782F6377 for ; Wed, 15 Feb 2017 10:15:34 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 8DB3D105DD8; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:18 +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 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 --- 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 Tue Apr 30 17:01:38 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 1487154057652679.9286733846911; Wed, 15 Feb 2017 02:20:57 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx5-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1FAHOvA035383; Wed, 15 Feb 2017 05:17:24 -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 v1FAFZGk003239 for ; Wed, 15 Feb 2017 05:15:35 -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 v1FAFXHN010789 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 8F50A105DD9; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:19 +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 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 --- 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 Tue Apr 30 17:01:38 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 14871541129261018.4538941191137; Wed, 15 Feb 2017 02:21: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 v1FAHTcS002119; Wed, 15 Feb 2017 05:17:29 -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 v1FAFZJr003261 for ; Wed, 15 Feb 2017 05:15:35 -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 v1FAFXDb010791 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 92253105DDA; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:20 +0100 Message-Id: <4f29306a9d21330c06a16c99fc94eaeb7389778a.1487152754.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 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 --- tests/cputest.c | 204 ++++++++++-------= ---- ...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 210 files changed, 102 insertions(+), 102 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/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 Tue Apr 30 17:01:38 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 1487154048226701.0125635292968; Wed, 15 Feb 2017 02:20:48 -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 v1FAHE6P009862; Wed, 15 Feb 2017 05:17:15 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1FAFZXr003252 for ; Wed, 15 Feb 2017 05:15:35 -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 v1FAFXFb010800 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 93E4D105DDB; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:21 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 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 --- 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 Tue Apr 30 17:01:38 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 1487154125497411.86880412103415; Wed, 15 Feb 2017 02:22:05 -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 v1FAHAAT047513; Wed, 15 Feb 2017 05:17:11 -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 v1FAFZ1Q003251 for ; Wed, 15 Feb 2017 05:15:35 -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 v1FAFXv9028427 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 95A4A105DDC; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:22 +0100 Message-Id: <0b92d7ec8a0ed7bc2e2418f537be7aa11f156f23.1487152754.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 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 --- tests/cputestdata/cpu-convert.py | 244 +++++++++++++++++++++++++++++++++++= ++++ tests/cputestdata/cpu-gather.sh | 39 ++++++- tests/cputestdata/cpu-parse.sh | 3 + 3 files changed, 280 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..5d0876854 --- /dev/null +++ b/tests/cputestdata/cpu-convert.py @@ -0,0 +1,244 @@ +#!/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:] + + 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 Tue Apr 30 17:01:38 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 148715407267463.80843874617631; Wed, 15 Feb 2017 02:21:12 -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 v1FAGoTM035293; Wed, 15 Feb 2017 05:16:51 -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 v1FAFaA5003276 for ; Wed, 15 Feb 2017 05:15:36 -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 v1FAFYE1029876 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:35 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 9846F105DDD; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:23 +0100 Message-Id: <6b12cfc7386833e186c7c7dfde23e3e3f04a8f0f.1487152754.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 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 --- tests/cputestdata/x86_64-cpuid-A10-5800K.json.new | 202 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Core-i5-2500.json.new | 202 +++++++++++++++++= ++++ .../x86_64-cpuid-Core-i5-2540M.json.new | 202 +++++++++++++++++= ++++ .../x86_64-cpuid-Core-i5-4670T.json.new | 202 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Core-i5-6600.json.new | 202 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Core-i7-2600.json.new | 202 +++++++++++++++++= ++++ .../x86_64-cpuid-Core-i7-3740QM.json.new | 202 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Core-i7-3770.json.new | 202 +++++++++++++++++= ++++ .../x86_64-cpuid-Core-i7-4600U.json.new | 202 +++++++++++++++++= ++++ .../x86_64-cpuid-Core-i7-5600U.json.new | 202 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Core2-E6850.json.new | 202 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Opteron-2350.json.new | 202 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Opteron-6234.json.new | 202 +++++++++++++++++= ++++ tests/cputestdata/x86_64-cpuid-Phenom-B95.json.new | 202 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Xeon-E3-1245.json.new | 202 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Xeon-E5-2630.json.new | 202 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Xeon-E5-2650.json.new | 202 +++++++++++++++++= ++++ .../cputestdata/x86_64-cpuid-Xeon-E7-4820.json.new | 202 +++++++++++++++++= ++++ tests/cputestdata/x86_64-cpuid-Xeon-W3520.json.new | 202 +++++++++++++++++= ++++ 19 files changed, 3838 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..1aa997279 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-A10-5800K.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..327e1ab2b --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2500.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..f5dfc21c3 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..e19dec536 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..70a022ab4 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..38e8d25bf --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..c3c9908c5 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..f425f8ce7 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3770.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..62f026d7a --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..8bf336e74 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..e16d8e4cc --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Core2-E6850.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..8bf9a2afd --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Opteron-2350.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..e9edae43f --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Opteron-6234.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..692b8081a --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Phenom-B95.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..c6780c201 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..55a6eeab7 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..d2c195301 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..209bbad7b --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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..f7d245225 --- /dev/null +++ b/tests/cputestdata/x86_64-cpuid-Xeon-W3520.json.new @@ -0,0 +1,202 @@ +{ + "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, + "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 Tue Apr 30 17:01:38 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 1487154480687646.4824589775152; Wed, 15 Feb 2017 02:28:00 -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 v1FAHRRH035394; Wed, 15 Feb 2017 05:17:27 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1FAFZ5T003246 for ; Wed, 15 Feb 2017 05:15:35 -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 v1FAFYS0009818 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:35 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 9AA42105DDE; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:24 +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 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 --- tests/cputest.c | 28 +++++++++++++++---= ---- .../x86_64-cpuid-Core-i7-5600U-json.xml | 11 +++++---- .../cputestdata/x86_64-cpuid-Core2-E6850-json.xml | 4 ++-- 3 files changed, 29 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-Core-i7-5600U-json.xml b/tests/= cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml index 159797178..8a6b8283f 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,15 @@ x86_64 - Skylake-Client + Broadwell + + + + + - - - + 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..e93e0a321 100644 --- a/tests/cputestdata/x86_64-cpuid-Core2-E6850-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core2-E6850-json.xml @@ -1,11 +1,11 @@ x86_64 - Penryn + Conroe + - --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue Apr 30 17:01:38 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 1487154345558206.0193240207932; Wed, 15 Feb 2017 02:25:45 -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 v1FAGxuc002041; Wed, 15 Feb 2017 05:17:00 -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 v1FAFaXd003277 for ; Wed, 15 Feb 2017 05:15:36 -0500 Received: by smtp.corp.redhat.com (Postfix) id 16A8E3068F; Wed, 15 Feb 2017 10:15:36 +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 63D752D5E1 for ; Wed, 15 Feb 2017 10:15:35 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 9CEFE105DDF; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:25 +0100 Message-Id: <14ab8f2012bf654538978b58260cae9d0cbfce39.1487152754.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 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 --- 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 Tue Apr 30 17:01:38 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 14871540646371017.4334640912086; Wed, 15 Feb 2017 02:21:04 -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 v1FAHWfE009916; Wed, 15 Feb 2017 05:17:32 -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 v1FAFZQS003266 for ; Wed, 15 Feb 2017 05:15:35 -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 v1FAFYKn008417 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:35 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 9F14D105DE0; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:26 +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 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 --- 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 Tue Apr 30 17:01:38 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 1487154062996505.6029219819841; Wed, 15 Feb 2017 02:21:02 -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 v1FAHY2K009928; Wed, 15 Feb 2017 05:17:35 -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 v1FAFZHu003269 for ; Wed, 15 Feb 2017 05:15:35 -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 v1FAFYln009825 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:35 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id A1A71105DE1; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:27 +0100 Message-Id: <46c855c102a76902bd7abcf45244e9e226ec52a0.1487152754.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 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 --- 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