tpm_emulator: Report an error if chardev is missing
commit88f830745721ba8c9e9d2831c01045a6f130c1a6
authorStefan Berger <stefanb@linux.vnet.ibm.com>
Fri, 24 Jul 2020 12:57:26 +0000 (24 08:57 -0400)
committerStefan Berger <stefanb@linux.vnet.ibm.com>
Fri, 24 Jul 2020 16:44:13 +0000 (24 12:44 -0400)
tree88f0502f6159ccc3d25e6c9d7d3b9114efdbc8a1
parent5a6791c3d4a7719e8d0797afe0e2822a54bda6a2
tpm_emulator: Report an error if chardev is missing

This patch fixes the odd error reporting when trying to send a file
descriptor to the TPM emulator if one has not passed a valid chardev.

$ x86_64-softmmu/qemu-system-x86_64 -tpmdev emulator,id=tpm0
qemu-system-x86_64: -tpmdev emulator,id=tpm0: tpm-emulator: Failed to send CMD_SET_DATAFD: Success
qemu-system-x86_64: -tpmdev emulator,id=tpm0: tpm-emulator: Could not cleanly shutdown the TPM: Success

This is the new error report:

$ x86_64-softmmu/qemu-system-x86_64 -tpmdev emulator,id=tpm0
qemu-system-x86_64: -tpmdev emulator,id=tpm0: tpm-emulator: parameter 'chardev' is missing

This change does not hide the display of supported TPM types if a non-existent type is passed:

$ x86_64-softmmu/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):
 passthrough   Passthrough TPM backend driver
    emulator   TPM emulator backend driver

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
backends/tpm/tpm_emulator.c