render / rpms / libvirt

Forked from rpms/libvirt 9 months ago
Clone
d76c62
From c86535685add6ff59a6cce0fa48ee27a23d71815 Mon Sep 17 00:00:00 2001
d76c62
Message-Id: <c86535685add6ff59a6cce0fa48ee27a23d71815@dist-git>
d76c62
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
d76c62
Date: Mon, 3 Feb 2020 18:07:22 +0000
d76c62
Subject: [PATCH] conf: add support for specifying CPU "dies" parameter
d76c62
MIME-Version: 1.0
d76c62
Content-Type: text/plain; charset=UTF-8
d76c62
Content-Transfer-Encoding: 8bit
d76c62
d76c62
Recently CPU hardware vendors have started to support a new structure
d76c62
inside the CPU package topology known as a "die". Thus the hierarchy
d76c62
is now:
d76c62
d76c62
  sockets > dies > cores > threads
d76c62
d76c62
This adds support for "dies" in the XML parser, with the value
d76c62
defaulting to 1 if not specified for backwards compatibility.
d76c62
d76c62
For example a system with 64 logical CPUs might report
d76c62
d76c62
   <topology sockets="4" dies="2" cores="4" threads="2"/>
d76c62
d76c62
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
d76c62
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
d76c62
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
d76c62
(cherry picked from commit fbf27730a36da573b1065c179f4d96b9a751f22f)
d76c62
d76c62
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1785207
d76c62
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1785211
d76c62
Message-Id: <20200203180726.2203691-2-berrange@redhat.com>
d76c62
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
d76c62
---
d76c62
 docs/formatcaps.html.in                       |  2 +-
d76c62
 docs/formatdomain.html.in                     | 22 ++++++++++--------
d76c62
 docs/schemas/cputypes.rng                     |  5 ++++
d76c62
 src/bhyve/bhyve_command.c                     |  5 ++++
d76c62
 src/conf/cpu_conf.c                           | 23 +++++++++++++++++--
d76c62
 src/conf/cpu_conf.h                           |  1 +
d76c62
 src/conf/domain_conf.c                        |  3 ++-
d76c62
 src/cpu/cpu.c                                 |  1 +
d76c62
 src/libxl/libxl_capabilities.c                |  1 +
d76c62
 src/qemu/qemu_command.c                       |  5 ++++
d76c62
 src/vmx/vmx.c                                 |  7 ++++++
d76c62
 .../x86_64-host+guest,model486-result.xml     |  2 +-
d76c62
 .../x86_64-host+guest,models-result.xml       |  2 +-
d76c62
 .../cputestdata/x86_64-host+guest-result.xml  |  2 +-
d76c62
 tests/cputestdata/x86_64-host+guest.xml       |  2 +-
d76c62
 .../x86_64-host+host-model-nofallback.xml     |  2 +-
d76c62
 ...t-Haswell-noTSX+Haswell,haswell-result.xml |  2 +-
d76c62
 ...ell-noTSX+Haswell-noTSX,haswell-result.xml |  2 +-
d76c62
 ...ost-Haswell-noTSX+Haswell-noTSX-result.xml |  2 +-
d76c62
 .../x86_64-host-worse+guest-result.xml        |  2 +-
d76c62
 .../ppc64-modern-bulk-result-conf.xml         |  2 +-
d76c62
 .../ppc64-modern-bulk-result-live.xml         |  2 +-
d76c62
 .../ppc64-modern-individual-result-conf.xml   |  2 +-
d76c62
 .../ppc64-modern-individual-result-live.xml   |  2 +-
d76c62
 .../x86-modern-bulk-result-conf.xml           |  2 +-
d76c62
 .../x86-modern-bulk-result-live.xml           |  2 +-
d76c62
 .../x86-modern-individual-add-result-conf.xml |  2 +-
d76c62
 .../x86-modern-individual-add-result-live.xml |  2 +-
d76c62
 .../x86-old-bulk-result-conf.xml              |  2 +-
d76c62
 .../x86-old-bulk-result-live.xml              |  2 +-
d76c62
 .../cpu-hotplug-granularity.xml               |  2 +-
d76c62
 .../qemuxml2argvdata/cpu-hotplug-startup.xml  |  2 +-
d76c62
 tests/qemuxml2argvdata/cpu-numa-disjoint.xml  |  2 +-
d76c62
 .../qemuxml2argvdata/cpu-numa-disordered.xml  |  2 +-
d76c62
 tests/qemuxml2argvdata/cpu-numa-memshared.xml |  2 +-
d76c62
 .../cpu-numa-no-memory-element.xml            |  2 +-
d76c62
 tests/qemuxml2argvdata/cpu-numa1.xml          |  2 +-
d76c62
 tests/qemuxml2argvdata/cpu-numa2.xml          |  2 +-
d76c62
 tests/qemuxml2argvdata/cpu-numa3.xml          |  2 +-
d76c62
 tests/qemuxml2argvdata/cpu-topology1.xml      |  2 +-
d76c62
 tests/qemuxml2argvdata/cpu-topology2.xml      |  2 +-
d76c62
 tests/qemuxml2argvdata/cpu-topology3.xml      |  2 +-
d76c62
 .../fd-memory-no-numa-topology.xml            |  2 +-
d76c62
 .../fd-memory-numa-topology.xml               |  2 +-
d76c62
 .../fd-memory-numa-topology2.xml              |  2 +-
d76c62
 .../fd-memory-numa-topology3.xml              |  2 +-
d76c62
 .../graphics-spice-timeout.xml                |  2 +-
d76c62
 tests/qemuxml2argvdata/hugepages-nvdimm.xml   |  2 +-
d76c62
 .../memfd-memory-default-hugepage.xml         |  2 +-
d76c62
 tests/qemuxml2argvdata/memfd-memory-numa.xml  |  2 +-
d76c62
 tests/qemuxml2argvdata/memory-align-fail.xml  |  2 +-
d76c62
 .../memory-hotplug-dimm-addr.xml              |  2 +-
d76c62
 .../qemuxml2argvdata/memory-hotplug-dimm.xml  |  2 +-
d76c62
 .../memory-hotplug-nvdimm-access.xml          |  2 +-
d76c62
 .../memory-hotplug-nvdimm-align.xml           |  2 +-
d76c62
 .../memory-hotplug-nvdimm-label.xml           |  2 +-
d76c62
 .../memory-hotplug-nvdimm-pmem.xml            |  2 +-
d76c62
 .../memory-hotplug-nvdimm-readonly.xml        |  2 +-
d76c62
 .../memory-hotplug-nvdimm.xml                 |  2 +-
d76c62
 tests/qemuxml2argvdata/memory-hotplug.xml     |  2 +-
d76c62
 .../numad-auto-memory-vcpu-cpuset.xml         |  2 +-
d76c62
 ...to-memory-vcpu-no-cpuset-and-placement.xml |  2 +-
d76c62
 .../numad-auto-vcpu-no-numatune.xml           |  2 +-
d76c62
 ...d-auto-vcpu-static-numatune-no-nodeset.xml |  2 +-
d76c62
 .../numad-auto-vcpu-static-numatune.xml       |  2 +-
d76c62
 .../numad-static-memory-auto-vcpu.xml         |  2 +-
d76c62
 .../numad-static-vcpu-no-numatune.xml         |  2 +-
d76c62
 tests/qemuxml2argvdata/numad.xml              |  2 +-
