Extend hypervisor capabilities to include tdx feature. When available,
hypervisor can launch an encrypted VM on Intel platform.
Signed-off-by: Chenyi Qiang <chenyi.qiang(a)intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan(a)intel.com>
---
docs/formatdomaincaps.html.in | 16 ++++++++++++++++
docs/schemas/domaincaps.rng | 9 +++++++++
src/conf/domain_capabilities.c | 14 ++++++++++++++
src/conf/domain_capabilities.h | 1 +
src/qemu/qemu_capabilities.c | 12 ++++++++++++
tests/domaincapsdata/bhyve_basic.x86_64.xml | 1 +
tests/domaincapsdata/bhyve_fbuf.x86_64.xml | 1 +
tests/domaincapsdata/bhyve_uefi.x86_64.xml | 1 +
tests/domaincapsdata/empty.xml | 1 +
tests/domaincapsdata/libxl-xenfv.xml | 1 +
tests/domaincapsdata/libxl-xenpv.xml | 1 +
tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.11.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_2.11.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_2.12.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_2.12.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_2.12.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_2.12.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_2.12.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.4.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.5.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_2.6.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_2.6.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_2.6.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.7.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_2.7.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.8.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_2.8.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_2.9.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_2.9.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_2.9.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_3.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_3.0.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_3.0.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_3.1.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_3.1.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_4.0.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_4.0.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.1.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.1.0.sparc.xml | 1 +
tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 +
97 files changed, 144 insertions(+)
diff --git a/docs/formatdomaincaps.html.in b/docs/formatdomaincaps.html.in
index 62f1940e6a..0e679b19b7 100644
--- a/docs/formatdomaincaps.html.in
+++ b/docs/formatdomaincaps.html.in
@@ -566,6 +566,7 @@
<genid supported='yes'/>
<backingStoreInput supported='yes'/>
<backup supported='yes'/>
+ <tdx supported='yes'/>
<sev>
<cbitpos>47</cbitpos>
<reduced-phys-bits>1</reduced-phys-bits>
@@ -620,6 +621,21 @@
<code>virDomainUndefine</code> is supported.
</p>
+ <h4><a id="featureTDX">TDX capabilities</a></h4>
+ <p>Trust Domain Extensions(TDX) capabilities are exposed under the
+ <code>tdx</code> element.
+ TDX is an Intel technology that extends Virtual Machines Extensions (VMX)
+ to with a new kind of virtual machine guest called Trust Domain (TD). A TD
+ runs in a CPU model which protects the confidentiality of its memory contents
+ and its CPU state from any other software, including the hosting Virtual Machine
+ Monitor (VMM), unless explicitly shared by the TD itself.</p>
+
+ <p>
+ For more details on the TDX feature, please follow resources in the
+ Intel developer's document. In order to use TDX with libvirt have
+ a look at <a href="formatdomain.html#launchSecurity">TDX in domain
XML</a>
+ </p>
+
<h4><a id="elementsSEV">SEV capabilities</a></h4>
<p>AMD Secure Encrypted Virtualization (SEV) capabilities are exposed under
diff --git a/docs/schemas/domaincaps.rng b/docs/schemas/domaincaps.rng
index fc668e0c78..0e61d38923 100644
--- a/docs/schemas/domaincaps.rng
+++ b/docs/schemas/domaincaps.rng
@@ -250,6 +250,9 @@
<optional>
<ref name="sev"/>
</optional>
+ <optional>
+ <ref name="tdx"/>
+ </optional>
</element>
</define>
@@ -298,6 +301,12 @@
</element>
</define>
+ <define name="tdx">
+ <element name="tdx">
+ <ref name="supported"/>
+ </element>
+ </define>
+
<define name="value">
<zeroOrMore>
<element name="value">
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index 31577095e9..709ef6ab9e 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -97,6 +97,7 @@ virDomainCapsDispose(void *obj)
virObjectUnref(caps->cpu.custom);
virCPUDefFree(caps->cpu.hostModel);
virSEVCapabilitiesFree(caps->sev);
+ virTDXCapabilitiesFree(caps->tdx);
values = &caps->os.loader.values;
for (i = 0; i < values->nvalues; i++)
@@ -590,6 +591,17 @@ virDomainCapsFeatureSEVFormat(virBuffer *buf,
return;
}
+static void
+virDomainCapsFeatureTDXFormat(virBuffer *buf,
+ const virTDXCapability *tdx)
+{
+ if (tdx)
+ virBufferAddLit(buf, "<tdx supported='yes'/>\n");
+ else
+ virBufferAddLit(buf, "<tdx supported='no'/>\n");
+
+ return;
+}
static void
virDomainCapsFormatFeatures(const virDomainCaps *caps,
@@ -611,6 +623,8 @@ virDomainCapsFormatFeatures(const virDomainCaps *caps,
virDomainCapsFeatureSEVFormat(&childBuf, caps->sev);
+ virDomainCapsFeatureTDXFormat(&childBuf, caps->tdx);
+
virXMLFormatElement(buf, "features", NULL, &childBuf);
}
diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h
index e099788da9..17b59b699a 100644
--- a/src/conf/domain_capabilities.h
+++ b/src/conf/domain_capabilities.h
@@ -213,6 +213,7 @@ struct _virDomainCaps {
virDomainCapsFeatureGIC gic;
virSEVCapability *sev;
/* add new domain features here */
+ virTDXCapability *tdx;
virTristateBool features[VIR_DOMAIN_CAPS_FEATURE_LAST];
};
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index a143e453f4..5e54d7e306 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -6332,6 +6332,17 @@ virQEMUCapsFillDomainFeatureSEVCaps(virQEMUCaps *qemuCaps,
domCaps->sev->reduced_phys_bits = cap->reduced_phys_bits;
}
+static void
+virQEMUCapsFillDomainFeatureTDXCaps(virQEMUCaps *qemuCaps,
+ virDomainCaps *domCaps)
+{
+ virTDXCapability *cap = qemuCaps->tdxCapabilities;
+
+ if (!cap)
+ return;
+
+ domCaps->tdx = g_new0(virTDXCapability, 1);
+}
int
virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps,
@@ -6379,6 +6390,7 @@ virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps,
virQEMUCapsFillDomainDeviceFSCaps(qemuCaps, filesystem);
virQEMUCapsFillDomainFeatureGICCaps(qemuCaps, domCaps);
virQEMUCapsFillDomainFeatureSEVCaps(qemuCaps, domCaps);
+ virQEMUCapsFillDomainFeatureTDXCaps(qemuCaps, domCaps);
return 0;
}
diff --git a/tests/domaincapsdata/bhyve_basic.x86_64.xml
b/tests/domaincapsdata/bhyve_basic.x86_64.xml
index 745f325531..40e853c560 100644
--- a/tests/domaincapsdata/bhyve_basic.x86_64.xml
+++ b/tests/domaincapsdata/bhyve_basic.x86_64.xml
@@ -33,5 +33,6 @@
<vmcoreinfo supported='no'/>
<genid supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/bhyve_fbuf.x86_64.xml
b/tests/domaincapsdata/bhyve_fbuf.x86_64.xml
index bb11c02ae9..87f98b6bba 100644
--- a/tests/domaincapsdata/bhyve_fbuf.x86_64.xml
+++ b/tests/domaincapsdata/bhyve_fbuf.x86_64.xml
@@ -50,5 +50,6 @@
<vmcoreinfo supported='no'/>
<genid supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/bhyve_uefi.x86_64.xml
b/tests/domaincapsdata/bhyve_uefi.x86_64.xml
index dfd2360d74..9409257887 100644
--- a/tests/domaincapsdata/bhyve_uefi.x86_64.xml
+++ b/tests/domaincapsdata/bhyve_uefi.x86_64.xml
@@ -42,5 +42,6 @@
<vmcoreinfo supported='no'/>
<genid supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/empty.xml b/tests/domaincapsdata/empty.xml
index d3e2d89b60..ba47d8c5be 100644
--- a/tests/domaincapsdata/empty.xml
+++ b/tests/domaincapsdata/empty.xml
@@ -13,5 +13,6 @@
</devices>
<features>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/libxl-xenfv.xml b/tests/domaincapsdata/libxl-xenfv.xml
index cc5b3847e2..4c335ab7ee 100644
--- a/tests/domaincapsdata/libxl-xenfv.xml
+++ b/tests/domaincapsdata/libxl-xenfv.xml
@@ -76,5 +76,6 @@
<vmcoreinfo supported='no'/>
<genid supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/libxl-xenpv.xml b/tests/domaincapsdata/libxl-xenpv.xml
index 325f1e50b3..c2fa55472b 100644
--- a/tests/domaincapsdata/libxl-xenpv.xml
+++ b/tests/domaincapsdata/libxl-xenpv.xml
@@ -66,5 +66,6 @@
<vmcoreinfo supported='no'/>
<genid supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml
index f5714298c1..6eb612ea05 100644
--- a/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml
@@ -172,5 +172,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml
index 1392f7c50e..2bce2140e7 100644
--- a/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml
@@ -185,5 +185,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.11.0.s390x.xml
b/tests/domaincapsdata/qemu_2.11.0.s390x.xml
index cd3ab38bc4..c6f1d26d8f 100644
--- a/tests/domaincapsdata/qemu_2.11.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_2.11.0.s390x.xml
@@ -207,5 +207,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.11.0.x86_64.xml
b/tests/domaincapsdata/qemu_2.11.0.x86_64.xml
index 0dde7c65c6..1e86efe77d 100644
--- a/tests/domaincapsdata/qemu_2.11.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.11.0.x86_64.xml
@@ -172,5 +172,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml
index f7db0b4cc7..b85b1b3ada 100644
--- a/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml
@@ -189,5 +189,6 @@
<cbitpos>47</cbitpos>
<reducedPhysBits>1</reducedPhysBits>
</sev>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml
index cb26512256..20201dd795 100644
--- a/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml
@@ -199,5 +199,6 @@
<cbitpos>47</cbitpos>
<reducedPhysBits>1</reducedPhysBits>
</sev>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml
b/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml
index de41f9c859..27c66b49d6 100644
--- a/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml
@@ -160,5 +160,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.12.0.aarch64.xml
b/tests/domaincapsdata/qemu_2.12.0.aarch64.xml
index 0d2ed1058e..bc99972431 100644
--- a/tests/domaincapsdata/qemu_2.12.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_2.12.0.aarch64.xml
@@ -154,5 +154,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.12.0.ppc64.xml
b/tests/domaincapsdata/qemu_2.12.0.ppc64.xml
index e01f2c6fec..0598a24191 100644
--- a/tests/domaincapsdata/qemu_2.12.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_2.12.0.ppc64.xml
@@ -124,5 +124,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.12.0.s390x.xml
b/tests/domaincapsdata/qemu_2.12.0.s390x.xml
index 418db98294..5c6f3f7e93 100644
--- a/tests/domaincapsdata/qemu_2.12.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_2.12.0.s390x.xml
@@ -206,5 +206,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.12.0.x86_64.xml
b/tests/domaincapsdata/qemu_2.12.0.x86_64.xml
index 1ce380cea7..761b436f0a 100644
--- a/tests/domaincapsdata/qemu_2.12.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.12.0.x86_64.xml
@@ -189,5 +189,6 @@
<cbitpos>47</cbitpos>
<reducedPhysBits>1</reducedPhysBits>
</sev>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml
index 3ae03de391..608bed8bdd 100644
--- a/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml
@@ -147,5 +147,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml
index 461cc4c102..0afd91ea7b 100644
--- a/tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml
@@ -143,5 +143,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.4.0.x86_64.xml
b/tests/domaincapsdata/qemu_2.4.0.x86_64.xml
index e1af5b6622..cafa271e87 100644
--- a/tests/domaincapsdata/qemu_2.4.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.4.0.x86_64.xml
@@ -147,5 +147,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml
index f46991ca27..a361bc3343 100644
--- a/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml
@@ -147,5 +147,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml
index 82edcbfac6..182814b589 100644
--- a/tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml
@@ -143,5 +143,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.5.0.x86_64.xml
b/tests/domaincapsdata/qemu_2.5.0.x86_64.xml
index 57f9f9b41b..86edf760cb 100644
--- a/tests/domaincapsdata/qemu_2.5.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.5.0.x86_64.xml
@@ -147,5 +147,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml
index 8bcd8f92ab..dcbff499f1 100644
--- a/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml
@@ -147,5 +147,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml
index 2a7b46f775..bdfbf4b5de 100644
--- a/tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml
@@ -143,5 +143,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml
b/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml
index 14cab3f557..3af9d4d305 100644
--- a/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml
@@ -145,5 +145,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.6.0.aarch64.xml
b/tests/domaincapsdata/qemu_2.6.0.aarch64.xml
index f84e648a15..44bc9f74e4 100644
--- a/tests/domaincapsdata/qemu_2.6.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_2.6.0.aarch64.xml
@@ -139,5 +139,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.6.0.ppc64.xml
b/tests/domaincapsdata/qemu_2.6.0.ppc64.xml
index 7f9372a359..b9a18e64be 100644
--- a/tests/domaincapsdata/qemu_2.6.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_2.6.0.ppc64.xml
@@ -112,5 +112,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.6.0.x86_64.xml
b/tests/domaincapsdata/qemu_2.6.0.x86_64.xml
index 4eeec1a22b..c03140a147 100644
--- a/tests/domaincapsdata/qemu_2.6.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.6.0.x86_64.xml
@@ -147,5 +147,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml
index 537941561b..63cfb38d65 100644
--- a/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml
@@ -148,5 +148,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml
index 79f5fba212..4d35f5d249 100644
--- a/tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml
@@ -144,5 +144,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.7.0.s390x.xml
b/tests/domaincapsdata/qemu_2.7.0.s390x.xml
index f76564a9bc..0b6310751b 100644
--- a/tests/domaincapsdata/qemu_2.7.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_2.7.0.s390x.xml
@@ -104,5 +104,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.7.0.x86_64.xml
b/tests/domaincapsdata/qemu_2.7.0.x86_64.xml
index 1dd19dfc37..5a54c5290a 100644
--- a/tests/domaincapsdata/qemu_2.7.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.7.0.x86_64.xml
@@ -148,5 +148,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml
index e0bb1b1eee..1fba86335b 100644
--- a/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml
@@ -148,5 +148,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml
index 1829fbda60..0c3f5b55cc 100644
--- a/tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml
@@ -144,5 +144,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.8.0.s390x.xml
b/tests/domaincapsdata/qemu_2.8.0.s390x.xml
index 2c075d7cdb..9a01625f53 100644
--- a/tests/domaincapsdata/qemu_2.8.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_2.8.0.s390x.xml
@@ -185,5 +185,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.8.0.x86_64.xml
b/tests/domaincapsdata/qemu_2.8.0.x86_64.xml
index 5f55b0730d..d828088d3d 100644
--- a/tests/domaincapsdata/qemu_2.8.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.8.0.x86_64.xml
@@ -148,5 +148,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml
index 797b970040..ef36127e42 100644
--- a/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml
@@ -162,5 +162,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml
index b47c426f1b..79f5fe264f 100644
--- a/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml
@@ -181,5 +181,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.9.0.ppc64.xml
b/tests/domaincapsdata/qemu_2.9.0.ppc64.xml
index 2523d6ec6b..ad4a226c17 100644
--- a/tests/domaincapsdata/qemu_2.9.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_2.9.0.ppc64.xml
@@ -112,5 +112,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.9.0.s390x.xml
b/tests/domaincapsdata/qemu_2.9.0.s390x.xml
index d5b58a786d..abefc63400 100644
--- a/tests/domaincapsdata/qemu_2.9.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_2.9.0.s390x.xml
@@ -186,5 +186,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_2.9.0.x86_64.xml
b/tests/domaincapsdata/qemu_2.9.0.x86_64.xml
index 7716e9d381..410fb1ad1a 100644
--- a/tests/domaincapsdata/qemu_2.9.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_2.9.0.x86_64.xml
@@ -162,5 +162,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml
index 6dfb6135b3..bdc93a8055 100644
--- a/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml
@@ -187,5 +187,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml
index 3c12f79f3a..c1248a8135 100644
--- a/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml
@@ -199,5 +199,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_3.0.0.ppc64.xml
b/tests/domaincapsdata/qemu_3.0.0.ppc64.xml
index 86dd4a0c39..2227523c5c 100644
--- a/tests/domaincapsdata/qemu_3.0.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_3.0.0.ppc64.xml
@@ -126,5 +126,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_3.0.0.s390x.xml
b/tests/domaincapsdata/qemu_3.0.0.s390x.xml
index d4443bde20..9d8e356c67 100644
--- a/tests/domaincapsdata/qemu_3.0.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_3.0.0.s390x.xml
@@ -213,5 +213,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_3.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_3.0.0.x86_64.xml
index 1abdc89c38..aa40eb31ff 100644
--- a/tests/domaincapsdata/qemu_3.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_3.0.0.x86_64.xml
@@ -187,5 +187,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml
index fd7fe4794a..07fccfee25 100644
--- a/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml
@@ -190,5 +190,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml
index 424c3e4e51..4fab773a8a 100644
--- a/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml
@@ -202,5 +202,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_3.1.0.ppc64.xml
b/tests/domaincapsdata/qemu_3.1.0.ppc64.xml
index 65dc3fbd72..521c426ee7 100644
--- a/tests/domaincapsdata/qemu_3.1.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_3.1.0.ppc64.xml
@@ -126,5 +126,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_3.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_3.1.0.x86_64.xml
index 409fd223bd..726a284b57 100644
--- a/tests/domaincapsdata/qemu_3.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_3.1.0.x86_64.xml
@@ -190,5 +190,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml
index 89440e9312..572691bb48 100644
--- a/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml
@@ -190,5 +190,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml
index 43eaa1c6aa..d6ddc8a46c 100644
--- a/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml
@@ -203,5 +203,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml
b/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml
index 7f8a3ef8cd..de6b2f0f44 100644
--- a/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml
@@ -167,5 +167,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.0.0.aarch64.xml
b/tests/domaincapsdata/qemu_4.0.0.aarch64.xml
index 3570d5eec2..5dd7908379 100644
--- a/tests/domaincapsdata/qemu_4.0.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_4.0.0.aarch64.xml
@@ -161,5 +161,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.0.0.ppc64.xml
b/tests/domaincapsdata/qemu_4.0.0.ppc64.xml
index c33967e51f..43958b8dcc 100644
--- a/tests/domaincapsdata/qemu_4.0.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_4.0.0.ppc64.xml
@@ -127,5 +127,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.0.0.s390x.xml
b/tests/domaincapsdata/qemu_4.0.0.s390x.xml
index e0ff109ead..0401f50e64 100644
--- a/tests/domaincapsdata/qemu_4.0.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_4.0.0.s390x.xml
@@ -223,5 +223,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_4.0.0.x86_64.xml
index a4739c721a..51213283a0 100644
--- a/tests/domaincapsdata/qemu_4.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.0.0.x86_64.xml
@@ -190,5 +190,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml
index 4d3659bce9..fc077b4ce6 100644
--- a/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml
@@ -196,5 +196,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml
index 887c07d28f..545ec5a3e8 100644
--- a/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml
@@ -205,5 +205,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_4.1.0.x86_64.xml
index 4e07afd3d9..25a39b430b 100644
--- a/tests/domaincapsdata/qemu_4.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.1.0.x86_64.xml
@@ -196,5 +196,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
index 39646c7d1e..58a0ad469e 100644
--- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
@@ -204,5 +204,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml
index 5d7cea0f41..8102c2621d 100644
--- a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml
@@ -212,5 +212,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml
b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml
index 740dc1f15e..d3f219a105 100644
--- a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml
@@ -169,5 +169,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml
b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml
index a923d30e76..ecfccc6110 100644
--- a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml
@@ -163,5 +163,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml
b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml
index b09e401d5c..ed41c9835c 100644
--- a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml
@@ -128,5 +128,6 @@
<backingStoreInput supported='no'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0.s390x.xml
b/tests/domaincapsdata/qemu_4.2.0.s390x.xml
index a610c417f7..79f3cf2930 100644
--- a/tests/domaincapsdata/qemu_4.2.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.s390x.xml
@@ -238,5 +238,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
index 36e8bd2ff3..dc1c11a58a 100644
--- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
@@ -204,5 +204,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
index 4f7d1bdbbc..c98efaa0c9 100644
--- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
@@ -206,5 +206,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
index 97d1819482..36d39541e1 100644
--- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
@@ -213,5 +213,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml
b/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml
index dcad3b3833..b53a80e437 100644
--- a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml
@@ -170,5 +170,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml
b/tests/domaincapsdata/qemu_5.0.0.aarch64.xml
index ada3ebdb2b..6c4d4679c1 100644
--- a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0.aarch64.xml
@@ -164,5 +164,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml
b/tests/domaincapsdata/qemu_5.0.0.ppc64.xml
index 650188606c..18313f57f0 100644
--- a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0.ppc64.xml
@@ -129,5 +129,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
index 2bb72027ba..3c1b73e111 100644
--- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
@@ -206,5 +206,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
index 95d44575fd..84c5395ef5 100644
--- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
@@ -207,5 +207,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
index 3a4ec231f3..36bab4379f 100644
--- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
@@ -213,5 +213,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.1.0.sparc.xml
b/tests/domaincapsdata/qemu_5.1.0.sparc.xml
index 6f85a768e2..ef61bf8c13 100644
--- a/tests/domaincapsdata/qemu_5.1.0.sparc.xml
+++ b/tests/domaincapsdata/qemu_5.1.0.sparc.xml
@@ -105,5 +105,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
index 98dfb971a2..882ceb73de 100644
--- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
@@ -207,5 +207,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
index 1712c2113b..a7df147e44 100644
--- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
@@ -207,5 +207,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
index 754046fb6d..2a71d94ec8 100644
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
@@ -213,5 +213,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml
b/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml
index 27776a667b..b5ddfdbbf7 100644
--- a/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml
@@ -170,5 +170,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.2.0.aarch64.xml
b/tests/domaincapsdata/qemu_5.2.0.aarch64.xml
index ada3ebdb2b..6c4d4679c1 100644
--- a/tests/domaincapsdata/qemu_5.2.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.aarch64.xml
@@ -164,5 +164,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.2.0.ppc64.xml
b/tests/domaincapsdata/qemu_5.2.0.ppc64.xml
index 211f7b8ac6..105f9bd3c5 100644
--- a/tests/domaincapsdata/qemu_5.2.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.ppc64.xml
@@ -129,5 +129,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.2.0.s390x.xml
b/tests/domaincapsdata/qemu_5.2.0.s390x.xml
index 43905a6a85..f2e756fc23 100644
--- a/tests/domaincapsdata/qemu_5.2.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.s390x.xml
@@ -240,5 +240,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
index daf43d222c..fef5abef40 100644
--- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
@@ -207,5 +207,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
index 98edd3e37d..580f0a6778 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -211,5 +211,6 @@
<cbitpos>47</cbitpos>
<reducedPhysBits>1</reducedPhysBits>
</sev>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
index 7b4cd0160a..f8c552a1be 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -217,5 +217,6 @@
<cbitpos>47</cbitpos>
<reducedPhysBits>1</reducedPhysBits>
</sev>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_6.0.0.s390x.xml
b/tests/domaincapsdata/qemu_6.0.0.s390x.xml
index d384f0859b..d69ac0c9f3 100644
--- a/tests/domaincapsdata/qemu_6.0.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.s390x.xml
@@ -241,5 +241,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
index 7122c89497..f4b4a2bf25 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -211,5 +211,6 @@
<cbitpos>47</cbitpos>
<reducedPhysBits>1</reducedPhysBits>
</sev>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
index 057824d795..d8d6ac64f7 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -211,5 +211,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
index 6c84207231..d5938428d7 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -214,5 +214,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
index 1934035547..2ab68a6bd4 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -211,5 +211,6 @@
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<sev supported='no'/>
+ <tdx supported='no'/>
</features>
</domainCapabilities>
--
2.25.1