The signature computation code is not too complicated and it will likely
never change so testing it is not very important. We do it mostly for a
nice side effect of easily accessible signature numbers for all CPU
data files.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
tests/cputest.c | 92 +++++++++++++++++++
tests/cputestdata/x86_64-cpuid-A10-5800K.sig | 4 +
tests/cputestdata/x86_64-cpuid-Atom-D510.sig | 4 +
tests/cputestdata/x86_64-cpuid-Atom-N450.sig | 4 +
.../cputestdata/x86_64-cpuid-Core-i5-2500.sig | 4 +
.../x86_64-cpuid-Core-i5-2540M.sig | 4 +
.../x86_64-cpuid-Core-i5-4670T.sig | 4 +
.../cputestdata/x86_64-cpuid-Core-i5-650.sig | 4 +
.../cputestdata/x86_64-cpuid-Core-i5-6600.sig | 4 +
.../x86_64-cpuid-Core-i7-2600-xsaveopt.sig | 4 +
.../cputestdata/x86_64-cpuid-Core-i7-2600.sig | 4 +
.../x86_64-cpuid-Core-i7-3520M.sig | 4 +
.../x86_64-cpuid-Core-i7-3740QM.sig | 4 +
.../cputestdata/x86_64-cpuid-Core-i7-3770.sig | 4 +
.../x86_64-cpuid-Core-i7-4510U.sig | 4 +
.../x86_64-cpuid-Core-i7-4600U.sig | 4 +
.../x86_64-cpuid-Core-i7-5600U-arat.sig | 4 +
.../x86_64-cpuid-Core-i7-5600U-ibrs.sig | 4 +
.../x86_64-cpuid-Core-i7-5600U.sig | 4 +
.../x86_64-cpuid-Core-i7-7600U.sig | 4 +
.../cputestdata/x86_64-cpuid-Core-i7-7700.sig | 4 +
.../cputestdata/x86_64-cpuid-Core2-E6850.sig | 4 +
.../cputestdata/x86_64-cpuid-Core2-Q9500.sig | 4 +
.../x86_64-cpuid-EPYC-7601-32-Core-ibpb.sig | 4 +
.../x86_64-cpuid-EPYC-7601-32-Core.sig | 4 +
tests/cputestdata/x86_64-cpuid-FX-8150.sig | 4 +
.../cputestdata/x86_64-cpuid-Opteron-1352.sig | 4 +
.../cputestdata/x86_64-cpuid-Opteron-2350.sig | 4 +
.../cputestdata/x86_64-cpuid-Opteron-6234.sig | 4 +
.../cputestdata/x86_64-cpuid-Opteron-6282.sig | 4 +
.../x86_64-cpuid-Pentium-P6100.sig | 4 +
tests/cputestdata/x86_64-cpuid-Phenom-B95.sig | 4 +
.../x86_64-cpuid-Ryzen-7-1800X-Eight-Core.sig | 4 +
tests/cputestdata/x86_64-cpuid-Xeon-5110.sig | 4 +
.../x86_64-cpuid-Xeon-E3-1245-v5.sig | 4 +
.../x86_64-cpuid-Xeon-E5-2609-v3.sig | 4 +
.../x86_64-cpuid-Xeon-E5-2623-v4.sig | 4 +
.../x86_64-cpuid-Xeon-E5-2630-v3.sig | 4 +
.../x86_64-cpuid-Xeon-E5-2630-v4.sig | 4 +
.../x86_64-cpuid-Xeon-E5-2650-v3.sig | 4 +
.../x86_64-cpuid-Xeon-E5-2650-v4.sig | 4 +
.../cputestdata/x86_64-cpuid-Xeon-E5-2650.sig | 4 +
.../cputestdata/x86_64-cpuid-Xeon-E7-4820.sig | 4 +
.../cputestdata/x86_64-cpuid-Xeon-E7-4830.sig | 4 +
.../x86_64-cpuid-Xeon-E7-8890-v3.sig | 4 +
tests/cputestdata/x86_64-cpuid-Xeon-E7540.sig | 4 +
.../x86_64-cpuid-Xeon-Gold-5115.sig | 4 +
.../x86_64-cpuid-Xeon-Gold-6148.sig | 4 +
tests/cputestdata/x86_64-cpuid-Xeon-W3520.sig | 4 +
tests/cputestdata/x86_64-cpuid-Xeon-X5460.sig | 4 +
50 files changed, 288 insertions(+)
create mode 100644 tests/cputestdata/x86_64-cpuid-A10-5800K.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Atom-D510.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Atom-N450.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2500.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2540M.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-4670T.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-650.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-6600.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-2600.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3520M.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3770.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-4510U.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-4600U.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-7600U.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-7700.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core2-E6850.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core2-Q9500.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-FX-8150.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-1352.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-2350.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-6234.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-6282.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Pentium-P6100.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Phenom-B95.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-5110.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-4830.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7540.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-W3520.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-X5460.sig
diff --git a/tests/cputest.c b/tests/cputest.c
index 19caf41bf3..5b1bdc11c6 100644
--- a/tests/cputest.c
+++ b/tests/cputest.c
@@ -32,6 +32,7 @@
#include "testutils.h"
#include "cpu_conf.h"
#include "cpu/cpu.h"
+#include "cpu/cpu_x86.h"
#include "cpu/cpu_map.h"
#include "virstring.h"
@@ -642,6 +643,68 @@ cpuTestGuestCPUID(const void *arg)
}
+static int
+cpuTestCompareSignature(const struct data *data,
+ virCPUDataPtr hostData)
+{
+ unsigned long signature;
+ unsigned int family;
+ unsigned int model;
+ unsigned int stepping;
+ char *result = NULL;
+ char *sigStr = NULL;
+ int ret = -1;
+
+ signature = virCPUx86DataGetSignature(hostData, &family, &model,
&stepping);
+
+ if (virAsprintf(&result, "%s/cputestdata/%s-cpuid-%s.sig",
+ abs_srcdir, virArchToString(data->arch), data->host) < 0)
+ goto cleanup;
+
+ if (virAsprintf(&sigStr,
+ "%1$06lx\n"
+ "family: %2$2u (0x%2$02x)\n"
+ "model: %3$2u (0x%3$02x)\n"
+ "stepping: %4$2u (0x%4$02x)\n",
+ signature, family, model, stepping) < 0)
+ goto cleanup;
+
+ ret = virTestCompareToFile(sigStr, result);
+
+ cleanup:
+ VIR_FREE(result);
+ VIR_FREE(sigStr);
+ return ret;
+}
+
+
+static int
+cpuTestCPUIDSignature(const void *arg)
+{
+ const struct data *data = arg;
+ virCPUDataPtr hostData = NULL;
+ char *hostFile = NULL;
+ char *host = NULL;
+ int ret = -1;
+
+ if (virAsprintf(&hostFile, "%s/cputestdata/%s-cpuid-%s.xml",
+ abs_srcdir, virArchToString(data->arch), data->host) < 0)
+ goto cleanup;
+
+ if (virTestLoadFile(hostFile, &host) < 0 ||
+ !(hostData = virCPUDataParse(host)))
+ goto cleanup;
+
+ ret = cpuTestCompareSignature(data, hostData);
+
+ cleanup:
+ virCPUDataFree(hostData);
+ VIR_FREE(hostFile);
+ VIR_FREE(host);
+ return ret;
+}
+
+
static int
cpuTestUpdateLiveCompare(virArch arch,
virCPUDefPtr actual,
@@ -863,6 +926,31 @@ cpuTestJSONCPUID(const void *arg)
VIR_FREE(result);
return ret;
}
+
+
+static int
+cpuTestJSONSignature(const void *arg)
+{
+ const struct data *data = arg;
+ virQEMUCapsPtr qemuCaps = NULL;
+ virCPUDataPtr hostData = NULL;
+ qemuMonitorCPUModelInfoPtr modelInfo;
+ int ret = -1;
+
+ if (!(qemuCaps = cpuTestMakeQEMUCaps(data)))
+ goto cleanup;
+
+ modelInfo = virQEMUCapsGetCPUModelInfo(qemuCaps, VIR_DOMAIN_VIRT_KVM);
+ if (!(hostData = virQEMUCapsGetCPUModelX86Data(modelInfo, false)))
+ goto cleanup;
+
+ ret = cpuTestCompareSignature(data, hostData);
+
+ cleanup:
+ virObjectUnref(qemuCaps);
+ virCPUDataFree(hostData);
+ return ret;
+}
#endif
@@ -1008,6 +1096,8 @@ mymain(void)
if (json != JSON_NONE) { \
DO_TEST(arch, cpuTestJSONCPUID, host, host, \
NULL, NULL, json, 0); \
+ DO_TEST(arch, cpuTestJSONSignature, host, host, \
+ NULL, NULL, 0, 0); \
} \
} while (0)
#else
@@ -1020,6 +1110,8 @@ mymain(void)
NULL, NULL, 0, 0); \
DO_TEST(arch, cpuTestGuestCPUID, host, host, \
NULL, NULL, json, 0); \
+ DO_TEST(arch, cpuTestCPUIDSignature, host, host, \
+ NULL, NULL, 0, 0); \
DO_TEST_JSON(arch, host, json); \
if (json != JSON_NONE) { \
DO_TEST(arch, cpuTestUpdateLive, host, host, \
diff --git a/tests/cputestdata/x86_64-cpuid-A10-5800K.sig
b/tests/cputestdata/x86_64-cpuid-A10-5800K.sig
new file mode 100644
index 0000000000..7da3ad853a
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-A10-5800K.sig
@@ -0,0 +1,4 @@
+610f01
+family: 21 (0x15)
+model: 16 (0x10)
+stepping: 1 (0x01)
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-D510.sig
b/tests/cputestdata/x86_64-cpuid-Atom-D510.sig
new file mode 100644
index 0000000000..24bf49172c
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Atom-D510.sig
@@ -0,0 +1,4 @@
+0106ca
+family: 6 (0x06)
+model: 28 (0x1c)
+stepping: 10 (0x0a)
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-N450.sig
b/tests/cputestdata/x86_64-cpuid-Atom-N450.sig
new file mode 100644
index 0000000000..24bf49172c
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Atom-N450.sig
@@ -0,0 +1,4 @@
+0106ca
+family: 6 (0x06)
+model: 28 (0x1c)
+stepping: 10 (0x0a)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2500.sig
b/tests/cputestdata/x86_64-cpuid-Core-i5-2500.sig
new file mode 100644
index 0000000000..9334bf089d
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2500.sig
@@ -0,0 +1,4 @@
+0206a7
+family: 6 (0x06)
+model: 42 (0x2a)
+stepping: 7 (0x07)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M.sig
b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M.sig
new file mode 100644
index 0000000000..9334bf089d
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M.sig
@@ -0,0 +1,4 @@
+0206a7
+family: 6 (0x06)
+model: 42 (0x2a)
+stepping: 7 (0x07)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T.sig
b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T.sig
new file mode 100644
index 0000000000..39b3f14eca
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T.sig
@@ -0,0 +1,4 @@
+0306c3
+family: 6 (0x06)
+model: 60 (0x3c)
+stepping: 3 (0x03)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-650.sig
b/tests/cputestdata/x86_64-cpuid-Core-i5-650.sig
new file mode 100644
index 0000000000..4d1601878a
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-650.sig
@@ -0,0 +1,4 @@
+020652
+family: 6 (0x06)
+model: 37 (0x25)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600.sig
b/tests/cputestdata/x86_64-cpuid-Core-i5-6600.sig
new file mode 100644
index 0000000000..9cda0e2b4c
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600.sig
@@ -0,0 +1,4 @@
+0506e3
+family: 6 (0x06)
+model: 94 (0x5e)
+stepping: 3 (0x03)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt.sig
new file mode 100644
index 0000000000..9334bf089d
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt.sig
@@ -0,0 +1,4 @@
+0206a7
+family: 6 (0x06)
+model: 42 (0x2a)
+stepping: 7 (0x07)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-2600.sig
new file mode 100644
index 0000000000..9334bf089d
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600.sig
@@ -0,0 +1,4 @@
+0206a7
+family: 6 (0x06)
+model: 42 (0x2a)
+stepping: 7 (0x07)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3520M.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M.sig
new file mode 100644
index 0000000000..68e920642b
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M.sig
@@ -0,0 +1,4 @@
+0306a9
+family: 6 (0x06)
+model: 58 (0x3a)
+stepping: 9 (0x09)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.sig
new file mode 100644
index 0000000000..68e920642b
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.sig
@@ -0,0 +1,4 @@
+0306a9
+family: 6 (0x06)
+model: 58 (0x3a)
+stepping: 9 (0x09)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3770.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-3770.sig
new file mode 100644
index 0000000000..68e920642b
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3770.sig
@@ -0,0 +1,4 @@
+0306a9
+family: 6 (0x06)
+model: 58 (0x3a)
+stepping: 9 (0x09)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U.sig
new file mode 100644
index 0000000000..b5137976f9
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U.sig
@@ -0,0 +1,4 @@
+040651
+family: 6 (0x06)
+model: 69 (0x45)
+stepping: 1 (0x01)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U.sig
new file mode 100644
index 0000000000..b5137976f9
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U.sig
@@ -0,0 +1,4 @@
+040651
+family: 6 (0x06)
+model: 69 (0x45)
+stepping: 1 (0x01)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.sig
new file mode 100644
index 0000000000..475c8b530b
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.sig
@@ -0,0 +1,4 @@
+0306d4
+family: 6 (0x06)
+model: 61 (0x3d)
+stepping: 4 (0x04)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs.sig
new file mode 100644
index 0000000000..475c8b530b
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs.sig
@@ -0,0 +1,4 @@
+0306d4
+family: 6 (0x06)
+model: 61 (0x3d)
+stepping: 4 (0x04)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U.sig
new file mode 100644
index 0000000000..475c8b530b
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U.sig
@@ -0,0 +1,4 @@
+0306d4
+family: 6 (0x06)
+model: 61 (0x3d)
+stepping: 4 (0x04)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U.sig
new file mode 100644
index 0000000000..c03d9560a4
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U.sig
@@ -0,0 +1,4 @@
+0806e9
+family: 6 (0x06)
+model: 142 (0x8e)
+stepping: 9 (0x09)
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700.sig
b/tests/cputestdata/x86_64-cpuid-Core-i7-7700.sig
new file mode 100644
index 0000000000..f2300e5c88
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700.sig
@@ -0,0 +1,4 @@
+0906e9
+family: 6 (0x06)
+model: 158 (0x9e)
+stepping: 9 (0x09)
diff --git a/tests/cputestdata/x86_64-cpuid-Core2-E6850.sig
b/tests/cputestdata/x86_64-cpuid-Core2-E6850.sig
new file mode 100644
index 0000000000..7fe354460e
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core2-E6850.sig
@@ -0,0 +1,4 @@
+0006fb
+family: 6 (0x06)
+model: 15 (0x0f)
+stepping: 11 (0x0b)
diff --git a/tests/cputestdata/x86_64-cpuid-Core2-Q9500.sig
b/tests/cputestdata/x86_64-cpuid-Core2-Q9500.sig
new file mode 100644
index 0000000000..7c20562776
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Core2-Q9500.sig
@@ -0,0 +1,4 @@
+01067a
+family: 6 (0x06)
+model: 23 (0x17)
+stepping: 10 (0x0a)
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb.sig
b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb.sig
new file mode 100644
index 0000000000..1aa7b071f4
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb.sig
@@ -0,0 +1,4 @@
+800f12
+family: 23 (0x17)
+model: 1 (0x01)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core.sig
b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core.sig
new file mode 100644
index 0000000000..1aa7b071f4
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core.sig
@@ -0,0 +1,4 @@
+800f12
+family: 23 (0x17)
+model: 1 (0x01)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-FX-8150.sig
b/tests/cputestdata/x86_64-cpuid-FX-8150.sig
new file mode 100644
index 0000000000..016add0af1
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-FX-8150.sig
@@ -0,0 +1,4 @@
+600f12
+family: 21 (0x15)
+model: 1 (0x01)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-1352.sig
b/tests/cputestdata/x86_64-cpuid-Opteron-1352.sig
new file mode 100644
index 0000000000..c121f42e2d
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-1352.sig
@@ -0,0 +1,4 @@
+100f23
+family: 16 (0x10)
+model: 2 (0x02)
+stepping: 3 (0x03)
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-2350.sig
b/tests/cputestdata/x86_64-cpuid-Opteron-2350.sig
new file mode 100644
index 0000000000..c121f42e2d
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-2350.sig
@@ -0,0 +1,4 @@
+100f23
+family: 16 (0x10)
+model: 2 (0x02)
+stepping: 3 (0x03)
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-6234.sig
b/tests/cputestdata/x86_64-cpuid-Opteron-6234.sig
new file mode 100644
index 0000000000..016add0af1
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-6234.sig
@@ -0,0 +1,4 @@
+600f12
+family: 21 (0x15)
+model: 1 (0x01)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-Opteron-6282.sig
b/tests/cputestdata/x86_64-cpuid-Opteron-6282.sig
new file mode 100644
index 0000000000..016add0af1
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Opteron-6282.sig
@@ -0,0 +1,4 @@
+600f12
+family: 21 (0x15)
+model: 1 (0x01)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-Pentium-P6100.sig
b/tests/cputestdata/x86_64-cpuid-Pentium-P6100.sig
new file mode 100644
index 0000000000..34b2e7dd59
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Pentium-P6100.sig
@@ -0,0 +1,4 @@
+020655
+family: 6 (0x06)
+model: 37 (0x25)
+stepping: 5 (0x05)
diff --git a/tests/cputestdata/x86_64-cpuid-Phenom-B95.sig
b/tests/cputestdata/x86_64-cpuid-Phenom-B95.sig
new file mode 100644
index 0000000000..331e40b807
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Phenom-B95.sig
@@ -0,0 +1,4 @@
+100f42
+family: 16 (0x10)
+model: 4 (0x04)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core.sig
b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core.sig
new file mode 100644
index 0000000000..7f45f649df
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core.sig
@@ -0,0 +1,4 @@
+800f11
+family: 23 (0x17)
+model: 1 (0x01)
+stepping: 1 (0x01)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-5110.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-5110.sig
new file mode 100644
index 0000000000..71a16b935a
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-5110.sig
@@ -0,0 +1,4 @@
+0006f6
+family: 6 (0x06)
+model: 15 (0x0f)
+stepping: 6 (0x06)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5.sig
new file mode 100644
index 0000000000..9cda0e2b4c
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5.sig
@@ -0,0 +1,4 @@
+0506e3
+family: 6 (0x06)
+model: 94 (0x5e)
+stepping: 3 (0x03)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3.sig
new file mode 100644
index 0000000000..50c28c28b1
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3.sig
@@ -0,0 +1,4 @@
+0306f2
+family: 6 (0x06)
+model: 63 (0x3f)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4.sig
new file mode 100644
index 0000000000..3fd6f3a9fd
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4.sig
@@ -0,0 +1,4 @@
+0406f1
+family: 6 (0x06)
+model: 79 (0x4f)
+stepping: 1 (0x01)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3.sig
new file mode 100644
index 0000000000..50c28c28b1
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3.sig
@@ -0,0 +1,4 @@
+0306f2
+family: 6 (0x06)
+model: 63 (0x3f)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4.sig
new file mode 100644
index 0000000000..3fd6f3a9fd
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4.sig
@@ -0,0 +1,4 @@
+0406f1
+family: 6 (0x06)
+model: 79 (0x4f)
+stepping: 1 (0x01)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3.sig
new file mode 100644
index 0000000000..50c28c28b1
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3.sig
@@ -0,0 +1,4 @@
+0306f2
+family: 6 (0x06)
+model: 63 (0x3f)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4.sig
new file mode 100644
index 0000000000..3fd6f3a9fd
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4.sig
@@ -0,0 +1,4 @@
+0406f1
+family: 6 (0x06)
+model: 79 (0x4f)
+stepping: 1 (0x01)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.sig
new file mode 100644
index 0000000000..6cbeebd5a5
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.sig
@@ -0,0 +1,4 @@
+0206d7
+family: 6 (0x06)
+model: 45 (0x2d)
+stepping: 7 (0x07)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.sig
new file mode 100644
index 0000000000..98fedbee20
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.sig
@@ -0,0 +1,4 @@
+0206f2
+family: 6 (0x06)
+model: 47 (0x2f)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830.sig
new file mode 100644
index 0000000000..98fedbee20
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830.sig
@@ -0,0 +1,4 @@
+0206f2
+family: 6 (0x06)
+model: 47 (0x2f)
+stepping: 2 (0x02)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3.sig
new file mode 100644
index 0000000000..56c8074137
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3.sig
@@ -0,0 +1,4 @@
+0306f4
+family: 6 (0x06)
+model: 63 (0x3f)
+stepping: 4 (0x04)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7540.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-E7540.sig
new file mode 100644
index 0000000000..81721dbe4a
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7540.sig
@@ -0,0 +1,4 @@
+0206e6
+family: 6 (0x06)
+model: 46 (0x2e)
+stepping: 6 (0x06)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115.sig
new file mode 100644
index 0000000000..fe1537115a
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115.sig
@@ -0,0 +1,4 @@
+050654
+family: 6 (0x06)
+model: 85 (0x55)
+stepping: 4 (0x04)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148.sig
new file mode 100644
index 0000000000..fe1537115a
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148.sig
@@ -0,0 +1,4 @@
+050654
+family: 6 (0x06)
+model: 85 (0x55)
+stepping: 4 (0x04)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-W3520.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-W3520.sig
new file mode 100644
index 0000000000..b43a5b1ebf
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-W3520.sig
@@ -0,0 +1,4 @@
+0106a5
+family: 6 (0x06)
+model: 26 (0x1a)
+stepping: 5 (0x05)
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-X5460.sig
b/tests/cputestdata/x86_64-cpuid-Xeon-X5460.sig
new file mode 100644
index 0000000000..c24b28c5d2
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-X5460.sig
@@ -0,0 +1,4 @@
+010676
+family: 6 (0x06)
+model: 23 (0x17)
+stepping: 6 (0x06)
--
2.21.0