4 * Copyright (C) 2011-2013 IBM Corporation
7 * Stefan Berger <stefanb@us.ibm.com>
9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
10 * See the COPYING file in the top-level directory.
12 #ifndef BACKENDS_TPM_INT_H
13 #define BACKENDS_TPM_INT_H
15 #include "qemu/option.h"
16 #include "sysemu/tpm.h"
18 #define TPM_STANDARD_CMDLINE_OPTS \
21 .type = QEMU_OPT_STRING, \
22 .help = "Type of TPM backend", \
37 #define TPM_TAG_RQU_COMMAND 0xc1
38 #define TPM_TAG_RQU_AUTH1_COMMAND 0xc2
39 #define TPM_TAG_RQU_AUTH2_COMMAND 0xc3
41 #define TPM_TAG_RSP_COMMAND 0xc4
42 #define TPM_TAG_RSP_AUTH1_COMMAND 0xc5
43 #define TPM_TAG_RSP_AUTH2_COMMAND 0xc6
45 #define TPM_BAD_PARAMETER 3
47 #define TPM_KEYNOTFOUND 13
48 #define TPM_BAD_PARAM_SIZE 25
49 #define TPM_ENCRYPT_ERROR 32
50 #define TPM_DECRYPT_ERROR 33
51 #define TPM_BAD_KEY_PROPERTY 40
52 #define TPM_BAD_MODE 44
53 #define TPM_BAD_VERSION 46
54 #define TPM_BAD_LOCALITY 61
56 #define TPM_ORD_ContinueSelfTest 0x53
57 #define TPM_ORD_GetTicks 0xf1
58 #define TPM_ORD_GetCapability 0x65
60 #define TPM_CAP_PROPERTY 0x05
62 #define TPM_CAP_PROP_INPUT_BUFFER 0x124
65 #define TPM2_ST_NO_SESSIONS 0x8001
67 #define TPM2_CC_ReadClock 0x00000181
68 #define TPM2_CC_GetCapability 0x0000017a
70 #define TPM2_CAP_TPM_PROPERTIES 0x6
72 #define TPM2_PT_MAX_COMMAND_SIZE 0x11e
74 #define TPM_RC_INSUFFICIENT 0x9a
75 #define TPM_RC_FAILURE 0x101
76 #define TPM_RC_LOCALITY 0x907
78 int tpm_util_get_buffer_size(int tpm_fd
, TPMVersion tpm_version
,
81 typedef struct TPMSizedBuffer
{
86 void tpm_sized_buffer_reset(TPMSizedBuffer
*tsb
);
88 #endif /* BACKENDS_TPM_INT_H */