d76c62
 .../numatune-auto-nodeset-invalid.xml         |  2 +-
d76c62
 .../numatune-memory-invalid-nodeset.xml       |  2 +-
d76c62
 tests/qemuxml2argvdata/numatune-memory.xml    |  2 +-
d76c62
 .../pci-expander-bus-bad-machine.xml          |  2 +-
d76c62
 tests/qemuxml2argvdata/pci-expander-bus.xml   |  2 +-
d76c62
 .../pcie-expander-bus-bad-bus.xml             |  2 +-
d76c62
 .../pcie-expander-bus-bad-machine.xml         |  2 +-
d76c62
 tests/qemuxml2argvdata/pcie-expander-bus.xml  |  2 +-
d76c62
 .../pseries-default-phb-numa-node.xml         |  2 +-
d76c62
 .../pseries-phb-numa-node.xml                 |  2 +-
d76c62
 tests/qemuxml2argvdata/smp.xml                |  2 +-
d76c62
 .../qemuxml2xmloutdata/cpu-numa-disjoint.xml  |  2 +-
d76c62
 .../cpu-numa-disordered.xml                   |  2 +-
d76c62
 .../qemuxml2xmloutdata/cpu-numa-memshared.xml |  2 +-
d76c62
 .../cpu-numa-no-memory-element.xml            |  2 +-
d76c62
 tests/qemuxml2xmloutdata/cpu-numa1.xml        |  2 +-
d76c62
 tests/qemuxml2xmloutdata/cpu-numa2.xml        |  2 +-
d76c62
 .../graphics-spice-timeout.xml                |  2 +-
d76c62
 .../memory-hotplug-dimm.xml                   |  2 +-
d76c62
 tests/qemuxml2xmloutdata/memory-hotplug.xml   |  2 +-
d76c62
 .../numad-auto-memory-vcpu-cpuset.xml         |  2 +-
d76c62
 ...to-memory-vcpu-no-cpuset-and-placement.xml |  2 +-
d76c62
 .../numad-auto-vcpu-no-numatune.xml           |  2 +-
d76c62
 .../numad-static-vcpu-no-numatune.xml         |  2 +-
d76c62
 tests/qemuxml2xmloutdata/pci-expander-bus.xml |  2 +-
d76c62
 .../qemuxml2xmloutdata/pcie-expander-bus.xml  |  2 +-
d76c62
 .../pseries-phb-numa-node.xml                 |  2 +-
d76c62
 tests/qemuxml2xmloutdata/smp.xml              |  2 +-
d76c62
 .../vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml |  2 +-
d76c62
 .../vmx2xmldata/vmx2xml-esx-in-the-wild-9.xml |  2 +-
d76c62
 98 files changed, 148 insertions(+), 101 deletions(-)
d76c62
d76c62
diff --git a/docs/formatcaps.html.in b/docs/formatcaps.html.in
d76c62
index 2a0aa963bb..59d21a7d9e 100644
d76c62
--- a/docs/formatcaps.html.in
d76c62
+++ b/docs/formatcaps.html.in
d76c62
@@ -173,7 +173,7 @@
d76c62
       </features>
d76c62
       <model>core2duo</model>
d76c62
       <vendor>Intel</vendor>
d76c62
-      <topology sockets="1" cores="2" threads="1"/>
d76c62
+      <topology sockets="1" dies="1" cores="2" threads="1"/>
d76c62
       <feature name="lahf_lm"/>
d76c62
       <feature name='xtpr'/>
d76c62
       ...
d76c62
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
d76c62
index 6e86d057a8..4db9c292b7 100644
d76c62
--- a/docs/formatdomain.html.in
d76c62
+++ b/docs/formatdomain.html.in
d76c62
@@ -1470,7 +1470,7 @@
d76c62
 <cpu match='exact'>
d76c62
   <model fallback='allow'>core2duo</model>
d76c62
   <vendor>Intel</vendor>
d76c62
-  <topology sockets='1' cores='2' threads='1'/>
d76c62
+  <topology sockets='1' dies='1' cores='2' threads='1'/>
d76c62
   <cache level='3' mode='emulate'/>
d76c62
   <feature policy='disable' name='lahf_lm'/>
d76c62
 </cpu>
d76c62
@@ -1479,7 +1479,7 @@
d76c62
 
d76c62
 <cpu mode='host-model'>
d76c62
   <model fallback='forbid'/>
d76c62
-  <topology sockets='1' cores='2' threads='1'/>
d76c62
+  <topology sockets='1' dies='1' cores='2' threads='1'/>
d76c62
 </cpu>
d76c62
 ...
d76c62
 
d76c62
@@ -1498,7 +1498,7 @@
d76c62
 
d76c62
 ...
d76c62
 <cpu>
d76c62
-  <topology sockets='1' cores='2' threads='1'/>
d76c62
+  <topology sockets='1' dies='1' cores='2' threads='1'/>
d76c62
 </cpu>
d76c62
 ...
d76c62
 
d76c62
@@ -1673,13 +1673,15 @@
d76c62
 
d76c62
       
topology
d76c62
       
The topology element specifies requested topology of
d76c62
-        virtual CPU provided to the guest. Three non-zero values have to be
d76c62
-        given for sockets, cores, and
d76c62
-        threads: total number of CPU sockets, number of cores per
d76c62
-        socket, and number of threads per core, respectively. Hypervisors may
d76c62
-        require that the maximum number of vCPUs specified by the
d76c62
-        cpus element equals to the number of vcpus resulting
d76c62
-        from the topology.
d76c62
+        virtual CPU provided to the guest. Four attributes, sockets,
d76c62
+        dies, cores, and threads,
d76c62
+        accept non-zero positive integer values. They refer to the total number
d76c62
+        of CPU sockets, number of dies per socket, number of cores per die, and
d76c62
+        number of threads per core, respectively. The dies
d76c62
+        attribute is optional and will default to 1 if omitted, while the other
d76c62
+        attributes are all mandatory. Hypervisors may require that the maximum
d76c62
+        number of vCPUs specified by the cpus element equals to
d76c62
+        the number of vcpus resulting from the topology.
d76c62
 
d76c62
       
feature
d76c62
       
The cpu element can contain zero or more
d76c62
diff --git a/docs/schemas/cputypes.rng b/docs/schemas/cputypes.rng
d76c62
index 1f1e0e36d5..e2744acad3 100644
d76c62
--- a/docs/schemas/cputypes.rng
d76c62
+++ b/docs/schemas/cputypes.rng
d76c62
@@ -86,6 +86,11 @@
d76c62
       <attribute name="sockets">
d76c62
         <ref name="positiveInteger"/>
d76c62
       </attribute>
d76c62
+      <optional>
d76c62
+        <attribute name="dies">
d76c62
+          <ref name="positiveInteger"/>
d76c62
+        </attribute>
d76c62
+      </optional>
d76c62
       <attribute name="cores">
d76c62
         <ref name="positiveInteger"/>
d76c62
       </attribute>
