Devel
Threads by month
- ----- 2026 -----
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- 39 participants
- 40049 discussions
>From 7df034e93d392c734ac5c4f4148a3d05f9edce29 Mon Sep 17 00:00:00 2001
From: WuLongTao <eustancewu(a)gmail.com>
Date: Thu, 16 Jun 2022 10:43:29 +0800
Subject: [PATCH] virMacAddrParse: Fix wrong termination character
The judgment of the termination character should be the null character, not
a space. Using spaces to judge, content can be injected into mac. such as:
"70:af:e7:1f:3f:89\001
injected".
This will result in an error: "virNetSocketReadWire:1805 : End of file
while reading data: Input/output error"
---
src/util/virmacaddr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/virmacaddr.c b/src/util/virmacaddr.c
index 6b22384cee..5c4aa07713 100644
--- a/src/util/virmacaddr.c
+++ b/src/util/virmacaddr.c
@@ -163,7 +163,7 @@ virMacAddrParse(const char* str, virMacAddr *addr)
addr->addr[i] = (unsigned char) result;
- if ((i == 5) && (*end_ptr <= ' '))
+ if ((i == 5) && (*end_ptr <= 0))
return 0;
if (*end_ptr != ':')
break;
--
2.32.0
1
0
14 Jun '22
Extend the test for io_uring to also test startup policy.
Since the actual logic for dropping disks is in the host preparation
phase, thus skipped for tests we can use any file path.
Add a case also for 'file' backing to have all cases covered.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
.../disk-aio-io_uring.x86_64-latest.args | 5 ++++-
tests/qemuxml2argvdata/disk-aio-io_uring.xml | 10 ++++++++--
.../disk-aio-io_uring.x86_64-latest.xml | 10 ++++++++--
3 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args b/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args
index 5500f70bf9..b771df752e 100644
--- a/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args
@@ -28,9 +28,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
+-blockdev '{"driver":"file","filename":"/path/to/file.qcow2","aio":"io_uring","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"qcow2","file":"libvirt-2-storage"}' \
+-device '{"driver":"virtio-blk-pci","bus":"pci.0","addr":"0xa","drive":"libvirt-2-format","id":"virtio-disk0","bootindex":1}' \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","aio":"io_uring","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
--device '{"driver":"virtio-blk-pci","bus":"pci.0","addr":"0x9","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
+-device '{"driver":"virtio-blk-pci","bus":"pci.0","addr":"0x9","drive":"libvirt-1-format","id":"virtio-disk1"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x2"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxml2argvdata/disk-aio-io_uring.xml b/tests/qemuxml2argvdata/disk-aio-io_uring.xml
index 9e6ea6225d..21769c0552 100644
--- a/tests/qemuxml2argvdata/disk-aio-io_uring.xml
+++ b/tests/qemuxml2argvdata/disk-aio-io_uring.xml
@@ -14,10 +14,16 @@
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
- <disk type='block' device='disk'>
+ <disk type='file' device='disk'>
<driver name='qemu' type='qcow2' io='io_uring'/>
- <source dev='/dev/HostVG/QEMUGuest1'/>
+ <source file='/path/to/file.qcow2' startupPolicy='optional'/>
<target dev='vda' bus='virtio'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x0A' function='0x0'/>
+ </disk>
+ <disk type='block' device='disk'>
+ <driver name='qemu' type='qcow2' io='io_uring'/>
+ <source dev='/dev/HostVG/QEMUGuest1' startupPolicy='optional'/>
+ <target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>
<controller type='usb' index='0'/>
diff --git a/tests/qemuxml2xmloutdata/disk-aio-io_uring.x86_64-latest.xml b/tests/qemuxml2xmloutdata/disk-aio-io_uring.x86_64-latest.xml
index 0e0ef77eae..190e827d10 100644
--- a/tests/qemuxml2xmloutdata/disk-aio-io_uring.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/disk-aio-io_uring.x86_64-latest.xml
@@ -17,10 +17,16 @@
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
- <disk type='block' device='disk'>
+ <disk type='file' device='disk'>
<driver name='qemu' type='qcow2' io='io_uring'/>
- <source dev='/dev/HostVG/QEMUGuest1'/>
+ <source file='/path/to/file.qcow2' startupPolicy='optional'/>
<target dev='vda' bus='virtio'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
+ </disk>
+ <disk type='block' device='disk'>
+ <driver name='qemu' type='qcow2' io='io_uring'/>
+ <source dev='/dev/HostVG/QEMUGuest1' startupPolicy='optional'/>
+ <target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>
<controller type='usb' index='0' model='piix3-uhci'>
--
2.36.1
2
1
14 Jun '22
Internally we already collect x86 host family + model + stepping
numeric values. This exposed them in capabilities CPU output.
Example:
$ sudo virsh capabilities | grep -A1 -B1 signature
<microcode version='240'/>
<signature family='6' model='94' stepping='3'/>
<counter name='tsc' frequency='3408010000' scaling='no'/>
Users need to know these values to calculate an expected.
SEV-ES/SEV-SNP launch measurement.
Signed-off-by: Cole Robinson <crobinso(a)redhat.com>
---
v2:
sigXXX naming was kept, since there's a conflicting 'model'
member in the struct already.
Addressed Jirka's review comments
src/conf/cpu_conf.c | 32 +++++++++++++++++++
src/conf/cpu_conf.h | 3 ++
src/conf/schemas/cputypes.rng | 13 ++++++++
src/cpu/cpu_x86.c | 3 ++
.../x86_64-cpuid-A10-5800K-host.xml | 1 +
.../x86_64-cpuid-Atom-D510-host.xml | 1 +
.../x86_64-cpuid-Atom-N450-host.xml | 1 +
.../x86_64-cpuid-Atom-P5362-host.xml | 1 +
.../x86_64-cpuid-Cooperlake-host.xml | 1 +
.../x86_64-cpuid-Core-i5-2500-host.xml | 1 +
.../x86_64-cpuid-Core-i5-2540M-host.xml | 1 +
.../x86_64-cpuid-Core-i5-4670T-host.xml | 1 +
.../x86_64-cpuid-Core-i5-650-host.xml | 1 +
.../x86_64-cpuid-Core-i5-6600-host.xml | 1 +
.../x86_64-cpuid-Core-i7-2600-host.xml | 1 +
...86_64-cpuid-Core-i7-2600-xsaveopt-host.xml | 1 +
.../x86_64-cpuid-Core-i7-3520M-host.xml | 1 +
.../x86_64-cpuid-Core-i7-3740QM-host.xml | 1 +
.../x86_64-cpuid-Core-i7-3770-host.xml | 1 +
.../x86_64-cpuid-Core-i7-4510U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-4600U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-arat-host.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-ibrs-host.xml | 1 +
.../x86_64-cpuid-Core-i7-7600U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-7700-host.xml | 1 +
.../x86_64-cpuid-Core-i7-8550U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-8700-host.xml | 1 +
.../x86_64-cpuid-Core2-E6850-host.xml | 1 +
.../x86_64-cpuid-Core2-Q9500-host.xml | 1 +
.../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 1 +
.../x86_64-cpuid-EPYC-7601-32-Core-host.xml | 1 +
...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 1 +
.../cputestdata/x86_64-cpuid-FX-8150-host.xml | 1 +
...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 1 +
.../x86_64-cpuid-Ice-Lake-Server-host.xml | 1 +
.../x86_64-cpuid-Opteron-1352-host.xml | 1 +
.../x86_64-cpuid-Opteron-2350-host.xml | 1 +
.../x86_64-cpuid-Opteron-6234-host.xml | 1 +
.../x86_64-cpuid-Opteron-6282-host.xml | 1 +
.../x86_64-cpuid-Pentium-P6100-host.xml | 1 +
.../x86_64-cpuid-Phenom-B95-host.xml | 1 +
...64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 1 +
...86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 1 +
.../x86_64-cpuid-Xeon-5110-host.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1225-v5-host.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1245-v5-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2609-v3-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2623-v4-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2630-v3-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2630-v4-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2650-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2650-v3-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2650-v4-host.xml | 1 +
.../x86_64-cpuid-Xeon-E7-4820-host.xml | 1 +
.../x86_64-cpuid-Xeon-E7-4830-host.xml | 1 +
.../x86_64-cpuid-Xeon-E7-8890-v3-host.xml | 1 +
.../x86_64-cpuid-Xeon-E7540-host.xml | 1 +
.../x86_64-cpuid-Xeon-Gold-5115-host.xml | 1 +
.../x86_64-cpuid-Xeon-Gold-6130-host.xml | 1 +
.../x86_64-cpuid-Xeon-Gold-6148-host.xml | 1 +
.../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 1 +
.../x86_64-cpuid-Xeon-Platinum-9242-host.xml | 1 +
.../x86_64-cpuid-Xeon-W3520-host.xml | 1 +
.../x86_64-cpuid-Xeon-X5460-host.xml | 1 +
65 files changed, 112 insertions(+)
diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c
index 2d447da7c3..8774a625ab 100644
--- a/src/conf/cpu_conf.c
+++ b/src/conf/cpu_conf.c
@@ -245,6 +245,9 @@ virCPUDefCopyWithoutModel(const virCPUDef *cpu)
copy->threads = cpu->threads;
copy->arch = cpu->arch;
copy->migratable = cpu->migratable;
+ copy->sigFamily = cpu->sigFamily;
+ copy->sigModel = cpu->sigModel;
+ copy->sigStepping = cpu->sigStepping;
if (cpu->cache) {
copy->cache = g_new0(virCPUCacheDef, 1);
@@ -421,6 +424,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt,
if (def->type == VIR_CPU_TYPE_HOST) {
g_autofree char *arch = virXPathString("string(./arch[1])", ctxt);
xmlNodePtr counter_node = NULL;
+ xmlNodePtr signature_node = NULL;
if (!arch) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -441,6 +445,26 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt,
return -1;
}
+ if ((signature_node = virXPathNode("./signature[1]", ctxt))) {
+ if (virXMLPropUInt(signature_node, "family", 10,
+ VIR_XML_PROP_REQUIRED | VIR_XML_PROP_NONZERO,
+ &def->sigFamily) < 0) {
+ return -1;
+ }
+
+ if (virXMLPropUInt(signature_node, "model", 10,
+ VIR_XML_PROP_REQUIRED,
+ &def->sigModel) < 0) {
+ return -1;
+ }
+
+ if (virXMLPropUInt(signature_node, "stepping", 10,
+ VIR_XML_PROP_REQUIRED,
+ &def->sigStepping) < 0) {
+ return -1;
+ }
+ }
+
if ((counter_node = virXPathNode("./counter[@name='tsc']", ctxt))) {
tsc = g_new0(virHostCPUTscInfo, 1);
@@ -753,6 +777,14 @@ virCPUDefFormatBuf(virBuffer *buf,
virBufferAsprintf(buf, "<microcode version='%u'/>\n",
def->microcodeVersion);
+ if (def->type == VIR_CPU_TYPE_HOST && def->sigFamily) {
+ virBufferAddLit(buf, "<signature");
+ virBufferAsprintf(buf, " family='%u'", def->sigFamily);
+ virBufferAsprintf(buf, " model='%u'", def->sigModel);
+ virBufferAsprintf(buf, " stepping='%u'", def->sigStepping);
+ virBufferAddLit(buf, "/>\n");
+ }
+
if (def->type == VIR_CPU_TYPE_HOST && def->tsc) {
virBufferAddLit(buf, "<counter name='tsc'");
virBufferAsprintf(buf, " frequency='%llu'", def->tsc->frequency);
diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h
index 2cda4ee1f4..17867d6a30 100644
--- a/src/conf/cpu_conf.h
+++ b/src/conf/cpu_conf.h
@@ -134,6 +134,9 @@ struct _virCPUDef {
unsigned int dies;
unsigned int cores;
unsigned int threads;
+ unsigned int sigFamily;
+ unsigned int sigModel;
+ unsigned int sigStepping;
size_t nfeatures;
size_t nfeatures_max;
virCPUFeatureDef *features;
diff --git a/src/conf/schemas/cputypes.rng b/src/conf/schemas/cputypes.rng
index 056e66e1b4..122880fb2e 100644
--- a/src/conf/schemas/cputypes.rng
+++ b/src/conf/schemas/cputypes.rng
@@ -342,6 +342,19 @@
</attribute>
</element>
</optional>
+ <optional>
+ <element name="signature">
+ <attribute name="family">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <attribute name="model">
+ <ref name="unsignedInt"/>
+ </attribute>
+ <attribute name="stepping">
+ <ref name="unsignedInt"/>
+ </attribute>
+ </element>
+ </optional>
<optional>
<element name="counter">
<attribute name="name">
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index a4aca6055d..c4462f34a7 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -2265,6 +2265,9 @@ x86Decode(virCPUDef *cpu,
cpuModel->nfeatures = 0;
cpu->nfeatures_max = cpuModel->nfeatures_max;
cpuModel->nfeatures_max = 0;
+ cpu->sigFamily = sigFamily;
+ cpu->sigModel = sigModel;
+ cpu->sigStepping = sigStepping;
return 0;
}
diff --git a/tests/cputestdata/x86_64-cpuid-A10-5800K-host.xml b/tests/cputestdata/x86_64-cpuid-A10-5800K-host.xml
index 2430adbfbc..220dfb6467 100644
--- a/tests/cputestdata/x86_64-cpuid-A10-5800K-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-A10-5800K-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G5</model>
<vendor>AMD</vendor>
+ <signature family='21' model='16' stepping='1'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-D510-host.xml b/tests/cputestdata/x86_64-cpuid-Atom-D510-host.xml
index 8cf4341099..3c8a005122 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-D510-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-D510-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>n270</model>
<vendor>Intel</vendor>
+ <signature family='6' model='28' stepping='10'/>
<feature name='pse36'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-N450-host.xml b/tests/cputestdata/x86_64-cpuid-Atom-N450-host.xml
index c79713dcaa..1f4eb7b727 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-N450-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-N450-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>n270</model>
<vendor>Intel</vendor>
+ <signature family='6' model='28' stepping='10'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml b/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
index b3e9d5c1ff..c59ebfa799 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Westmere-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='134' stepping='5'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml b/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml
index b0777181bb..6ac4ad55ef 100644
--- a/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Cooperlake</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='11'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml
index a604acb911..cf8b175db1 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>SandyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='42' stepping='7'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml
index a604acb911..cf8b175db1 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>SandyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='42' stepping='7'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml
index d1d0bc7168..827b16cb69 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell-noTSX</model>
<vendor>Intel</vendor>
+ <signature family='6' model='60' stepping='3'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
index e7256d52d0..4234c4df5a 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Westmere</model>
<vendor>Intel</vendor>
+ <signature family='6' model='37' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
index faaa07f19b..c52e8db235 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client</model>
<vendor>Intel</vendor>
+ <signature family='6' model='94' stepping='3'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml
index a604acb911..cf8b175db1 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>SandyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='42' stepping='7'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml
index e139004923..adcc4b86c5 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>SandyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='42' stepping='7'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
index a23c651a08..94352ee8bf 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>IvyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='58' stepping='9'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
index 9fec131ac9..e2503cd35c 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>IvyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='58' stepping='9'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
index a23c651a08..94352ee8bf 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>IvyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='58' stepping='9'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
index 61bcefbfcb..a6307e834e 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Westmere</model>
<vendor>Intel</vendor>
+ <signature family='6' model='69' stepping='1'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml
index fae8e8d0a8..8bbac47a2e 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell-noTSX</model>
<vendor>Intel</vendor>
+ <signature family='6' model='69' stepping='1'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
index ea622c87c7..b39148f37f 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell</model>
<vendor>Intel</vendor>
+ <signature family='6' model='61' stepping='4'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
index ea622c87c7..b39148f37f 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell</model>
<vendor>Intel</vendor>
+ <signature family='6' model='61' stepping='4'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
index a534d2dec5..2ab8890464 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='61' stepping='4'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml
index bbdfb6aa61..edfb8ec421 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='142' stepping='9'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
index faaa07f19b..08255621ec 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client</model>
<vendor>Intel</vendor>
+ <signature family='6' model='158' stepping='9'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml
index 7681c94649..1e3f1d1719 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client-noTSX-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='142' stepping='10'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml
index bbdfb6aa61..4174d79ce7 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='158' stepping='10'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core2-E6850-host.xml b/tests/cputestdata/x86_64-cpuid-Core2-E6850-host.xml
index e7ddc39ceb..e0ec4cd795 100644
--- a/tests/cputestdata/x86_64-cpuid-Core2-E6850-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core2-E6850-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Conroe</model>
<vendor>Intel</vendor>
+ <signature family='6' model='15' stepping='11'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core2-Q9500-host.xml b/tests/cputestdata/x86_64-cpuid-Core2-Q9500-host.xml
index 4dc25588d5..586b8e0f59 100644
--- a/tests/cputestdata/x86_64-cpuid-Core2-Q9500-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core2-Q9500-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Penryn</model>
<vendor>Intel</vendor>
+ <signature family='6' model='23' stepping='10'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
index 9f8108cdaa..debddc194f 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>EPYC-Rome</model>
<vendor>AMD</vendor>
+ <signature family='23' model='49' stepping='0'/>
<feature name='ht'/>
<feature name='monitor'/>
<feature name='osxsave'/>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
index 8c2c975fdd..da05dd4709 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>EPYC</model>
<vendor>AMD</vendor>
+ <signature family='23' model='1' stepping='2'/>
<feature name='ht'/>
<feature name='monitor'/>
<feature name='osxsave'/>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml
index c3bbf78396..e91c14c715 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>EPYC-IBPB</model>
<vendor>AMD</vendor>
+ <signature family='23' model='1' stepping='2'/>
<feature name='ht'/>
<feature name='monitor'/>
<feature name='osxsave'/>
diff --git a/tests/cputestdata/x86_64-cpuid-FX-8150-host.xml b/tests/cputestdata/x86_64-cpuid-FX-8150-host.xml
index 75595c02af..4fb2d3978b 100644
--- a/tests/cputestdata/x86_64-cpuid-FX-8150-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-FX-8150-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G4</model>
<vendor>AMD</vendor>
+ <signature family='21' model='1' stepping='2'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml
index 76c3753505..d06a7afc3f 100644
--- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Dhyana</model>
<vendor>Hygon</vendor>
+ <signature family='24' model='0' stepping='1'/>
<feature name='ht'/>
<feature name='monitor'/>
<feature name='osxsave'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml
index 07e8f8bc24..2ce74da604 100644
--- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Icelake-Server</model>
<vendor>Intel</vendor>
+ <signature family='6' model='106' stepping='0'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-1352-host.xml b/tests/cputestdata/x86_64-cpuid-Opteron-1352-host.xml
index ecd532167a..7b0b3dfe6a 100644
--- a/tests/cputestdata/x86_64-cpuid-Opteron-1352-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-1352-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G3</model>
<vendor>AMD</vendor>
+ <signature family='16' model='2' stepping='3'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-2350-host.xml b/tests/cputestdata/x86_64-cpuid-Opteron-2350-host.xml
index ecd532167a..7b0b3dfe6a 100644
--- a/tests/cputestdata/x86_64-cpuid-Opteron-2350-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-2350-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G3</model>
<vendor>AMD</vendor>
+ <signature family='16' model='2' stepping='3'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-6234-host.xml b/tests/cputestdata/x86_64-cpuid-Opteron-6234-host.xml
index 75595c02af..4fb2d3978b 100644
--- a/tests/cputestdata/x86_64-cpuid-Opteron-6234-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-6234-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G4</model>
<vendor>AMD</vendor>
+ <signature family='21' model='1' stepping='2'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-6282-host.xml b/tests/cputestdata/x86_64-cpuid-Opteron-6282-host.xml
index 75595c02af..4fb2d3978b 100644
--- a/tests/cputestdata/x86_64-cpuid-Opteron-6282-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-6282-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G4</model>
<vendor>AMD</vendor>
+ <signature family='21' model='1' stepping='2'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Pentium-P6100-host.xml b/tests/cputestdata/x86_64-cpuid-Pentium-P6100-host.xml
index 3975aa7e1f..a70f8ccd46 100644
--- a/tests/cputestdata/x86_64-cpuid-Pentium-P6100-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Pentium-P6100-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>core2duo</model>
<vendor>Intel</vendor>
+ <signature family='6' model='37' stepping='5'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Phenom-B95-host.xml b/tests/cputestdata/x86_64-cpuid-Phenom-B95-host.xml
index 95875918c9..dba7b2b161 100644
--- a/tests/cputestdata/x86_64-cpuid-Phenom-B95-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Phenom-B95-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>athlon</model>
<vendor>AMD</vendor>
+ <signature family='16' model='4' stepping='2'/>
<feature name='mca'/>
<feature name='clflush'/>
<feature name='ht'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
index 8c2c975fdd..15ec20bd63 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>EPYC</model>
<vendor>AMD</vendor>
+ <signature family='23' model='1' stepping='1'/>
<feature name='ht'/>
<feature name='monitor'/>
<feature name='osxsave'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml
index 65eaeabdd0..7f86683bf2 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>EPYC-Rome</model>
<vendor>AMD</vendor>
+ <signature family='23' model='113' stepping='0'/>
<feature name='ht'/>
<feature name='monitor'/>
<feature name='osxsave'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-5110-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-5110-host.xml
index ca3a84cc5c..beb465df86 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-5110-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-5110-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Conroe</model>
<vendor>Intel</vendor>
+ <signature family='6' model='15' stepping='6'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
index e7ced42797..d4a2a15e60 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='94' stepping='3'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
index faaa07f19b..c52e8db235 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client</model>
<vendor>Intel</vendor>
+ <signature family='6' model='94' stepping='3'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
index 9bac4b4648..bc39536de9 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell-noTSX-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='63' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
index 43a0b93ab4..70419d7944 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='79' stepping='1'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml
index 431a737a44..6d959eedc3 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell-noTSX</model>
<vendor>Intel</vendor>
+ <signature family='6' model='63' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml
index 5dd8d749de..e2ace9021b 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell</model>
<vendor>Intel</vendor>
+ <signature family='6' model='79' stepping='1'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
index 80ca6c343f..628900fd2c 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='45' stepping='7'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml
index 431a737a44..6d959eedc3 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell-noTSX</model>
<vendor>Intel</vendor>
+ <signature family='6' model='63' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
index 5dd8d749de..e2ace9021b 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell</model>
<vendor>Intel</vendor>
+ <signature family='6' model='79' stepping='1'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
index 52902479b9..58468cd096 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Westmere</model>
<vendor>Intel</vendor>
+ <signature family='6' model='47' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
index 52902479b9..58468cd096 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Westmere</model>
<vendor>Intel</vendor>
+ <signature family='6' model='47' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml
index e90598ec63..6a18204c02 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell</model>
<vendor>Intel</vendor>
+ <signature family='6' model='63' stepping='4'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml
index 42b43116bd..ee526e7119 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Nehalem-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='46' stepping='6'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
index 9de76fd640..e004747ada 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Server-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='4'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml
index 207e9e0ee4..fba4ccf506 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Server-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='4'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
index b18ceddc60..da7e96e533 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Server</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='4'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
index fdeafc4870..96effe5684 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Cascadelake-Server</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='6'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml
index 01447f3478..ea51fc40a1 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Cascadelake-Server</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='7'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml
index c4a9226973..35dd63f360 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Nehalem</model>
<vendor>Intel</vendor>
+ <signature family='6' model='26' stepping='5'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-X5460-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-X5460-host.xml
index e73c4780c9..91ab9726da 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-X5460-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-X5460-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Penryn</model>
<vendor>Intel</vendor>
+ <signature family='6' model='23' stepping='6'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
--
2.36.1
2
1
The 0.5.6 release of libvirt-php is tagged and tarball is available at:
https://libvirt.org/sources/php/
Notable changes:
* PHP-8.0 support
* Implemented virDomainSnapshotCurrent() API
* Implemented virNetworkGetDHCPLeases() API
* Implemented virDomainGetCPUStats() API
* Implemented virDomainUndefineFlags() API
* Fixed libvirt_domain_interface_addresses() when multiple addresses are
reported
* Bug fixes
Thanks to everybody who helped with this release.
Michal
1
0
14 Jun '22
Patch 4/4 fixes the regression. Patch 3/4 fixes missing cases in the
validation. Rest of the series is preparation/cleanup.
Peter Krempa (4):
virDomainDiskDefValidate: Improve error messages for 'startupPolicy'
checks
domain_validate: Split out validation of disk startup policy
virDomainDiskDefValidateStartupPolicy: Validate disk type better
virDomainDiskTranslateSourcePool: Fix check of 'startupPolicy'
definition
src/conf/domain_conf.c | 12 +++++-----
src/conf/domain_validate.c | 49 ++++++++++++++++++++++++--------------
src/conf/domain_validate.h | 2 ++
src/libvirt_private.syms | 1 +
4 files changed, 40 insertions(+), 24 deletions(-)
--
2.36.1
2
5
14 Jun '22
Internally we already collect x86 host family + model + stepping
numeric values. This exposed them in capabilities CPU output.
Example:
$ sudo virsh capabilities | grep -A1 -B1 signature
<microcode version='240'/>
<signature family='6' model='94' stepping='3'/>
<counter name='tsc' frequency='3408010000' scaling='no'/>
Users need to know these values to calculate an expected.
SEV-ES/SEV-SNP launch measurement.
Signed-off-by: Cole Robinson <crobinso(a)redhat.com>
---
src/conf/cpu_conf.c | 36 +++++++++++++++++++
src/conf/cpu_conf.h | 3 ++
src/conf/schemas/cputypes.rng | 13 +++++++
src/cpu/cpu_x86.c | 3 ++
.../x86_64-cpuid-A10-5800K-host.xml | 1 +
.../x86_64-cpuid-Atom-D510-host.xml | 1 +
.../x86_64-cpuid-Atom-N450-host.xml | 1 +
.../x86_64-cpuid-Atom-P5362-host.xml | 1 +
.../x86_64-cpuid-Cooperlake-host.xml | 1 +
.../x86_64-cpuid-Core-i5-2500-host.xml | 1 +
.../x86_64-cpuid-Core-i5-2540M-host.xml | 1 +
.../x86_64-cpuid-Core-i5-4670T-host.xml | 1 +
.../x86_64-cpuid-Core-i5-650-host.xml | 1 +
.../x86_64-cpuid-Core-i5-6600-host.xml | 1 +
.../x86_64-cpuid-Core-i7-2600-host.xml | 1 +
...86_64-cpuid-Core-i7-2600-xsaveopt-host.xml | 1 +
.../x86_64-cpuid-Core-i7-3520M-host.xml | 1 +
.../x86_64-cpuid-Core-i7-3740QM-host.xml | 1 +
.../x86_64-cpuid-Core-i7-3770-host.xml | 1 +
.../x86_64-cpuid-Core-i7-4510U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-4600U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-arat-host.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-ibrs-host.xml | 1 +
.../x86_64-cpuid-Core-i7-7600U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-7700-host.xml | 1 +
.../x86_64-cpuid-Core-i7-8550U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-8700-host.xml | 1 +
.../x86_64-cpuid-Core2-E6850-host.xml | 1 +
.../x86_64-cpuid-Core2-Q9500-host.xml | 1 +
.../x86_64-cpuid-EPYC-7601-32-Core-host.xml | 1 +
...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 1 +
.../cputestdata/x86_64-cpuid-FX-8150-host.xml | 1 +
.../x86_64-cpuid-Opteron-1352-host.xml | 1 +
.../x86_64-cpuid-Opteron-2350-host.xml | 1 +
.../x86_64-cpuid-Opteron-6234-host.xml | 1 +
.../x86_64-cpuid-Opteron-6282-host.xml | 1 +
.../x86_64-cpuid-Pentium-P6100-host.xml | 1 +
.../x86_64-cpuid-Phenom-B95-host.xml | 1 +
...64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 1 +
.../x86_64-cpuid-Xeon-5110-host.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1225-v5-host.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1245-v5-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2609-v3-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2623-v4-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2630-v3-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2630-v4-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2650-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2650-v3-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2650-v4-host.xml | 1 +
.../x86_64-cpuid-Xeon-E7-4820-host.xml | 1 +
.../x86_64-cpuid-Xeon-E7-4830-host.xml | 1 +
.../x86_64-cpuid-Xeon-E7-8890-v3-host.xml | 1 +
.../x86_64-cpuid-Xeon-E7540-host.xml | 1 +
.../x86_64-cpuid-Xeon-Gold-5115-host.xml | 1 +
.../x86_64-cpuid-Xeon-Gold-6130-host.xml | 1 +
.../x86_64-cpuid-Xeon-Gold-6148-host.xml | 1 +
.../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 1 +
.../x86_64-cpuid-Xeon-Platinum-9242-host.xml | 1 +
.../x86_64-cpuid-Xeon-W3520-host.xml | 1 +
.../x86_64-cpuid-Xeon-X5460-host.xml | 1 +
61 files changed, 112 insertions(+)
diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c
index 2d447da7c3..1a09e27dca 100644
--- a/src/conf/cpu_conf.c
+++ b/src/conf/cpu_conf.c
@@ -159,6 +159,9 @@ virCPUDefCopyModelFilter(virCPUDef *dst,
dst->vendor = g_strdup(src->vendor);
dst->vendor_id = g_strdup(src->vendor_id);
dst->microcodeVersion = src->microcodeVersion;
+ dst->sigFamily = src->sigFamily;
+ dst->sigModel = src->sigModel;
+ dst->sigStepping = src->sigStepping;
dst->nfeatures_max = src->nfeatures;
dst->nfeatures = 0;
@@ -210,6 +213,9 @@ virCPUDefStealModel(virCPUDef *dst,
dst->model = g_steal_pointer(&src->model);
dst->features = g_steal_pointer(&src->features);
dst->microcodeVersion = src->microcodeVersion;
+ dst->sigFamily = src->sigFamily;
+ dst->sigModel = src->sigModel;
+ dst->sigStepping = src->sigStepping;
dst->nfeatures_max = src->nfeatures_max;
src->nfeatures_max = 0;
dst->nfeatures = src->nfeatures;
@@ -421,6 +427,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt,
if (def->type == VIR_CPU_TYPE_HOST) {
g_autofree char *arch = virXPathString("string(./arch[1])", ctxt);
xmlNodePtr counter_node = NULL;
+ xmlNodePtr signature_node = NULL;
if (!arch) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -441,6 +448,26 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt,
return -1;
}
+ if ((signature_node = virXPathNode("./signature[1]", ctxt))) {
+ if (virXMLPropUInt(signature_node, "family", 10,
+ VIR_XML_PROP_REQUIRED | VIR_XML_PROP_NONZERO,
+ &def->sigFamily) < 0) {
+ return -1;
+ }
+
+ if (virXMLPropUInt(signature_node, "model", 10,
+ VIR_XML_PROP_REQUIRED | VIR_XML_PROP_NONZERO,
+ &def->sigModel) < 0) {
+ return -1;
+ }
+
+ if (virXMLPropUInt(signature_node, "stepping", 10,
+ VIR_XML_PROP_REQUIRED | VIR_XML_PROP_NONZERO,
+ &def->sigStepping) < 0) {
+ return -1;
+ }
+ }
+
if ((counter_node = virXPathNode("./counter[@name='tsc']", ctxt))) {
tsc = g_new0(virHostCPUTscInfo, 1);
@@ -753,6 +780,15 @@ virCPUDefFormatBuf(virBuffer *buf,
virBufferAsprintf(buf, "<microcode version='%u'/>\n",
def->microcodeVersion);
+ if (def->type == VIR_CPU_TYPE_HOST &&
+ def->sigFamily && def->sigModel && def->sigStepping) {
+ virBufferAddLit(buf, "<signature");
+ virBufferAsprintf(buf, " family='%u'", def->sigFamily);
+ virBufferAsprintf(buf, " model='%u'", def->sigModel);
+ virBufferAsprintf(buf, " stepping='%u'", def->sigStepping);
+ virBufferAddLit(buf, "/>\n");
+ }
+
if (def->type == VIR_CPU_TYPE_HOST && def->tsc) {
virBufferAddLit(buf, "<counter name='tsc'");
virBufferAsprintf(buf, " frequency='%llu'", def->tsc->frequency);
diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h
index 2cda4ee1f4..17867d6a30 100644
--- a/src/conf/cpu_conf.h
+++ b/src/conf/cpu_conf.h
@@ -134,6 +134,9 @@ struct _virCPUDef {
unsigned int dies;
unsigned int cores;
unsigned int threads;
+ unsigned int sigFamily;
+ unsigned int sigModel;
+ unsigned int sigStepping;
size_t nfeatures;
size_t nfeatures_max;
virCPUFeatureDef *features;
diff --git a/src/conf/schemas/cputypes.rng b/src/conf/schemas/cputypes.rng
index 056e66e1b4..7c84216240 100644
--- a/src/conf/schemas/cputypes.rng
+++ b/src/conf/schemas/cputypes.rng
@@ -342,6 +342,19 @@
</attribute>
</element>
</optional>
+ <optional>
+ <element name="signature">
+ <attribute name="family">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <attribute name="model">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <attribute name="stepping">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </element>
+ </optional>
<optional>
<element name="counter">
<attribute name="name">
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index a4aca6055d..c4462f34a7 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -2265,6 +2265,9 @@ x86Decode(virCPUDef *cpu,
cpuModel->nfeatures = 0;
cpu->nfeatures_max = cpuModel->nfeatures_max;
cpuModel->nfeatures_max = 0;
+ cpu->sigFamily = sigFamily;
+ cpu->sigModel = sigModel;
+ cpu->sigStepping = sigStepping;
return 0;
}
diff --git a/tests/cputestdata/x86_64-cpuid-A10-5800K-host.xml b/tests/cputestdata/x86_64-cpuid-A10-5800K-host.xml
index 2430adbfbc..220dfb6467 100644
--- a/tests/cputestdata/x86_64-cpuid-A10-5800K-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-A10-5800K-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G5</model>
<vendor>AMD</vendor>
+ <signature family='21' model='16' stepping='1'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-D510-host.xml b/tests/cputestdata/x86_64-cpuid-Atom-D510-host.xml
index 8cf4341099..3c8a005122 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-D510-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-D510-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>n270</model>
<vendor>Intel</vendor>
+ <signature family='6' model='28' stepping='10'/>
<feature name='pse36'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-N450-host.xml b/tests/cputestdata/x86_64-cpuid-Atom-N450-host.xml
index c79713dcaa..1f4eb7b727 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-N450-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-N450-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>n270</model>
<vendor>Intel</vendor>
+ <signature family='6' model='28' stepping='10'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml b/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
index b3e9d5c1ff..c59ebfa799 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Westmere-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='134' stepping='5'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml b/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml
index b0777181bb..6ac4ad55ef 100644
--- a/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Cooperlake</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='11'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml
index a604acb911..cf8b175db1 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>SandyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='42' stepping='7'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml
index a604acb911..cf8b175db1 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>SandyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='42' stepping='7'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml
index d1d0bc7168..827b16cb69 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell-noTSX</model>
<vendor>Intel</vendor>
+ <signature family='6' model='60' stepping='3'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
index e7256d52d0..4234c4df5a 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Westmere</model>
<vendor>Intel</vendor>
+ <signature family='6' model='37' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
index faaa07f19b..c52e8db235 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client</model>
<vendor>Intel</vendor>
+ <signature family='6' model='94' stepping='3'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml
index a604acb911..cf8b175db1 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>SandyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='42' stepping='7'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml
index e139004923..adcc4b86c5 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>SandyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='42' stepping='7'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
index a23c651a08..94352ee8bf 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>IvyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='58' stepping='9'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
index 9fec131ac9..e2503cd35c 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>IvyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='58' stepping='9'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
index a23c651a08..94352ee8bf 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>IvyBridge</model>
<vendor>Intel</vendor>
+ <signature family='6' model='58' stepping='9'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
index 61bcefbfcb..a6307e834e 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Westmere</model>
<vendor>Intel</vendor>
+ <signature family='6' model='69' stepping='1'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml
index fae8e8d0a8..8bbac47a2e 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell-noTSX</model>
<vendor>Intel</vendor>
+ <signature family='6' model='69' stepping='1'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
index ea622c87c7..b39148f37f 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell</model>
<vendor>Intel</vendor>
+ <signature family='6' model='61' stepping='4'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
index ea622c87c7..b39148f37f 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell</model>
<vendor>Intel</vendor>
+ <signature family='6' model='61' stepping='4'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
index a534d2dec5..2ab8890464 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='61' stepping='4'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml
index bbdfb6aa61..edfb8ec421 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='142' stepping='9'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
index faaa07f19b..08255621ec 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client</model>
<vendor>Intel</vendor>
+ <signature family='6' model='158' stepping='9'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml
index 7681c94649..1e3f1d1719 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client-noTSX-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='142' stepping='10'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml
index bbdfb6aa61..4174d79ce7 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='158' stepping='10'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core2-E6850-host.xml b/tests/cputestdata/x86_64-cpuid-Core2-E6850-host.xml
index e7ddc39ceb..e0ec4cd795 100644
--- a/tests/cputestdata/x86_64-cpuid-Core2-E6850-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core2-E6850-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Conroe</model>
<vendor>Intel</vendor>
+ <signature family='6' model='15' stepping='11'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core2-Q9500-host.xml b/tests/cputestdata/x86_64-cpuid-Core2-Q9500-host.xml
index 4dc25588d5..586b8e0f59 100644
--- a/tests/cputestdata/x86_64-cpuid-Core2-Q9500-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core2-Q9500-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Penryn</model>
<vendor>Intel</vendor>
+ <signature family='6' model='23' stepping='10'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
index 8c2c975fdd..da05dd4709 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>EPYC</model>
<vendor>AMD</vendor>
+ <signature family='23' model='1' stepping='2'/>
<feature name='ht'/>
<feature name='monitor'/>
<feature name='osxsave'/>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml
index c3bbf78396..e91c14c715 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>EPYC-IBPB</model>
<vendor>AMD</vendor>
+ <signature family='23' model='1' stepping='2'/>
<feature name='ht'/>
<feature name='monitor'/>
<feature name='osxsave'/>
diff --git a/tests/cputestdata/x86_64-cpuid-FX-8150-host.xml b/tests/cputestdata/x86_64-cpuid-FX-8150-host.xml
index 75595c02af..4fb2d3978b 100644
--- a/tests/cputestdata/x86_64-cpuid-FX-8150-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-FX-8150-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G4</model>
<vendor>AMD</vendor>
+ <signature family='21' model='1' stepping='2'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-1352-host.xml b/tests/cputestdata/x86_64-cpuid-Opteron-1352-host.xml
index ecd532167a..7b0b3dfe6a 100644
--- a/tests/cputestdata/x86_64-cpuid-Opteron-1352-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-1352-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G3</model>
<vendor>AMD</vendor>
+ <signature family='16' model='2' stepping='3'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-2350-host.xml b/tests/cputestdata/x86_64-cpuid-Opteron-2350-host.xml
index ecd532167a..7b0b3dfe6a 100644
--- a/tests/cputestdata/x86_64-cpuid-Opteron-2350-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-2350-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G3</model>
<vendor>AMD</vendor>
+ <signature family='16' model='2' stepping='3'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-6234-host.xml b/tests/cputestdata/x86_64-cpuid-Opteron-6234-host.xml
index 75595c02af..4fb2d3978b 100644
--- a/tests/cputestdata/x86_64-cpuid-Opteron-6234-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-6234-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G4</model>
<vendor>AMD</vendor>
+ <signature family='21' model='1' stepping='2'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-6282-host.xml b/tests/cputestdata/x86_64-cpuid-Opteron-6282-host.xml
index 75595c02af..4fb2d3978b 100644
--- a/tests/cputestdata/x86_64-cpuid-Opteron-6282-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-6282-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Opteron_G4</model>
<vendor>AMD</vendor>
+ <signature family='21' model='1' stepping='2'/>
<feature name='vme'/>
<feature name='ht'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Pentium-P6100-host.xml b/tests/cputestdata/x86_64-cpuid-Pentium-P6100-host.xml
index 3975aa7e1f..a70f8ccd46 100644
--- a/tests/cputestdata/x86_64-cpuid-Pentium-P6100-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Pentium-P6100-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>core2duo</model>
<vendor>Intel</vendor>
+ <signature family='6' model='37' stepping='5'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Phenom-B95-host.xml b/tests/cputestdata/x86_64-cpuid-Phenom-B95-host.xml
index 95875918c9..dba7b2b161 100644
--- a/tests/cputestdata/x86_64-cpuid-Phenom-B95-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Phenom-B95-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>athlon</model>
<vendor>AMD</vendor>
+ <signature family='16' model='4' stepping='2'/>
<feature name='mca'/>
<feature name='clflush'/>
<feature name='ht'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
index 8c2c975fdd..15ec20bd63 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>EPYC</model>
<vendor>AMD</vendor>
+ <signature family='23' model='1' stepping='1'/>
<feature name='ht'/>
<feature name='monitor'/>
<feature name='osxsave'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-5110-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-5110-host.xml
index ca3a84cc5c..beb465df86 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-5110-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-5110-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Conroe</model>
<vendor>Intel</vendor>
+ <signature family='6' model='15' stepping='6'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
index e7ced42797..d4a2a15e60 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='94' stepping='3'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
index faaa07f19b..c52e8db235 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Client</model>
<vendor>Intel</vendor>
+ <signature family='6' model='94' stepping='3'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
index 9bac4b4648..bc39536de9 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell-noTSX-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='63' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
index 43a0b93ab4..70419d7944 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='79' stepping='1'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml
index 431a737a44..6d959eedc3 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell-noTSX</model>
<vendor>Intel</vendor>
+ <signature family='6' model='63' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml
index 5dd8d749de..e2ace9021b 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell</model>
<vendor>Intel</vendor>
+ <signature family='6' model='79' stepping='1'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
index 80ca6c343f..628900fd2c 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='45' stepping='7'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml
index 431a737a44..6d959eedc3 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell-noTSX</model>
<vendor>Intel</vendor>
+ <signature family='6' model='63' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
index 5dd8d749de..e2ace9021b 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Broadwell</model>
<vendor>Intel</vendor>
+ <signature family='6' model='79' stepping='1'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
index 52902479b9..58468cd096 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Westmere</model>
<vendor>Intel</vendor>
+ <signature family='6' model='47' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
index 52902479b9..58468cd096 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Westmere</model>
<vendor>Intel</vendor>
+ <signature family='6' model='47' stepping='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml
index e90598ec63..6a18204c02 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Haswell</model>
<vendor>Intel</vendor>
+ <signature family='6' model='63' stepping='4'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml
index 42b43116bd..ee526e7119 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Nehalem-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='46' stepping='6'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
index 9de76fd640..e004747ada 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Server-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='4'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml
index 207e9e0ee4..fba4ccf506 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Server-IBRS</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='4'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
index b18ceddc60..da7e96e533 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Skylake-Server</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='4'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
index fdeafc4870..96effe5684 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Cascadelake-Server</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='6'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml
index 01447f3478..ea51fc40a1 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Cascadelake-Server</model>
<vendor>Intel</vendor>
+ <signature family='6' model='85' stepping='7'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml
index c4a9226973..35dd63f360 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Nehalem</model>
<vendor>Intel</vendor>
+ <signature family='6' model='26' stepping='5'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-X5460-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-X5460-host.xml
index e73c4780c9..91ab9726da 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-X5460-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-X5460-host.xml
@@ -2,6 +2,7 @@
<arch>x86_64</arch>
<model>Penryn</model>
<vendor>Intel</vendor>
+ <signature family='6' model='23' stepping='6'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
--
2.36.1
3
2
This version fixes multiple problems which I'd point out when reviewing:
- virStorageSource is properly used in all places
- logic for initializing NVRAM imgages from template is fixed to avoid
touching network backed nvrams
- documentation now states the correct version
- some cleanups
- dropped NEWS entry stashed in a patch with other stuff
- fixed/simplified schema
Rohit, please give it a try. I didn't yet have time to test this beyond
unit tests.
This series can also be fetched from my repo:
git fetch https://gitlab.com/pipo.sk/libvirt.git network-nvram2
Peter Krempa (9):
qemuDomainPrepareStorageSourceBlockdev: Add a variant for custom
nodename
qemuBuildPflashBlockdevCommandLine: Take virDomainObj instead of
private data
qemu: Use 'def->os.loader->nvram' directly instead of 'priv->pflash1'
qemu: Properly setup the NVRAM virStorageSource
qemuProcessReconnect: Don't re-instantiate pflash storage source
qemuDomainInitializePflashStorageSource: Properly and fully initialize
nvram source
qemuFirmwareFillDomain: Don't fill in firmware for network backed
nvram
conf: Extract formatting of NVRAM out of virDomainLoaderDefFormat
virDomainHugepagesFormat: Use virXMLFormatElementEmpty
Rohit Kumar (4):
conf: Convert def->os.loader->nvram a virStorageSource
qemu: validate: Reject virStorageSource features we don't want to
support with nvram
conf: Add support to parse/format <source> for NVRAM
Add unit tests for new specification of nvram.
docs/formatdomain.rst | 37 +++++
src/conf/domain_conf.c | 136 ++++++++++++++----
src/conf/domain_conf.h | 3 +-
src/conf/schemas/domaincommon.rng | 9 +-
src/qemu/qemu_cgroup.c | 2 +-
src/qemu/qemu_command.c | 22 +--
src/qemu/qemu_domain.c | 58 +++++---
src/qemu/qemu_domain.h | 9 +-
src/qemu/qemu_driver.c | 5 +-
src/qemu/qemu_firmware.c | 30 +++-
src/qemu/qemu_namespace.c | 6 +-
src/qemu/qemu_process.c | 11 +-
src/qemu/qemu_validate.c | 115 +++++++++++----
src/security/security_dac.c | 19 +--
src/security/security_selinux.c | 21 +--
src/security/virt-aa-helper.c | 5 +-
src/vbox/vbox_common.c | 3 +-
.../bios-nvram-file.x86_64-latest.args | 37 +++++
tests/qemuxml2argvdata/bios-nvram-file.xml | 23 +++
.../bios-nvram-network-iscsi.x86_64-4.1.0.err | 1 +
...ios-nvram-network-iscsi.x86_64-latest.args | 38 +++++
.../bios-nvram-network-iscsi.xml | 31 ++++
.../bios-nvram-network-nbd.x86_64-latest.args | 37 +++++
.../bios-nvram-network-nbd.xml | 28 ++++
tests/qemuxml2argvtest.c | 4 +
.../bios-nvram-file.x86_64-latest.xml | 39 +++++
...bios-nvram-network-iscsi.x86_64-latest.xml | 44 ++++++
.../bios-nvram-network-nbd.x86_64-latest.xml | 41 ++++++
tests/qemuxml2xmltest.c | 3 +
29 files changed, 696 insertions(+), 121 deletions(-)
create mode 100644 tests/qemuxml2argvdata/bios-nvram-file.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-file.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-iscsi.x86_64-4.1.0.err
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-iscsi.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-iscsi.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-nbd.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-nbd.xml
create mode 100644 tests/qemuxml2xmloutdata/bios-nvram-file.x86_64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/bios-nvram-network-iscsi.x86_64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/bios-nvram-network-nbd.x86_64-latest.xml
--
2.35.3
3
27
Libvirt domain XML currently allows only local filepaths
that can be used to specify a NVRAM disk. It should be
possible to support NVRAM disks on network storage as
it would give flexibility to start the VM on any host
without having to worry about where to get the latest
nvram image.
This series extends the NVRAM element to support hosting over
network-backed disks.
It achieves this by embedding virStorageSource pointer for
nvram into _virDomainLoaderDef.
It introduces a 'type' attribute for NVRAM element to
specify 'file' vs 'network' backed NVRAM.
XML with new annotation:
<nvram type='network'>
<source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool/0'>
<host name='example.com' port='6000'/>
<auth username='myname'>
<secret type='iscsi' usage='mycluster_myname'/>
</auth>
</host>
</source>
</nvram>
or
<nvram type='network'>
<source protocol='nbd' name='bar'>
<host name='example.org' port='6000'/>
</source>
</nvram>
or
<nvram type='file'>
<source file='/var/lib/libvirt/nvram/guest_VARS.fd'/>
</nvram>
Changes v1->v2:
- Split the patch into smaller patches
- Added unit test
- Updated the doc
- Addressed Peter's comment on v1 (https://listman.redhat.com/archives/libvir-list/2022-March/229684.html)
Changes v2->v3:
- Added authentication with 'iscsi' protocol unit test
- Updated the validation logic
- Addressed Peter's other comments on v2 patch(https://listman.redhat.com/archives/libvir-list/2022-April/229971.htm…
Rohit Kumar (5):
Make NVRAM a virStorageSource type.
Add support to parse/format/validate virStorageSource type NVRAM
Update schema, docs, and validation logic to support network backed
NVRAM
Add unit tests for network backed NVRAM
Add unit test to support new 'file' type NVRAM
NEWS.rst | 5 +
docs/formatdomain.rst | 34 +++++-
src/conf/domain_conf.c | 115 +++++++++++++++---
src/conf/domain_conf.h | 3 +-
src/conf/schemas/domaincommon.rng | 21 +++-
src/qemu/qemu_cgroup.c | 3 +-
src/qemu/qemu_command.c | 2 +-
src/qemu/qemu_domain.c | 23 +++-
src/qemu/qemu_driver.c | 5 +-
src/qemu/qemu_firmware.c | 23 +++-
src/qemu/qemu_namespace.c | 5 +-
src/qemu/qemu_process.c | 5 +-
src/qemu/qemu_validate.c | 71 +++++++++++
src/security/security_dac.c | 6 +-
src/security/security_selinux.c | 6 +-
src/security/virt-aa-helper.c | 5 +-
src/vbox/vbox_common.c | 3 +-
.../bios-nvram-file.x86_64-latest.args | 37 ++++++
tests/qemuxml2argvdata/bios-nvram-file.xml | 23 ++++
.../bios-nvram-network-iscsi.x86_64-4.1.0.err | 1 +
...ios-nvram-network-iscsi.x86_64-latest.args | 38 ++++++
.../bios-nvram-network-iscsi.xml | 31 +++++
.../bios-nvram-network-nbd.x86_64-latest.args | 37 ++++++
.../bios-nvram-network-nbd.xml | 28 +++++
tests/qemuxml2argvtest.c | 4 +
.../bios-nvram-file.x86_64-latest.xml | 39 ++++++
...bios-nvram-network-iscsi.x86_64-latest.xml | 44 +++++++
.../bios-nvram-network-nbd.x86_64-latest.xml | 41 +++++++
tests/qemuxml2xmltest.c | 3 +
29 files changed, 618 insertions(+), 43 deletions(-)
create mode 100644 tests/qemuxml2argvdata/bios-nvram-file.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-file.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-iscsi.x86_64-4.1.0.err
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-iscsi.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-iscsi.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-nbd.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-nbd.xml
create mode 100644 tests/qemuxml2xmloutdata/bios-nvram-file.x86_64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/bios-nvram-network-iscsi.x86_64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/bios-nvram-network-nbd.x86_64-latest.xml
--
2.25.1
3
15
[libvirt PATCH] Fix incorrect uses of g_clear_pointer() introduced in 8.1.0
by Mark Mielke 13 Jun '22
by Mark Mielke 13 Jun '22
13 Jun '22
This is a partial revert of 87a43a907f0ad4897a28ad7c216bc70f37270b93.
The change to use g_clear_pointer() in more places was accidentally
applied to cases involving vir_g_source_unref().
In some cases, the ordering of g_source_destroy() and
vir_g_source_unref() was reversed, which resulted in the source being
marked as destroyed, after it is already unreferenced. This
use-after-free case might work in many cases, but with versions of
glibc older than 2.64.0 it may defer unref to run within the main
thread to avoid a race condition, which creates a large distance
between the g_source_unref() and g_source_destroy().
In some cases, the call to vir_g_source_unref() was replaced with a
second call to g_source_destroy(), leading to a memory leak or worse.
In our experience, the symptoms were that use of libvirt-python became
slower over time, with OpenStack nova-compute initially taking around
one second to periodically query the host PCI devices, and within an
hour it was taking over a minute to complete the same operation, until
it is was eventually running this query back-to-back, resulting in the
nova-compute process consuming 100% of one CPU thread, losing its
RabbitMQ connection frequently, and showing up as down to the control
plane.
---
src/qemu/qemu_agent.c | 3 ++-
src/qemu/qemu_monitor.c | 3 ++-
src/util/vireventglib.c | 12 ++++++++----
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c
index f57a8d5f25..e6e92c7dc4 100644
--- a/src/qemu/qemu_agent.c
+++ b/src/qemu/qemu_agent.c
@@ -452,8 +452,9 @@ static void
qemuAgentUnregister(qemuAgent *agent)
{
if (agent->watch) {
+ g_source_destroy(agent->watch);
vir_g_source_unref(agent->watch, agent->context);
- g_clear_pointer(&agent->watch, g_source_destroy);
+ agent->watch = NULL;
}
}
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 37bcbde31e..32c993a941 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -794,8 +794,9 @@ void
qemuMonitorUnregister(qemuMonitor *mon)
{
if (mon->watch) {
+ g_source_destroy(mon->watch);
vir_g_source_unref(mon->watch, mon->context);
- g_clear_pointer(&mon->watch, g_source_destroy);
+ mon->watch = NULL;
}
}
diff --git a/src/util/vireventglib.c b/src/util/vireventglib.c
index fc04d8f712..983787932f 100644
--- a/src/util/vireventglib.c
+++ b/src/util/vireventglib.c
@@ -228,7 +228,8 @@ virEventGLibHandleUpdate(int watch,
VIR_DEBUG("Removed old handle source=%p", data->source);
g_source_destroy(data->source);
- g_clear_pointer(&data->source, g_source_destroy);
+ vir_g_source_unref(data->source, NULL);
+ data->source = NULL;
data->events = 0;
}
@@ -275,8 +276,9 @@ virEventGLibHandleRemove(int watch)
data, watch, data->fd);
if (data->source != NULL) {
+ g_source_destroy(data->source);
vir_g_source_unref(data->source, NULL);
- g_clear_pointer(&data->source, g_source_destroy);
+ data->source = NULL;
data->events = 0;
}
@@ -417,8 +419,9 @@ virEventGLibTimeoutUpdate(int timer,
if (data->source == NULL)
goto cleanup;
+ g_source_destroy(data->source);
vir_g_source_unref(data->source, NULL);
- g_clear_pointer(&data->source, g_source_destroy);
+ data->source = NULL;
}
cleanup:
@@ -465,8 +468,9 @@ virEventGLibTimeoutRemove(int timer)
data, timer);
if (data->source != NULL) {
+ g_source_destroy(data->source);
vir_g_source_unref(data->source, NULL);
- g_clear_pointer(&data->source, g_source_destroy);
+ data->source = NULL;
}
/* since the actual timeout deletion is done asynchronously, a timeoutUpdate call may
--
2.36.1
2
3
Except not really. Only the first one is strictly related to that type
of <interface/>. The other one fixes a regression introduced in 8.4.0
and it just so happens that I'm able to reproduce it 100% on my
(SRIOV-less) machine.
Michal PrÃvoznÃk (2):
virNetDevSaveNetConfig: Pass mode to virFileWriteStr()
qemuBuildInterfaceConnect: Initialize @tapfd array
src/qemu/qemu_command.c | 2 ++
src/util/virnetdev.c | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
--
2.35.1
4
7