From bb71623811686ce3c34ce724f073f5c5dd95f51b Mon Sep 17 00:00:00 2001 From: Stefan Berger Date: Mon, 22 Apr 2013 10:41:39 -0400 Subject: Move TPM passthrough specific command line options to backend structure Move the TPM passthrough specific command line options to the passthrough backend implementation and attach them to the backend's interface structure. Add code to tpm.c for validating the TPM command line options. Signed-off-by: Stefan Berger Reviewed-by: Corey Bryan Message-id: 1366641699-21420-1-git-send-email-stefanb@linux.vnet.ibm.com Signed-off-by: Anthony Liguori --- hw/tpm/tpm_int.h | 7 +++++++ hw/tpm/tpm_passthrough.c | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) (limited to 'hw/tpm') diff --git a/hw/tpm/tpm_int.h b/hw/tpm/tpm_int.h index 08f87cb9a8..2f582caaee 100644 --- a/hw/tpm/tpm_int.h +++ b/hw/tpm/tpm_int.h @@ -33,6 +33,13 @@ struct TPMState { #define TPM(obj) OBJECT_CHECK(TPMState, (obj), TYPE_TPM_TIS) +#define TPM_STANDARD_CMDLINE_OPTS \ + { \ + .name = "type", \ + .type = QEMU_OPT_STRING, \ + .help = "Type of TPM backend", \ + } + struct tpm_req_hdr { uint16_t tag; uint32_t len; diff --git a/hw/tpm/tpm_passthrough.c b/hw/tpm/tpm_passthrough.c index ce74e97043..56e9e0f8a2 100644 --- a/hw/tpm/tpm_passthrough.c +++ b/hw/tpm/tpm_passthrough.c @@ -488,8 +488,24 @@ static void tpm_passthrough_destroy(TPMBackend *tb) g_free(tpm_pt->tpm_dev); } +static const QemuOptDesc tpm_passthrough_cmdline_opts[] = { + TPM_STANDARD_CMDLINE_OPTS, + { + .name = "cancel-path", + .type = QEMU_OPT_STRING, + .help = "Sysfs file entry for canceling TPM commands", + }, + { + .name = "path", + .type = QEMU_OPT_STRING, + .help = "Path to TPM device on the host", + }, + { /* end of list */ }, +}; + static const TPMDriverOps tpm_passthrough_driver = { .type = TPM_TYPE_PASSTHROUGH, + .opts = tpm_passthrough_cmdline_opts, .desc = tpm_passthrough_create_desc, .create = tpm_passthrough_create, .destroy = tpm_passthrough_destroy, -- cgit v1.2.1