diff options
Diffstat (limited to 'include/sysemu/tpm.h')
-rw-r--r-- | include/sysemu/tpm.h | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/include/sysemu/tpm.h b/include/sysemu/tpm.h deleted file mode 100644 index 1ee568b..0000000 --- a/include/sysemu/tpm.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * 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 "qapi/qapi-types-tpm.h" -#include "qom/object.h" - -#ifdef CONFIG_TPM - -int tpm_config_parse(QemuOptsList *opts_list, const char *optstr); -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; - -#define TYPE_TPM_IF "tpm-if" -typedef struct TPMIfClass TPMIfClass; -DECLARE_CLASS_CHECKERS(TPMIfClass, TPM_IF, - TYPE_TPM_IF) -#define TPM_IF(obj) \ - INTERFACE_CHECK(TPMIf, (obj), TYPE_TPM_IF) - -typedef struct TPMIf TPMIf; - -struct TPMIfClass { - InterfaceClass parent_class; - - enum TpmModel model; - void (*request_completed)(TPMIf *obj, int ret); - enum TPMVersion (*get_version)(TPMIf *obj); -}; - -#define TYPE_TPM_TIS_ISA "tpm-tis" -#define TYPE_TPM_TIS_SYSBUS "tpm-tis-device" -#define TYPE_TPM_CRB "tpm-crb" -#define TYPE_TPM_SPAPR "tpm-spapr" -#define TYPE_TPM_TIS_I2C "tpm-tis-i2c" - -#define TPM_IS_TIS_ISA(chr) \ - object_dynamic_cast(OBJECT(chr), TYPE_TPM_TIS_ISA) -#define TPM_IS_TIS_SYSBUS(chr) \ - object_dynamic_cast(OBJECT(chr), TYPE_TPM_TIS_SYSBUS) -#define TPM_IS_CRB(chr) \ - object_dynamic_cast(OBJECT(chr), TYPE_TPM_CRB) -#define TPM_IS_SPAPR(chr) \ - object_dynamic_cast(OBJECT(chr), TYPE_TPM_SPAPR) -#define TPM_IS_TIS_I2C(chr) \ - object_dynamic_cast(OBJECT(chr), TYPE_TPM_TIS_I2C) - -/* returns NULL unless there is exactly one TPM device */ -static inline TPMIf *tpm_find(void) -{ - Object *obj = object_resolve_path_type("", TYPE_TPM_IF, NULL); - - return TPM_IF(obj); -} - -static inline TPMVersion tpm_get_version(TPMIf *ti) -{ - if (!ti) { - return TPM_VERSION_UNSPEC; - } - - return TPM_IF_GET_CLASS(ti)->get_version(ti); -} - -#else /* CONFIG_TPM */ - -#define tpm_init() (0) -#define tpm_cleanup() - -/* needed for an alignment check in non-tpm code */ -static inline Object *TPM_IS_CRB(Object *obj) -{ - return NULL; -} - -#endif /* CONFIG_TPM */ - -#endif /* QEMU_TPM_H */ |