Skip to content

Commit

Permalink
tpm: add TPM interface to lookup TPM version
Browse files Browse the repository at this point in the history
Do not hardcode TPM device model to lookup version, use an interface
instead.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
  • Loading branch information
elmarco authored and stefanberger committed Dec 15, 2017
1 parent 3dfd5a2 commit 9af7a72
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
5 changes: 3 additions & 2 deletions hw/tpm/tpm_tis.c
Expand Up @@ -990,9 +990,9 @@ static void tpm_tis_realloc_buffer(TPMSizedBuffer *sb)
/*
* Get the TPMVersion of the backend device being used
*/
TPMVersion tpm_tis_get_tpm_version(Object *obj)
static enum TPMVersion tpm_tis_get_tpm_version(TPMIf *ti)
{
TPMState *s = TPM(obj);
TPMState *s = TPM(ti);

if (tpm_backend_had_startup_error(s->be_driver)) {
return TPM_VERSION_UNSPEC;
Expand Down Expand Up @@ -1102,6 +1102,7 @@ static void tpm_tis_class_init(ObjectClass *klass, void *data)
dc->reset = tpm_tis_reset;
dc->vmsd = &vmstate_tpm_tis;
tc->model = TPM_MODEL_TPM_TIS;
tc->get_version = tpm_tis_get_tpm_version;
tc->request_completed = tpm_tis_request_completed;
}

Expand Down
5 changes: 2 additions & 3 deletions include/sysemu/tpm.h
Expand Up @@ -42,6 +42,7 @@ typedef struct TPMIfClass {

enum TpmModel model;
void (*request_completed)(TPMIf *obj);
enum TPMVersion (*get_version)(TPMIf *obj);
} TPMIfClass;

#define TYPE_TPM_TIS "tpm-tis"
Expand All @@ -54,15 +55,13 @@ static inline TPMIf *tpm_find(void)
return TPM_IF(obj);
}

TPMVersion tpm_tis_get_tpm_version(Object *obj);

static inline TPMVersion tpm_get_version(TPMIf *ti)
{
if (!ti) {
return TPM_VERSION_UNSPEC;
}

return tpm_tis_get_tpm_version(OBJECT(ti));
return TPM_IF_GET_CLASS(ti)->get_version(ti);
}

#endif /* QEMU_TPM_H */

0 comments on commit 9af7a72

Please sign in to comment.