xref: /openbmc/qemu/include/sysemu/tpm.h (revision 5cb18b3d)
1bdee56f5SPaolo Bonzini /*
2bdee56f5SPaolo Bonzini  * Public TPM functions
3bdee56f5SPaolo Bonzini  *
4bdee56f5SPaolo Bonzini  * Copyright (C) 2011-2013 IBM Corporation
5bdee56f5SPaolo Bonzini  *
6bdee56f5SPaolo Bonzini  * Authors:
7bdee56f5SPaolo Bonzini  *  Stefan Berger    <stefanb@us.ibm.com>
8bdee56f5SPaolo Bonzini  *
9bdee56f5SPaolo Bonzini  * This work is licensed under the terms of the GNU GPL, version 2 or later.
10bdee56f5SPaolo Bonzini  * See the COPYING file in the top-level directory.
11bdee56f5SPaolo Bonzini  */
12bdee56f5SPaolo Bonzini #ifndef QEMU_TPM_H
13bdee56f5SPaolo Bonzini #define QEMU_TPM_H
14bdee56f5SPaolo Bonzini 
15bdee56f5SPaolo Bonzini #include "qemu/option.h"
16bdee56f5SPaolo Bonzini 
17bdee56f5SPaolo Bonzini typedef struct TPMState TPMState;
18bdee56f5SPaolo Bonzini 
19bdee56f5SPaolo Bonzini int tpm_config_parse(QemuOptsList *opts_list, const char *optarg);
20bdee56f5SPaolo Bonzini int tpm_init(void);
21bdee56f5SPaolo Bonzini void tpm_cleanup(void);
22bdee56f5SPaolo Bonzini 
23116694c3SStefan Berger typedef enum  TPMVersion {
24116694c3SStefan Berger     TPM_VERSION_UNSPEC = 0,
25116694c3SStefan Berger     TPM_VERSION_1_2 = 1,
26116694c3SStefan Berger     TPM_VERSION_2_0 = 2,
27116694c3SStefan Berger } TPMVersion;
28116694c3SStefan Berger 
29*5cb18b3dSStefan Berger TPMVersion tpm_tis_get_tpm_version(Object *obj);
30*5cb18b3dSStefan Berger 
31711b20b4SStefan Berger #define TYPE_TPM_TIS                "tpm-tis"
32711b20b4SStefan Berger 
33*5cb18b3dSStefan Berger static inline TPMVersion tpm_get_version(void)
34711b20b4SStefan Berger {
35*5cb18b3dSStefan Berger     Object *obj = object_resolve_path_type("", TYPE_TPM_TIS, NULL);
36*5cb18b3dSStefan Berger 
37*5cb18b3dSStefan Berger     if (obj) {
38*5cb18b3dSStefan Berger         return tpm_tis_get_tpm_version(obj);
39*5cb18b3dSStefan Berger     }
40*5cb18b3dSStefan Berger     return TPM_VERSION_UNSPEC;
41711b20b4SStefan Berger }
42711b20b4SStefan Berger 
43bdee56f5SPaolo Bonzini #endif /* QEMU_TPM_H */
44