d76c62
diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c
d76c62
index 48336ffa1b..d78221aea8 100644
d76c62
--- a/src/bhyve/bhyve_command.c
d76c62
+++ b/src/bhyve/bhyve_command.c
d76c62
@@ -453,6 +453,11 @@ virBhyveProcessBuildBhyveCmd(virConnectPtr conn,
d76c62
     /* CPUs */
d76c62
     virCommandAddArg(cmd, "-c");
d76c62
     if (def->cpu && def->cpu->sockets) {
d76c62
+        if (def->dies != 1) {
d76c62
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
d76c62
+                           _("Only 1 die per socket is supported"));
d76c62
+            goto cleanup;
d76c62
+        }
d76c62
         if (nvcpus != def->cpu->sockets * def->cpu->cores * def->cpu->threads) {
d76c62
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
d76c62
                            _("Invalid CPU topology: total number of vCPUs "
d76c62
diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c
d76c62
index b463981de0..837d77581c 100644
d76c62
--- a/src/conf/cpu_conf.c
d76c62
+++ b/src/conf/cpu_conf.c
d76c62
@@ -239,6 +239,7 @@ virCPUDefCopyWithoutModel(const virCPUDef *cpu)
d76c62
     copy->check = cpu->check;
d76c62
     copy->fallback = cpu->fallback;
d76c62
     copy->sockets = cpu->sockets;
d76c62
+    copy->dies = cpu->dies;
d76c62
     copy->cores = cpu->cores;
d76c62
     copy->threads = cpu->threads;
d76c62
     copy->arch = cpu->arch;
d76c62
@@ -535,6 +536,17 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt,
d76c62
         }
d76c62
         def->sockets = (unsigned int) ul;
d76c62
 
d76c62
+        if (virXPathNode("./topology[1]/@dies", ctxt)) {
d76c62
+            if (virXPathULong("string(./topology[1]/@dies)", ctxt, &ul) < 0) {
d76c62
+                virReportError(VIR_ERR_XML_ERROR, "%s",
d76c62
+                               _("Malformed 'dies' attribute in CPU topology"));
d76c62
+                goto cleanup;
d76c62
+            }
d76c62
+            def->dies = (unsigned int) ul;
d76c62
+        } else {
d76c62
+            def->dies = 1;
d76c62
+        }
d76c62
+
d76c62
         if (virXPathULong("string(./topology[1]/@cores)", ctxt, &ul) < 0) {
d76c62
             virReportError(VIR_ERR_XML_ERROR, "%s",
d76c62
                            _("Missing 'cores' attribute in CPU topology"));
d76c62
@@ -549,7 +561,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt,
d76c62
         }
d76c62
         def->threads = (unsigned int) ul;
d76c62
 
d76c62
-        if (!def->sockets || !def->cores || !def->threads) {
d76c62
+        if (!def->sockets || !def->cores || !def->threads || !def->dies) {
d76c62
             virReportError(VIR_ERR_XML_ERROR, "%s",
d76c62
                            _("Invalid CPU topology"));
d76c62
             goto cleanup;
d76c62
@@ -817,9 +829,10 @@ virCPUDefFormatBuf(virBufferPtr buf,
d76c62
         virBufferAddLit(buf, "/>\n");
d76c62
     }
d76c62
 
d76c62
-    if (def->sockets && def->cores && def->threads) {
d76c62
+    if (def->sockets && def->dies && def->cores && def->threads) {
d76c62
         virBufferAddLit(buf, "
d76c62
         virBufferAsprintf(buf, " sockets='%u'", def->sockets);
d76c62
+        virBufferAsprintf(buf, " dies='%u'", def->dies);
d76c62
         virBufferAsprintf(buf, " cores='%u'", def->cores);
d76c62
         virBufferAsprintf(buf, " threads='%u'", def->threads);
d76c62
         virBufferAddLit(buf, "/>\n");
d76c62
@@ -1058,6 +1071,12 @@ virCPUDefIsEqual(virCPUDefPtr src,
d76c62
         return false;
d76c62
     }
d76c62
 
d76c62
+    if (src->dies != dst->dies) {
d76c62
+        MISMATCH(_("Target CPU dies %d does not match source %d"),
d76c62
+                 dst->dies, src->dies);
d76c62
+        return false;
d76c62
+    }
d76c62
+
d76c62
     if (src->cores != dst->cores) {
d76c62
         MISMATCH(_("Target CPU cores %d does not match source %d"),
d76c62
                  dst->cores, src->cores);
d76c62
diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h
d76c62
index ec3d2379cf..6cef9e9726 100644
d76c62
--- a/src/conf/cpu_conf.h
d76c62
+++ b/src/conf/cpu_conf.h
d76c62
@@ -134,6 +134,7 @@ struct _virCPUDef {
d76c62
     char *vendor;
d76c62
     unsigned int microcodeVersion;
d76c62
     unsigned int sockets;
d76c62
+    unsigned int dies;
d76c62
     unsigned int cores;
d76c62
     unsigned int threads;
d76c62
     size_t nfeatures;
d76c62
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
d76c62
index ee57152da7..0478914c69 100644
d76c62
--- a/src/conf/domain_conf.c
d76c62
+++ b/src/conf/domain_conf.c
d76c62
@@ -2053,7 +2053,8 @@ virDomainDefGetVcpusTopology(const virDomainDef *def,
d76c62
     tmp = def->cpu->sockets;
d76c62
 
d76c62
     /* multiplication of 32bit numbers fits into a 64bit variable */
d76c62
-    if ((tmp *= def->cpu->cores) > UINT_MAX ||
d76c62
+    if ((tmp *= def->cpu->dies) > UINT_MAX ||
d76c62
+        (tmp *= def->cpu->cores) > UINT_MAX ||
d76c62
         (tmp *= def->cpu->threads) > UINT_MAX) {
d76c62
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
d76c62
                        _("cpu topology results in more than %u cpus"), UINT_MAX);
d76c62
diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c
d76c62
index d99466472b..ae3a0acc10 100644
d76c62
--- a/src/cpu/cpu.c
d76c62
+++ b/src/cpu/cpu.c
d76c62
@@ -421,6 +421,7 @@ virCPUGetHost(virArch arch,
d76c62
 
d76c62
     if (nodeInfo) {
d76c62
         cpu->sockets = nodeInfo->sockets;
d76c62
+        cpu->dies = 1;
d76c62
         cpu->cores = nodeInfo->cores;
d76c62
         cpu->threads = nodeInfo->threads;
d76c62
     }
d76c62
diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c
d76c62
index e9f958cd8a..beac8c8cfc 100644
d76c62
--- a/src/libxl/libxl_capabilities.c
d76c62
+++ b/src/libxl/libxl_capabilities.c
d76c62
@@ -186,6 +186,7 @@ libxlCapsInitCPU(virCapsPtr caps, libxl_physinfo *phy_info,
d76c62
     cpu->type = VIR_CPU_TYPE_HOST;
d76c62
     cpu->cores = phy_info->cores_per_socket;
d76c62
     cpu->threads = phy_info->threads_per_core;
d76c62
+    cpu->dies = 1;
d76c62
     cpu->sockets = phy_info->nr_cpus / (cpu->cores * cpu->threads);
d76c62
     caps->host.cpu = cpu;
d76c62
 
d76c62
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
d76c62
index e10cc7fc74..d7e8216092 100644
d76c62
--- a/src/qemu/qemu_command.c
d76c62
+++ b/src/qemu/qemu_command.c
d76c62
@@ -7130,6 +7130,11 @@ qemuBuildSmpCommandLine(virCommandPtr cmd,
d76c62
     /* sockets, cores, and threads are either all zero
d76c62
      * or all non-zero, thus checking one of them is enough */
d76c62
     if (def->cpu && def->cpu->sockets) {
d76c62
+        if (def->cpu->dies != 1) {
d76c62
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
d76c62
+                           _("Only 1 die per socket is supported"));
d76c62
+            return -1;
d76c62
+        }
d76c62
         virBufferAsprintf(&buf, ",sockets=%u", def->cpu->sockets);
d76c62
         virBufferAsprintf(&buf, ",cores=%u", def->cpu->cores);
d76c62
         virBufferAsprintf(&buf, ",threads=%u", def->cpu->threads);
d76c62
diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
d76c62
index aa88dfcb5d..4362da6cee 100644
d76c62
--- a/src/vmx/vmx.c
d76c62
+++ b/src/vmx/vmx.c
d76c62
@@ -1485,6 +1485,7 @@ virVMXParseConfig(virVMXContext *ctx,
d76c62
                              "'numvcpus'"));
d76c62
             goto cleanup;
d76c62
         }
d76c62
+        cpu->dies = 1;
d76c62
         cpu->cores = coresPerSocket;
d76c62
         cpu->threads = 1;
d76c62
 
d76c62
@@ -3206,6 +3207,12 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virDomainDe
d76c62
             goto cleanup;
d76c62
         }
d76c62
 
d76c62
+        if (def->cpu->dies != 1) {
d76c62
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
d76c62
+                           _("Only 1 die per socket is supported"));
d76c62
+            goto cleanup;
d76c62
+        }
d76c62
+
d76c62
         calculated_vcpus = def->cpu->sockets * def->cpu->cores;
d76c62
         if (calculated_vcpus != maxvcpus) {
d76c62
             virReportError(VIR_ERR_INTERNAL_ERROR,
d76c62
diff --git a/tests/cputestdata/x86_64-host+guest,model486-result.xml b/tests/cputestdata/x86_64-host+guest,model486-result.xml
d76c62
index 85564ff458..ea8e2d3a48 100644
d76c62
--- a/tests/cputestdata/x86_64-host+guest,model486-result.xml
d76c62
+++ b/tests/cputestdata/x86_64-host+guest,model486-result.xml
d76c62
@@ -1,6 +1,6 @@
d76c62
 <cpu mode='custom' match='exact'>
d76c62
   <model fallback='allow'>486</model>
d76c62
-  <topology sockets='2' cores='4' threads='1'/>
d76c62
+  <topology sockets='2' dies='1' cores='4' threads='1'/>
d76c62
   <feature policy='require' name='de'/>
d76c62
   <feature policy='require' name='tsc'/>
d76c62
   <feature policy='require' name='msr'/>
d76c62
diff --git a/tests/cputestdata/x86_64-host+guest,models-result.xml b/tests/cputestdata/x86_64-host+guest,models-result.xml
d76c62
index f79ed324c1..0dd6955898 100644
d76c62
--- a/tests/cputestdata/x86_64-host+guest,models-result.xml
d76c62
+++ b/tests/cputestdata/x86_64-host+guest,models-result.xml
d76c62
@@ -1,6 +1,6 @@
d76c62
 <cpu mode='custom' match='exact'>
d76c62
   <model fallback='allow'>Nehalem</model>
d76c62
-  <topology sockets='2' cores='4' threads='1'/>
d76c62
+  <topology sockets='2' dies='1' cores='4' threads='1'/>
d76c62
   <feature policy='force' name='pbe'/>
d76c62
   <feature policy='force' name='monitor'/>
d76c62
   <feature policy='require' name='xtpr'/>
d76c62
diff --git a/tests/cputestdata/x86_64-host+guest-result.xml b/tests/cputestdata/x86_64-host+guest-result.xml
d76c62
index 137a3d6647..28e3152cbf 100644
d76c62
--- a/tests/cputestdata/x86_64-host+guest-result.xml
d76c62
+++ b/tests/cputestdata/x86_64-host+guest-result.xml
d76c62
@@ -1,6 +1,6 @@
d76c62
 <cpu mode='custom' match='exact'>
d76c62
   <model fallback='allow'>Penryn</model>
d76c62
-  <topology sockets='2' cores='4' threads='1'/>
d76c62
+  <topology sockets='2' dies='1' cores='4' threads='1'/>
d76c62
   <feature policy='require' name='dca'/>
d76c62
   <feature policy='require' name='xtpr'/>
d76c62
   <feature policy='disable' name='sse4.2'/>
d76c62
diff --git a/tests/cputestdata/x86_64-host+guest.xml b/tests/cputestdata/x86_64-host+guest.xml
d76c62
index 137a3d6647..28e3152cbf 100644
d76c62
--- a/tests/cputestdata/x86_64-host+guest.xml
d76c62
+++ b/tests/cputestdata/x86_64-host+guest.xml
d76c62
@@ -1,6 +1,6 @@
d76c62
 <cpu mode='custom' match='exact'>
d76c62
   <model fallback='allow'>Penryn</model>
d76c62
-  <topology sockets='2' cores='4' threads='1'/>
d76c62
+  <topology sockets='2' dies='1' cores='4' threads='1'/>
d76c62
   <feature policy='require' name='dca'/>
d76c62
   <feature policy='require' name='xtpr'/>
d76c62
   <feature policy='disable' name='sse4.2'/>
d76c62
diff --git a/tests/cputestdata/x86_64-host+host-model-nofallback.xml b/tests/cputestdata/x86_64-host+host-model-nofallback.xml
d76c62
index 0c3ede0f6a..16d6e1daf2 100644
d76c62
--- a/tests/cputestdata/x86_64-host+host-model-nofallback.xml
d76c62
+++ b/tests/cputestdata/x86_64-host+host-model-nofallback.xml
d76c62
@@ -1,7 +1,7 @@
d76c62
 <cpu mode='custom' match='exact'>
d76c62
   <model fallback='forbid'>Penryn</model>
d76c62
   <vendor>Intel</vendor>
d76c62
-  <topology sockets='1' cores='2' threads='1'/>
d76c62
+  <topology sockets='1' dies='1' cores='2' threads='1'/>
d76c62
   <feature policy='require' name='dca'/>
d76c62
   <feature policy='require' name='xtpr'/>
d76c62
   <feature policy='require' name='tm2'/>
d76c62
diff --git a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml
d76c62
index 2dbe06c314..8eda6684a0 100644
d76c62
--- a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml
d76c62
+++ b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml
d76c62
@@ -1,6 +1,6 @@
d76c62
 <cpu mode='custom' match='exact'>
d76c62
   <model fallback='allow'>Haswell</model>
d76c62
-  <topology sockets='1' cores='2' threads='2'/>
d76c62
+  <topology sockets='1' dies='1' cores='2' threads='2'/>
d76c62
   <feature policy='disable' name='rtm'/>
d76c62
   <feature policy='disable' name='hle'/>
d76c62
 </cpu>
d76c62
diff --git a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml
d76c62
index 5d149bb295..cb02449d60 100644
d76c62
--- a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml
d76c62
+++ b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml
d76c62
@@ -1,6 +1,6 @@
d76c62
 <cpu mode='custom' match='exact'>
d76c62
   <model fallback='allow'>Haswell</model>
d76c62
-  <topology sockets='1' cores='2' threads='2'/>
d76c62
+  <topology sockets='1' dies='1' cores='2' threads='2'/>
d76c62
   <feature policy='disable' name='hle'/>
d76c62
   <feature policy='disable' name='rtm'/>
d76c62
 </cpu>
d76c62
diff --git a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml
d76c62
index 3b74089647..7ee926aba8 100644
d76c62
--- a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml
d76c62
+++ b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml
d76c62
@@ -1,4 +1,4 @@
d76c62
 <cpu mode='custom' match='exact'>
d76c62
   <model fallback='allow'>Haswell-noTSX</model>
d76c62
-  <topology sockets='1' cores='2' threads='2'/>
d76c62
+  <topology sockets='1' dies='1' cores='2' threads='2'/>
d76c62
 </cpu>
d76c62
diff --git a/tests/cputestdata/x86_64-host-worse+guest-result.xml b/tests/cputestdata/x86_64-host-worse+guest-result.xml
d76c62
index 2edc8756c4..9d54c66a8f 100644
d76c62
--- a/tests/cputestdata/x86_64-host-worse+guest-result.xml
d76c62
+++ b/tests/cputestdata/x86_64-host-worse+guest-result.xml
d76c62
@@ -1,6 +1,6 @@
d76c62
 <cpu mode='custom' match='exact'>
d76c62
   <model fallback='allow'>Penryn</model>
d76c62
-  <topology sockets='2' cores='4' threads='1'/>
d76c62
+  <topology sockets='2' dies='1' cores='4' threads='1'/>
d76c62
   <feature policy='disable' name='dca'/>
d76c62
   <feature policy='disable' name='xtpr'/>
d76c62
   <feature policy='disable' name='sse4.2'/>
d76c62
diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml
d76c62
index 1a769235a3..f80c4367df 100644
d76c62
--- a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml
d76c62
+++ b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml
d76c62
@@ -43,7 +43,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='1' cores='4' threads='8'/>
d76c62
+    <topology sockets='1' dies='1' cores='4' threads='8'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml
d76c62
index 43e6267250..7998b978fb 100644
d76c62
--- a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml
d76c62
+++ b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml
d76c62
@@ -43,7 +43,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='1' cores='4' threads='8'/>
d76c62
+    <topology sockets='1' dies='1' cores='4' threads='8'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml
d76c62
index cfb44cc433..2a48a97eef 100644
d76c62
--- a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml
d76c62
+++ b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml
d76c62
@@ -43,7 +43,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='1' cores='4' threads='8'/>
d76c62
+    <topology sockets='1' dies='1' cores='4' threads='8'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml
d76c62
index 0a8d372149..90518d1fa9 100644
d76c62
--- a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml
d76c62
+++ b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml
d76c62
@@ -43,7 +43,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='1' cores='4' threads='8'/>
d76c62
+    <topology sockets='1' dies='1' cores='4' threads='8'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml
d76c62
index 6457f4056b..0d622fc8ae 100644
d76c62
--- a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml
d76c62
+++ b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml
d76c62
@@ -19,7 +19,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='4' cores='2' threads='1'/>
d76c62
+    <topology sockets='4' dies='1' cores='2' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml
d76c62
index fe9a81a091..ed9deaea4a 100644
d76c62
--- a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml
d76c62
+++ b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml
d76c62
@@ -19,7 +19,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='4' cores='2' threads='1'/>
d76c62
+    <topology sockets='4' dies='1' cores='2' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml
d76c62
index 58c088de88..342f172108 100644
d76c62
--- a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml
d76c62
+++ b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml
d76c62
@@ -19,7 +19,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='4' cores='2' threads='1'/>
d76c62
+    <topology sockets='4' dies='1' cores='2' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml
d76c62
index 12b28be5fe..b8341c74e5 100644
d76c62
--- a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml
d76c62
+++ b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml
d76c62
@@ -19,7 +19,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='4' cores='2' threads='1'/>
d76c62
+    <topology sockets='4' dies='1' cores='2' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuhotplugtestcpus/x86-old-bulk-result-conf.xml b/tests/qemuhotplugtestcpus/x86-old-bulk-result-conf.xml
d76c62
index f635e37b82..29da89f5bc 100644
d76c62
--- a/tests/qemuhotplugtestcpus/x86-old-bulk-result-conf.xml
d76c62
+++ b/tests/qemuhotplugtestcpus/x86-old-bulk-result-conf.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='4' cores='2' threads='1'/>
d76c62
+    <topology sockets='4' dies='1' cores='2' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuhotplugtestcpus/x86-old-bulk-result-live.xml b/tests/qemuhotplugtestcpus/x86-old-bulk-result-live.xml
d76c62
index 6f50bb5c12..f81194db5b 100644
d76c62
--- a/tests/qemuhotplugtestcpus/x86-old-bulk-result-live.xml
d76c62
+++ b/tests/qemuhotplugtestcpus/x86-old-bulk-result-live.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='4' cores='2' threads='1'/>
d76c62
+    <topology sockets='4' dies='1' cores='2' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-hotplug-granularity.xml b/tests/qemuxml2argvdata/cpu-hotplug-granularity.xml
d76c62
index a94f41e46a..bf6a42c306 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-hotplug-granularity.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-hotplug-granularity.xml
d76c62
@@ -7,7 +7,7 @@
d76c62
     <type arch='ppc64' machine='pseries'>hvm</type>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='1' cores='2' threads='4'/>
d76c62
+    <topology sockets='1' dies='1' cores='2' threads='4'/>
d76c62
   </cpu>
d76c62
   <devices>
d76c62
     <emulator>/usr/bin/qemu-system-ppc64</emulator>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-hotplug-startup.xml b/tests/qemuxml2argvdata/cpu-hotplug-startup.xml
d76c62
index 99987ba15a..9d764e2f8c 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-hotplug-startup.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-hotplug-startup.xml
d76c62
@@ -17,7 +17,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets="3" cores="2" threads="1"/>
d76c62
+    <topology sockets="3" dies="1" cores="2" threads="1"/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-numa-disjoint.xml b/tests/qemuxml2argvdata/cpu-numa-disjoint.xml
d76c62
index b022384e97..c164b15e82 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-numa-disjoint.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-numa-disjoint.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-3,8-11' memory='109550' unit='KiB'/>
d76c62
       <cell id='1' cpus='4-7,12-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-numa-disordered.xml b/tests/qemuxml2argvdata/cpu-numa-disordered.xml
d76c62
index e209150a55..6e00b91281 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-numa-disordered.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-numa-disordered.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-5' memory='109550' unit='KiB'/>
d76c62
       <cell id='2' cpus='6-10' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-numa-memshared.xml b/tests/qemuxml2argvdata/cpu-numa-memshared.xml
d76c62
index 7e05916f78..f2ef035b00 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-numa-memshared.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-numa-memshared.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-7' memory='109550' unit='KiB' memAccess='shared'/>
d76c62
       <cell id='1' cpus='8-15' memory='109550' unit='KiB' memAccess='private'/>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-numa-no-memory-element.xml b/tests/qemuxml2argvdata/cpu-numa-no-memory-element.xml
d76c62
index ee6b6aa870..97dac01e84 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-numa-no-memory-element.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-numa-no-memory-element.xml
d76c62
@@ -8,7 +8,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='1' cpus='8-15' memory='109550' unit='KiB'/>
d76c62
       <cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-numa1.xml b/tests/qemuxml2argvdata/cpu-numa1.xml
d76c62
index b21941d51a..867d21e152 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-numa1.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-numa1.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-numa2.xml b/tests/qemuxml2argvdata/cpu-numa2.xml
d76c62
index b85b19f5e0..e589948dc7 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-numa2.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-numa2.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='1' cpus='8-15' memory='109550' unit='KiB'/>
d76c62
       <cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-numa3.xml b/tests/qemuxml2argvdata/cpu-numa3.xml
d76c62
index e2b9e9014d..350fbe7c07 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-numa3.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-numa3.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='1' cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell id='2' cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-topology1.xml b/tests/qemuxml2argvdata/cpu-topology1.xml
d76c62
index 9d77d10a5c..af82a1c51a 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-topology1.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-topology1.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets="3" cores="2" threads="1"/>
d76c62
+    <topology sockets="3" dies="1" cores="2" threads="1"/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-topology2.xml b/tests/qemuxml2argvdata/cpu-topology2.xml
d76c62
index 9d9701914a..1b113b8b13 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-topology2.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-topology2.xml
d76c62
@@ -10,7 +10,7 @@
d76c62
   </os>
d76c62
   <cpu match='exact'>
d76c62
     <model>core2duo</model>
d76c62
-    <topology sockets="1" cores="2" threads="3"/>
d76c62
+    <topology sockets="1" dies="1" cores="2" threads="3"/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/cpu-topology3.xml b/tests/qemuxml2argvdata/cpu-topology3.xml
d76c62
index 9d77d10a5c..af82a1c51a 100644
d76c62
--- a/tests/qemuxml2argvdata/cpu-topology3.xml
d76c62
+++ b/tests/qemuxml2argvdata/cpu-topology3.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets="3" cores="2" threads="1"/>
d76c62
+    <topology sockets="3" dies="1" cores="2" threads="1"/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml b/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml
d76c62
index 4c30761110..eb3300b1fb 100644
d76c62
--- a/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml
d76c62
+++ b/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='8' cores='1' threads='1'/>
d76c62
+    <topology sockets='8' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/fd-memory-numa-topology.xml b/tests/qemuxml2argvdata/fd-memory-numa-topology.xml
d76c62
index f22a8e81f8..b7b5a19166 100644
d76c62
--- a/tests/qemuxml2argvdata/fd-memory-numa-topology.xml
d76c62
+++ b/tests/qemuxml2argvdata/fd-memory-numa-topology.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='1' cores='8' threads='1'/>
d76c62
+    <topology sockets='1' dies='1' cores='8' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-7' memory='14680064' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml b/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml
d76c62
index 925f39b6ab..07de0bd717 100644
d76c62
--- a/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml
d76c62
+++ b/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='1' cores='8' threads='1'/>
d76c62
+    <topology sockets='1' dies='1' cores='8' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-7' memory='14680064' unit='KiB'/>
d76c62
       <cell id='1' cpus='8-15' memory='14680064' unit='KiB' memAccess='shared'/>
d76c62
diff --git a/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml b/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml
d76c62
index 71a8e083c9..8711641b68 100644
d76c62
--- a/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml
d76c62
+++ b/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='1' cores='24' threads='1'/>
d76c62
+    <topology sockets='1' dies='1' cores='24' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='14680064' unit='KiB'/>
d76c62
       <cell id='1' cpus='2-3' memory='14680064' unit='KiB' memAccess='shared'/>
d76c62
diff --git a/tests/qemuxml2argvdata/graphics-spice-timeout.xml b/tests/qemuxml2argvdata/graphics-spice-timeout.xml
d76c62
index 6bb4eb8f4c..d96f519bf8 100644
d76c62
--- a/tests/qemuxml2argvdata/graphics-spice-timeout.xml
d76c62
+++ b/tests/qemuxml2argvdata/graphics-spice-timeout.xml
d76c62
@@ -18,7 +18,7 @@
d76c62
   <cpu match='exact'>
d76c62
     <model>core2duo</model>
d76c62
     <vendor>Intel</vendor>
d76c62
-    <topology sockets='1' cores='2' threads='1'/>
d76c62
+    <topology sockets='1' dies='1' cores='2' threads='1'/>
d76c62
     <feature policy='require' name='ds'/>
d76c62
     <feature policy='require' name='acpi'/>
d76c62
     <feature policy='require' name='ss'/>
d76c62
diff --git a/tests/qemuxml2argvdata/hugepages-nvdimm.xml b/tests/qemuxml2argvdata/hugepages-nvdimm.xml
d76c62
index b784777805..144d02b56e 100644
d76c62
--- a/tests/qemuxml2argvdata/hugepages-nvdimm.xml
d76c62
+++ b/tests/qemuxml2argvdata/hugepages-nvdimm.xml
d76c62
@@ -16,7 +16,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='1048576' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml
d76c62
index 45ff012711..ded56dd538 100644
d76c62
--- a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml
d76c62
+++ b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml
d76c62
@@ -18,7 +18,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='1' cores='8' threads='1'/>
d76c62
+    <topology sockets='1' dies='1' cores='8' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-7' memory='14680064' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memfd-memory-numa.xml b/tests/qemuxml2argvdata/memfd-memory-numa.xml
d76c62
index f088f01d11..ebe638f600 100644
d76c62
--- a/tests/qemuxml2argvdata/memfd-memory-numa.xml
d76c62
+++ b/tests/qemuxml2argvdata/memfd-memory-numa.xml
d76c62
@@ -20,7 +20,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='1' cores='8' threads='1'/>
d76c62
+    <topology sockets='1' dies='1' cores='8' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-7' memory='14680064' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memory-align-fail.xml b/tests/qemuxml2argvdata/memory-align-fail.xml
d76c62
index 75c1a46068..636f0e3d8e 100644
d76c62
--- a/tests/qemuxml2argvdata/memory-align-fail.xml
d76c62
+++ b/tests/qemuxml2argvdata/memory-align-fail.xml
d76c62
@@ -10,7 +10,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='9007199254740991' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.xml b/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.xml
d76c62
index c289fdd5ff..ea4f4fd745 100644
d76c62
--- a/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.xml
d76c62
+++ b/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.xml
d76c62
@@ -10,7 +10,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memory-hotplug-dimm.xml b/tests/qemuxml2argvdata/memory-hotplug-dimm.xml
d76c62
index c68336f871..585e0a5f51 100644
d76c62
--- a/tests/qemuxml2argvdata/memory-hotplug-dimm.xml
d76c62
+++ b/tests/qemuxml2argvdata/memory-hotplug-dimm.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <gid start='0' target='1000' count='10'/>
d76c62
   </idmap>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml
d76c62
index 4e62dd0e18..a1cc1264eb 100644
d76c62
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml
d76c62
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <gid start='0' target='1000' count='10'/>
d76c62
   </idmap>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml
d76c62
index defa109e80..018a693aaf 100644
d76c62
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml
d76c62
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <gid start='0' target='1000' count='10'/>
d76c62
   </idmap>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml
d76c62
index 89d01d672f..c9d54a6088 100644
d76c62
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml
d76c62
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <gid start='0' target='1000' count='10'/>
d76c62
   </idmap>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml
d76c62
index e6a4f7901a..391d70f20e 100644
d76c62
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml
d76c62
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <gid start='0' target='1000' count='10'/>
d76c62
   </idmap>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml
d76c62
index dd48540712..09b2c5c833 100644
d76c62
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml
d76c62
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <gid start='0' target='1000' count='10'/>
d76c62
   </idmap>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml
d76c62
index 9c76dda6c8..a32474da06 100644
d76c62
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml
d76c62
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <gid start='0' target='1000' count='10'/>
d76c62
   </idmap>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='1048576' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/memory-hotplug.xml b/tests/qemuxml2argvdata/memory-hotplug.xml
d76c62
index e1f086567b..8d09856e95 100644
d76c62
--- a/tests/qemuxml2argvdata/memory-hotplug.xml
d76c62
+++ b/tests/qemuxml2argvdata/memory-hotplug.xml
d76c62
@@ -10,7 +10,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.xml b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.xml
d76c62
index 50dbc3c466..5758e65d09 100644
d76c62
--- a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.xml
d76c62
+++ b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml
d76c62
index d9cd6b83f1..80314d05a3 100644
d76c62
--- a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml
d76c62
+++ b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/numad-auto-vcpu-no-numatune.xml b/tests/qemuxml2argvdata/numad-auto-vcpu-no-numatune.xml
d76c62
index f21ba0a786..0edf8ee46f 100644
d76c62
--- a/tests/qemuxml2argvdata/numad-auto-vcpu-no-numatune.xml
d76c62
+++ b/tests/qemuxml2argvdata/numad-auto-vcpu-no-numatune.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune-no-nodeset.xml b/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune-no-nodeset.xml
d76c62
index 378d17face..517dd5dbd7 100644
d76c62
--- a/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune-no-nodeset.xml
d76c62
+++ b/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune-no-nodeset.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.xml b/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.xml
d76c62
index e20bd8db0b..a7f32b6802 100644
d76c62
--- a/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.xml
d76c62
+++ b/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.xml b/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.xml
d76c62
index 50dbc3c466..5758e65d09 100644
d76c62
--- a/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.xml
d76c62
+++ b/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/numad-static-vcpu-no-numatune.xml b/tests/qemuxml2argvdata/numad-static-vcpu-no-numatune.xml
d76c62
index 7ccaa5aff4..3237e7c7c5 100644
d76c62
--- a/tests/qemuxml2argvdata/numad-static-vcpu-no-numatune.xml
d76c62
+++ b/tests/qemuxml2argvdata/numad-static-vcpu-no-numatune.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/numad.xml b/tests/qemuxml2argvdata/numad.xml
d76c62
index 081a59a013..ae995e2d6b 100644
d76c62
--- a/tests/qemuxml2argvdata/numad.xml
d76c62
+++ b/tests/qemuxml2argvdata/numad.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.xml b/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.xml
d76c62
index 44ec55a810..e6ca895b0d 100644
d76c62
--- a/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.xml
d76c62
+++ b/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/numatune-memory-invalid-nodeset.xml b/tests/qemuxml2argvdata/numatune-memory-invalid-nodeset.xml
d76c62
index 441f2b8989..70e7b92f34 100644
d76c62
--- a/tests/qemuxml2argvdata/numatune-memory-invalid-nodeset.xml
d76c62
+++ b/tests/qemuxml2argvdata/numatune-memory-invalid-nodeset.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/numatune-memory.xml b/tests/qemuxml2argvdata/numatune-memory.xml
d76c62
index c9887dbebc..93ee70cc0b 100644
d76c62
--- a/tests/qemuxml2argvdata/numatune-memory.xml
d76c62
+++ b/tests/qemuxml2argvdata/numatune-memory.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2argvdata/pci-expander-bus-bad-machine.xml b/tests/qemuxml2argvdata/pci-expander-bus-bad-machine.xml
d76c62
index 606ddfd73c..5093944a1c 100644
d76c62
--- a/tests/qemuxml2argvdata/pci-expander-bus-bad-machine.xml
d76c62
+++ b/tests/qemuxml2argvdata/pci-expander-bus-bad-machine.xml
d76c62
@@ -8,7 +8,7 @@
d76c62
     <type arch='x86_64' machine='q35'>hvm</type>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/pci-expander-bus.xml b/tests/qemuxml2argvdata/pci-expander-bus.xml
d76c62
index 79c959346d..d9aeda1757 100644
d76c62
--- a/tests/qemuxml2argvdata/pci-expander-bus.xml
d76c62
+++ b/tests/qemuxml2argvdata/pci-expander-bus.xml
d76c62
@@ -8,7 +8,7 @@
d76c62
     <type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/pcie-expander-bus-bad-bus.xml b/tests/qemuxml2argvdata/pcie-expander-bus-bad-bus.xml
d76c62
index f0ab0a16d1..4a6cb492bb 100644
d76c62
--- a/tests/qemuxml2argvdata/pcie-expander-bus-bad-bus.xml
d76c62
+++ b/tests/qemuxml2argvdata/pcie-expander-bus-bad-bus.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/pcie-expander-bus-bad-machine.xml b/tests/qemuxml2argvdata/pcie-expander-bus-bad-machine.xml
d76c62
index dc64d97b83..1c27047b75 100644
d76c62
--- a/tests/qemuxml2argvdata/pcie-expander-bus-bad-machine.xml
d76c62
+++ b/tests/qemuxml2argvdata/pcie-expander-bus-bad-machine.xml
d76c62
@@ -8,7 +8,7 @@
d76c62
     <type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/pcie-expander-bus.xml b/tests/qemuxml2argvdata/pcie-expander-bus.xml
d76c62
index 5c5d34d1e0..80693f8a1c 100644
d76c62
--- a/tests/qemuxml2argvdata/pcie-expander-bus.xml
d76c62
+++ b/tests/qemuxml2argvdata/pcie-expander-bus.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/pseries-default-phb-numa-node.xml b/tests/qemuxml2argvdata/pseries-default-phb-numa-node.xml
d76c62
index 12d277aaf8..27f211d59d 100644
d76c62
--- a/tests/qemuxml2argvdata/pseries-default-phb-numa-node.xml
d76c62
+++ b/tests/qemuxml2argvdata/pseries-default-phb-numa-node.xml
d76c62
@@ -7,7 +7,7 @@
d76c62
     <memnode cellid="0" mode="strict" nodeset="1"/>
d76c62
   </numatune>
d76c62
   <cpu>
d76c62
-    <topology sockets='3' cores='1' threads='8'/>
d76c62
+    <topology sockets='3' dies='1' cores='1' threads='8'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-23' memory='1048576' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2argvdata/pseries-phb-numa-node.xml b/tests/qemuxml2argvdata/pseries-phb-numa-node.xml
d76c62
index aeccb14dfb..52c39d5dbd 100644
d76c62
--- a/tests/qemuxml2argvdata/pseries-phb-numa-node.xml
d76c62
+++ b/tests/qemuxml2argvdata/pseries-phb-numa-node.xml
d76c62
@@ -8,7 +8,7 @@
d76c62
     <memnode cellid="1" mode="strict" nodeset="2"/>
d76c62
   </numatune>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='4'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='4'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-3' memory='1048576' unit='KiB'/>
d76c62
       <cell id='1' cpus='4-7' memory='1048576' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2argvdata/smp.xml b/tests/qemuxml2argvdata/smp.xml
d76c62
index 55d5cdeff2..6041506ed8 100644
d76c62
--- a/tests/qemuxml2argvdata/smp.xml
d76c62
+++ b/tests/qemuxml2argvdata/smp.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2xmloutdata/cpu-numa-disjoint.xml b/tests/qemuxml2xmloutdata/cpu-numa-disjoint.xml
d76c62
index f0ca39b5d3..d7f5372fbc 100644
d76c62
--- a/tests/qemuxml2xmloutdata/cpu-numa-disjoint.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/cpu-numa-disjoint.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-3,8-11' memory='109550' unit='KiB'/>
d76c62
       <cell id='1' cpus='4-7,12-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2xmloutdata/cpu-numa-disordered.xml b/tests/qemuxml2xmloutdata/cpu-numa-disordered.xml
d76c62
index 1e672adc44..487ced1008 100644
d76c62
--- a/tests/qemuxml2xmloutdata/cpu-numa-disordered.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/cpu-numa-disordered.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-5' memory='109550' unit='KiB'/>
d76c62
       <cell id='1' cpus='11-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2xmloutdata/cpu-numa-memshared.xml b/tests/qemuxml2xmloutdata/cpu-numa-memshared.xml
d76c62
index 3db0db047c..f472bffec3 100644
d76c62
--- a/tests/qemuxml2xmloutdata/cpu-numa-memshared.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/cpu-numa-memshared.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-7' memory='109550' unit='KiB' memAccess='shared'/>
d76c62
       <cell id='1' cpus='8-15' memory='109550' unit='KiB' memAccess='private'/>
d76c62
diff --git a/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.xml b/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.xml
d76c62
index 8596baae6c..2ef7f84646 100644
d76c62
--- a/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell id='1' cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2xmloutdata/cpu-numa1.xml b/tests/qemuxml2xmloutdata/cpu-numa1.xml
d76c62
index 8596baae6c..2ef7f84646 100644
d76c62
--- a/tests/qemuxml2xmloutdata/cpu-numa1.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/cpu-numa1.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell id='1' cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2xmloutdata/cpu-numa2.xml b/tests/qemuxml2xmloutdata/cpu-numa2.xml
d76c62
index 8596baae6c..2ef7f84646 100644
d76c62
--- a/tests/qemuxml2xmloutdata/cpu-numa2.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/cpu-numa2.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='network'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell id='1' cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2xmloutdata/graphics-spice-timeout.xml b/tests/qemuxml2xmloutdata/graphics-spice-timeout.xml
d76c62
index 3f0babd8fc..6e23652448 100644
d76c62
--- a/tests/qemuxml2xmloutdata/graphics-spice-timeout.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/graphics-spice-timeout.xml
d76c62
@@ -18,7 +18,7 @@
d76c62
   <cpu mode='custom' match='exact' check='partial'>
d76c62
     <model fallback='allow'>core2duo</model>
d76c62
     <vendor>Intel</vendor>
d76c62
-    <topology sockets='1' cores='2' threads='1'/>
d76c62
+    <topology sockets='1' dies='1' cores='2' threads='1'/>
d76c62
     <feature policy='require' name='ds'/>
d76c62
     <feature policy='require' name='acpi'/>
d76c62
     <feature policy='require' name='ss'/>
d76c62
diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-dimm.xml b/tests/qemuxml2xmloutdata/memory-hotplug-dimm.xml
d76c62
index f4a118cea5..326b5c954c 100644
d76c62
--- a/tests/qemuxml2xmloutdata/memory-hotplug-dimm.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/memory-hotplug-dimm.xml
d76c62
@@ -14,7 +14,7 @@
d76c62
     <gid start='0' target='1000' count='10'/>
d76c62
   </idmap>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2xmloutdata/memory-hotplug.xml b/tests/qemuxml2xmloutdata/memory-hotplug.xml
d76c62
index 0e02f210bc..0e5295dcd0 100644
d76c62
--- a/tests/qemuxml2xmloutdata/memory-hotplug.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/memory-hotplug.xml
d76c62
@@ -10,7 +10,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
d76c62
     </numa>
d76c62
diff --git a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.xml b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.xml
d76c62
index 133177b679..841ea699a1 100644
d76c62
--- a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml
d76c62
index dc14ecd139..2e3998e155 100644
d76c62
--- a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.xml b/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.xml
d76c62
index 76d7c3b835..7c1f18c216 100644
d76c62
--- a/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.xml b/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.xml
d76c62
index 523962117e..3d05790c0e 100644
d76c62
--- a/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/qemuxml2xmloutdata/pci-expander-bus.xml b/tests/qemuxml2xmloutdata/pci-expander-bus.xml
d76c62
index e0d787e57c..60e4e4af7f 100644
d76c62
--- a/tests/qemuxml2xmloutdata/pci-expander-bus.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/pci-expander-bus.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell id='1' cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2xmloutdata/pcie-expander-bus.xml b/tests/qemuxml2xmloutdata/pcie-expander-bus.xml
d76c62
index 643b4823bb..452d476da6 100644
d76c62
--- a/tests/qemuxml2xmloutdata/pcie-expander-bus.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/pcie-expander-bus.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='4' threads='2'/>
d76c62
+    <topology sockets='2' dies='1' cores='4' threads='2'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
d76c62
       <cell id='1' cpus='8-15' memory='109550' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2xmloutdata/pseries-phb-numa-node.xml b/tests/qemuxml2xmloutdata/pseries-phb-numa-node.xml
d76c62
index 80b771e89d..b05ac334a6 100644
d76c62
--- a/tests/qemuxml2xmloutdata/pseries-phb-numa-node.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/pseries-phb-numa-node.xml
d76c62
@@ -13,7 +13,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='4'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='4'/>
d76c62
     <numa>
d76c62
       <cell id='0' cpus='0-3' memory='1048576' unit='KiB'/>
d76c62
       <cell id='1' cpus='4-7' memory='1048576' unit='KiB'/>
d76c62
diff --git a/tests/qemuxml2xmloutdata/smp.xml b/tests/qemuxml2xmloutdata/smp.xml
d76c62
index d3712cb7df..3e00f578e5 100644
d76c62
--- a/tests/qemuxml2xmloutdata/smp.xml
d76c62
+++ b/tests/qemuxml2xmloutdata/smp.xml
d76c62
@@ -9,7 +9,7 @@
d76c62
     <boot dev='hd'/>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='2' cores='1' threads='1'/>
d76c62
+    <topology sockets='2' dies='1' cores='1' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml
d76c62
index eba5f4734a..2011bfb3b9 100644
d76c62
--- a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml
d76c62
+++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml
d76c62
@@ -11,7 +11,7 @@
d76c62
     <type arch='x86_64'>hvm</type>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='4' cores='2' threads='1'/>
d76c62
+    <topology sockets='4' dies='1' cores='2' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-9.xml b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-9.xml
d76c62
index f1fe6dd4c9..fa428c1986 100644
d76c62
--- a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-9.xml
d76c62
+++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-9.xml
d76c62
@@ -12,7 +12,7 @@
d76c62
     <type arch='x86_64'>hvm</type>
d76c62
   </os>
d76c62
   <cpu>
d76c62
-    <topology sockets='4' cores='4' threads='1'/>
d76c62
+    <topology sockets='4' dies='1' cores='4' threads='1'/>
d76c62
   </cpu>
d76c62
   <clock offset='utc'/>
d76c62
   <on_poweroff>destroy</on_poweroff>
d76c62
-- 
d76c62
2.25.0
d76c62