]> git.proxmox.com Git - mirror_qemu.git/commitdiff
tpm: Improve help on TPM types when none are available
authorMarkus Armbruster <armbru@redhat.com>
Thu, 23 Jul 2020 11:58:45 +0000 (13:58 +0200)
committerStefan Berger <stefanb@linux.vnet.ibm.com>
Fri, 24 Jul 2020 16:44:13 +0000 (12:44 -0400)
Help is a bit awkward when no TPM types are built into QEMU:

    $ qemu-system-x86_64 -tpmdev nonexistent,id=tpm0
    qemu-system-x86_64: -tpmdev nonexistent,id=tpm0: Parameter 'type' expects a TPM backend type
    Supported TPM types (choose only one):

Improve to

    qemu-system-x86_64: -tpmdev nonexistent,id=tpm0: Parameter 'type' expects a TPM backend type
    No TPM backend types are available

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
tpm.c

diff --git a/tpm.c b/tpm.c
index f6045bb6da8c6e0a1a1a10d1077085146730c9c5..cab206355afdcb0a3cf1d36ca21aeb45a56f5232 100644 (file)
--- a/tpm.c
+++ b/tpm.c
@@ -47,18 +47,23 @@ tpm_be_find_by_type(enum TpmType type)
  */
 static void tpm_display_backend_drivers(void)
 {
+    bool got_one = false;
     int i;
 
-    fprintf(stderr, "Supported TPM types (choose only one):\n");
-
     for (i = 0; i < TPM_TYPE__MAX; i++) {
         const TPMBackendClass *bc = tpm_be_find_by_type(i);
         if (!bc) {
             continue;
         }
-        fprintf(stderr, "%12s   %s\n", TpmType_str(i), bc->desc);
+        if (!got_one) {
+            error_printf("Supported TPM types (choose only one):\n");
+            got_one = true;
+        }
+        error_printf("%12s   %s\n", TpmType_str(i), bc->desc);
+    }
+    if (!got_one) {
+        error_printf("No TPM backend types are available\n");
     }
-    fprintf(stderr, "\n");
 }
 
 /*