[PATCH] conf: Set SPAPR TPM default to 2.0 and prevent 1.2 choice

Stefan Berger stefanb at linux.vnet.ibm.com
Wed Jul 8 13:30:50 UTC 2020


From: Stefan Berger <stefanb at linux.ibm.com>

The firmware (SLOF) on QEMU for ppc64 does not support TPM 1.2, so
prevent the choice of TPM 1.2 when the SPAPR device model is chosen
and use a default of '2.0' (TPM 2) for the emulator.

Signed-off-by: Stefan Berger <stefanb at linux.ibm.com>
---
 src/conf/domain_conf.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 2f4528d336..749d135f96 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -13633,7 +13633,10 @@ virDomainTPMDefParseXML(virDomainXMLOptionPtr xmlopt,
 
     version = virXMLPropString(backends[0], "version");
     if (!version) {
-        def->version = VIR_DOMAIN_TPM_VERSION_DEFAULT;
+        if (def->model == VIR_DOMAIN_TPM_MODEL_SPAPR)
+            def->version = VIR_DOMAIN_TPM_VERSION_2_0;
+        else
+            def->version = VIR_DOMAIN_TPM_VERSION_DEFAULT;
     } else {
         if ((def->version = virDomainTPMVersionTypeFromString(version)) < 0) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
@@ -13641,6 +13644,12 @@ virDomainTPMDefParseXML(virDomainXMLOptionPtr xmlopt,
                            version);
             goto error;
         }
+        if (def->version == VIR_DOMAIN_TPM_VERSION_1_2 &&
+            def->model == VIR_DOMAIN_TPM_MODEL_SPAPR) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                           _("TPM 1.2 is not supported with the SPAPR device model"));
+            goto error;
+        }
     }
 
     switch (def->type) {
-- 
2.17.1




More information about the libvir-list mailing list