blob: d7a2bd85562523367c24ec07feed7c77227da7c1 [file] [log] [blame]
/*
* Public TPM functions
*
* Copyright (C) 2011-2013 IBM Corporation
*
* Authors:
* Stefan Berger <stefanb@us.ibm.com>
*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
*/
#ifndef QEMU_TPM_H
#define QEMU_TPM_H
#include "qemu/option.h"
#include "qom/object.h"
typedef struct TPMState TPMState;
int tpm_config_parse(QemuOptsList *opts_list, const char *optarg);
int tpm_init(void);
void tpm_cleanup(void);
typedef enum TPMVersion {
TPM_VERSION_UNSPEC = 0,
TPM_VERSION_1_2 = 1,
TPM_VERSION_2_0 = 2,
} TPMVersion;
TPMVersion tpm_tis_get_tpm_version(Object *obj);
#define TYPE_TPM_TIS "tpm-tis"
static inline TPMVersion tpm_get_version(void)
{
#ifdef CONFIG_TPM
Object *obj = object_resolve_path_type("", TYPE_TPM_TIS, NULL);
if (obj) {
return tpm_tis_get_tpm_version(obj);
}
#endif
return TPM_VERSION_UNSPEC;
}
#endif /* QEMU_TPM_H */