1 | /* |
2 | * TPM configuration |
3 | * |
4 | * Copyright (C) 2011-2013 IBM Corporation |
5 | * |
6 | * Authors: |
7 | * Stefan Berger <stefanb@us.ibm.com> |
8 | * |
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. |
11 | */ |
12 | #ifndef TPM_TPM_INT_H |
13 | #define TPM_TPM_INT_H |
14 | |
15 | #define TPM_STANDARD_CMDLINE_OPTS \ |
16 | { \ |
17 | .name = "type", \ |
18 | .type = QEMU_OPT_STRING, \ |
19 | .help = "Type of TPM backend", \ |
20 | } |
21 | |
22 | struct tpm_req_hdr { |
23 | uint16_t tag; |
24 | uint32_t len; |
25 | uint32_t ordinal; |
26 | } QEMU_PACKED; |
27 | |
28 | struct tpm_resp_hdr { |
29 | uint16_t tag; |
30 | uint32_t len; |
31 | uint32_t errcode; |
32 | } QEMU_PACKED; |
33 | |
34 | #define TPM_TAG_RQU_COMMAND 0xc1 |
35 | #define TPM_TAG_RQU_AUTH1_COMMAND 0xc2 |
36 | #define TPM_TAG_RQU_AUTH2_COMMAND 0xc3 |
37 | |
38 | #define TPM_TAG_RSP_COMMAND 0xc4 |
39 | #define TPM_TAG_RSP_AUTH1_COMMAND 0xc5 |
40 | #define TPM_TAG_RSP_AUTH2_COMMAND 0xc6 |
41 | |
42 | #define TPM_BAD_PARAMETER 3 |
43 | #define TPM_FAIL 9 |
44 | #define TPM_KEYNOTFOUND 13 |
45 | #define TPM_BAD_PARAM_SIZE 25 |
46 | #define TPM_ENCRYPT_ERROR 32 |
47 | #define TPM_DECRYPT_ERROR 33 |
48 | #define TPM_BAD_KEY_PROPERTY 40 |
49 | #define TPM_BAD_MODE 44 |
50 | #define TPM_BAD_VERSION 46 |
51 | #define TPM_BAD_LOCALITY 61 |
52 | |
53 | #define TPM_ORD_ContinueSelfTest 0x53 |
54 | #define TPM_ORD_GetTicks 0xf1 |
55 | #define TPM_ORD_GetCapability 0x65 |
56 | |
57 | #define TPM_CAP_PROPERTY 0x05 |
58 | |
59 | #define TPM_CAP_PROP_INPUT_BUFFER 0x124 |
60 | |
61 | /* TPM2 defines */ |
62 | #define TPM2_ST_NO_SESSIONS 0x8001 |
63 | |
64 | #define TPM2_CC_ReadClock 0x00000181 |
65 | #define TPM2_CC_GetCapability 0x0000017a |
66 | |
67 | #define TPM2_CAP_TPM_PROPERTIES 0x6 |
68 | |
69 | #define TPM2_PT_MAX_COMMAND_SIZE 0x11e |
70 | |
71 | #define TPM_RC_INSUFFICIENT 0x9a |
72 | #define TPM_RC_FAILURE 0x101 |
73 | #define TPM_RC_LOCALITY 0x907 |
74 | |
75 | #endif /* TPM_TPM_INT_H */ |
76 | |