[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v1 10/32] tpm-be: update optional function pointers
From: |
Stefan Berger |
Subject: |
[Qemu-devel] [PULL v1 10/32] tpm-be: update optional function pointers |
Date: |
Sat, 16 Dec 2017 12:41:27 -0500 |
From: Marc-André Lureau <address@hidden>
QEMU code doesn't generally have assert() for mandatory
callbacks/function pointers, probably because the crash is pretty
obvious. Document the methods instead of going into the code.
Make get_tpm_options() mandatory to implement (since all
backend implementation have it).
Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Stefan Berger <address@hidden>
Signed-off-by: Stefan Berger <address@hidden>
---
backends/tpm.c | 9 +--------
include/sysemu/tpm_backend.h | 5 ++++-
2 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/backends/tpm.c b/backends/tpm.c
index 7e636fb..7777467 100644
--- a/backends/tpm.c
+++ b/backends/tpm.c
@@ -33,7 +33,6 @@ static void tpm_backend_worker_thread(gpointer data, gpointer
user_data)
TPMBackend *s = TPM_BACKEND(user_data);
TPMBackendClass *k = TPM_BACKEND_GET_CLASS(s);
- assert(k->handle_request != NULL);
k->handle_request(s, (TPMBackendCmd *)data);
qemu_bh_schedule(s->bh);
@@ -114,8 +113,6 @@ void tpm_backend_cancel_cmd(TPMBackend *s)
{
TPMBackendClass *k = TPM_BACKEND_GET_CLASS(s);
- assert(k->cancel_cmd);
-
k->cancel_cmd(s);
}
@@ -139,8 +136,6 @@ TPMVersion tpm_backend_get_tpm_version(TPMBackend *s)
{
TPMBackendClass *k = TPM_BACKEND_GET_CLASS(s);
- assert(k->get_tpm_version);
-
return k->get_tpm_version(s);
}
@@ -152,9 +147,7 @@ TPMInfo *tpm_backend_query_tpm(TPMBackend *s)
info->id = g_strdup(s->id);
info->model = tic->model;
- if (k->get_tpm_options) {
- info->options = k->get_tpm_options(s);
- }
+ info->options = k->get_tpm_options(s);
return info;
}
diff --git a/include/sysemu/tpm_backend.h b/include/sysemu/tpm_backend.h
index 904e5b1..ce8dee5 100644
--- a/include/sysemu/tpm_backend.h
+++ b/include/sysemu/tpm_backend.h
@@ -65,15 +65,18 @@ struct TPMBackendClass {
TPMBackend *(*create)(QemuOpts *opts, const char *id);
- /* start up the TPM on the backend */
+ /* start up the TPM on the backend - optional */
int (*startup_tpm)(TPMBackend *t);
+ /* optional */
void (*reset)(TPMBackend *t);
void (*cancel_cmd)(TPMBackend *t);
+ /* optional */
bool (*get_tpm_established_flag)(TPMBackend *t);
+ /* optional */
int (*reset_tpm_established_flag)(TPMBackend *t, uint8_t locty);
TPMVersion (*get_tpm_version)(TPMBackend *t);
--
2.5.5
- [Qemu-devel] [PULL v1 01/32] tpm-tis: remove unused locty_number, (continued)
- [Qemu-devel] [PULL v1 01/32] tpm-tis: remove unused locty_number, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 02/32] tpm: move TpmIf in include/sysemu/tpm.h, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 03/32] tpm-backend: store TPMIf interface, improve backend_init(), Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 07/32] tpm-be: ask model to the TPM interface, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 06/32] tpm-be: report error instead of front-end, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 05/32] tpm-be: call request_completed() out of thread, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 04/32] tpm-tis: no longer expose TPMState, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 08/32] tpm: remove unused opened code, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 13/32] tpm-passthrough: make it safer to destroy after creation, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 11/32] tpm-passthrough: pass TPMPassthruState to handle_device_opts, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 10/32] tpm-be: update optional function pointers,
Stefan Berger <=
- [Qemu-devel] [PULL v1 09/32] tpm-passthrough: don't save guessed cancel_path in options, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 12/32] tpm-backend: move set 'id' to common code, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 15/32] tpm-passthrough: workaround a possible race, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 14/32] tpm-passthrough: simplify create(), Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 17/32] tpm: rename qemu_find_tpm() -> qemu_find_tpm_be(), Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 18/32] tpm: lookup the the TPM interface instead of TIS device, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 16/32] tpm-tis: simplify header inclusion, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 20/32] tpm: add tpm_cmd_get_size() to tpm_util, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 19/32] tpm: add TPM interface to lookup TPM version, Stefan Berger, 2017/12/16
- [Qemu-devel] [PULL v1 21/32] acpi: change TPM TIS data conditions, Stefan Berger, 2017/12/16