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