diff options
author | Kent Yoder <key@linux.vnet.ibm.com> | 2012-11-07 18:00:45 -0500 |
---|---|---|
committer | Kent Yoder <key@linux.vnet.ibm.com> | 2013-02-05 10:38:21 -0500 |
commit | feab398e580b1847b729203573a638cf90d5e7fc (patch) | |
tree | 95d951d8440ad3e4db46977088ce041d7a8ac31d /Documentation/ABI | |
parent | 0d2a1b2d03dfd5ee79e7ebc59635690c8f08810f (diff) |
tpm: add documentation for sysfs interfaces
Reviewed-by: Peter Huewe <peter.huewe@infineon.com>
Signed-off-by: Kent Yoder <key@linux.vnet.ibm.com>
Diffstat (limited to 'Documentation/ABI')
-rw-r--r-- | Documentation/ABI/stable/sysfs-class-tpm | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/Documentation/ABI/stable/sysfs-class-tpm b/Documentation/ABI/stable/sysfs-class-tpm new file mode 100644 index 000000000000..a60b45e2493b --- /dev/null +++ b/Documentation/ABI/stable/sysfs-class-tpm | |||
@@ -0,0 +1,185 @@ | |||
1 | What: /sys/class/misc/tpmX/device/ | ||
2 | Date: April 2005 | ||
3 | KernelVersion: 2.6.12 | ||
4 | Contact: tpmdd-devel@lists.sf.net | ||
5 | Description: The device/ directory under a specific TPM instance exposes | ||
6 | the properties of that TPM chip | ||
7 | |||
8 | |||
9 | What: /sys/class/misc/tpmX/device/active | ||
10 | Date: April 2006 | ||
11 | KernelVersion: 2.6.17 | ||
12 | Contact: tpmdd-devel@lists.sf.net | ||
13 | Description: The "active" property prints a '1' if the TPM chip is accepting | ||
14 | commands. An inactive TPM chip still contains all the state of | ||
15 | an active chip (Storage Root Key, NVRAM, etc), and can be | ||
16 | visible to the OS, but will only accept a restricted set of | ||
17 | commands. See the TPM Main Specification part 2, Structures, | ||
18 | section 17 for more information on which commands are | ||
19 | available. | ||
20 | |||
21 | What: /sys/class/misc/tpmX/device/cancel | ||
22 | Date: June 2005 | ||
23 | KernelVersion: 2.6.13 | ||
24 | Contact: tpmdd-devel@lists.sf.net | ||
25 | Description: The "cancel" property allows you to cancel the currently | ||
26 | pending TPM command. Writing any value to cancel will call the | ||
27 | TPM vendor specific cancel operation. | ||
28 | |||
29 | What: /sys/class/misc/tpmX/device/caps | ||
30 | Date: April 2005 | ||
31 | KernelVersion: 2.6.12 | ||
32 | Contact: tpmdd-devel@lists.sf.net | ||
33 | Description: The "caps" property contains TPM manufacturer and version info. | ||
34 | |||
35 | Example output: | ||
36 | |||
37 | Manufacturer: 0x53544d20 | ||
38 | TCG version: 1.2 | ||
39 | Firmware version: 8.16 | ||
40 | |||
41 | Manufacturer is a hex dump of the 4 byte manufacturer info | ||
42 | space in a TPM. TCG version shows the TCG TPM spec level that | ||
43 | the chip supports. Firmware version is that of the chip and | ||
44 | is manufacturer specific. | ||
45 | |||
46 | What: /sys/class/misc/tpmX/device/durations | ||
47 | Date: March 2011 | ||
48 | KernelVersion: 3.1 | ||
49 | Contact: tpmdd-devel@lists.sf.net | ||
50 | Description: The "durations" property shows the 3 vendor-specific values | ||
51 | used to wait for a short, medium and long TPM command. All | ||
52 | TPM commands are categorized as short, medium or long in | ||
53 | execution time, so that the driver doesn't have to wait | ||
54 | any longer than necessary before starting to poll for a | ||
55 | result. | ||
56 | |||
57 | Example output: | ||
58 | |||
59 | 3015000 4508000 180995000 [original] | ||
60 | |||
61 | Here the short, medium and long durations are displayed in | ||
62 | usecs. "[original]" indicates that the values are displayed | ||
63 | unmodified from when they were queried from the chip. | ||
64 | Durations can be modified in the case where a buggy chip | ||
65 | reports them in msec instead of usec and they need to be | ||
66 | scaled to be displayed in usecs. In this case "[adjusted]" | ||
67 | will be displayed in place of "[original]". | ||
68 | |||
69 | What: /sys/class/misc/tpmX/device/enabled | ||
70 | Date: April 2006 | ||
71 | KernelVersion: 2.6.17 | ||
72 | Contact: tpmdd-devel@lists.sf.net | ||
73 | Description: The "enabled" property prints a '1' if the TPM chip is enabled, | ||
74 | meaning that it should be visible to the OS. This property | ||
75 | may be visible but produce a '0' after some operation that | ||
76 | disables the TPM. | ||
77 | |||
78 | What: /sys/class/misc/tpmX/device/owned | ||
79 | Date: April 2006 | ||
80 | KernelVersion: 2.6.17 | ||
81 | Contact: tpmdd-devel@lists.sf.net | ||
82 | Description: The "owned" property produces a '1' if the TPM_TakeOwnership | ||
83 | ordinal has been executed successfully in the chip. A '0' | ||
84 | indicates that ownership hasn't been taken. | ||
85 | |||
86 | What: /sys/class/misc/tpmX/device/pcrs | ||
87 | Date: April 2005 | ||
88 | KernelVersion: 2.6.12 | ||
89 | Contact: tpmdd-devel@lists.sf.net | ||
90 | Description: The "pcrs" property will dump the current value of all Platform | ||
91 | Configuration Registers in the TPM. Note that since these | ||
92 | values may be constantly changing, the output is only valid | ||
93 | for a snapshot in time. | ||
94 | |||
95 | Example output: | ||
96 | |||
97 | PCR-00: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | ||
98 | PCR-01: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | ||
99 | PCR-02: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | ||
100 | PCR-03: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | ||
101 | PCR-04: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | ||
102 | ... | ||
103 | |||
104 | The number of PCRs and hex bytes needed to represent a PCR | ||
105 | value will vary depending on TPM chip version. For TPM 1.1 and | ||
106 | 1.2 chips, PCRs represent SHA-1 hashes, which are 20 bytes | ||
107 | long. Use the "caps" property to determine TPM version. | ||
108 | |||
109 | What: /sys/class/misc/tpmX/device/pubek | ||
110 | Date: April 2005 | ||
111 | KernelVersion: 2.6.12 | ||
112 | Contact: tpmdd-devel@lists.sf.net | ||
113 | Description: The "pubek" property will return the TPM's public endorsement | ||
114 | key if possible. If the TPM has had ownership established and | ||
115 | is version 1.2, the pubek will not be available without the | ||
116 | owner's authorization. Since the TPM driver doesn't store any | ||
117 | secrets, it can't authorize its own request for the pubek, | ||
118 | making it unaccessible. The public endorsement key is gener- | ||
119 | ated at TPM menufacture time and exists for the life of the | ||
120 | chip. | ||
121 | |||
122 | Example output: | ||
123 | |||
124 | Algorithm: 00 00 00 01 | ||
125 | Encscheme: 00 03 | ||
126 | Sigscheme: 00 01 | ||
127 | Parameters: 00 00 08 00 00 00 00 02 00 00 00 00 | ||
128 | Modulus length: 256 | ||
129 | Modulus: | ||
130 | B4 76 41 82 C9 20 2C 10 18 40 BC 8B E5 44 4C 6C | ||
131 | 3A B2 92 0C A4 9B 2A 83 EB 5C 12 85 04 48 A0 B6 | ||
132 | 1E E4 81 84 CE B2 F2 45 1C F0 85 99 61 02 4D EB | ||
133 | 86 C4 F7 F3 29 60 52 93 6B B2 E5 AB 8B A9 09 E3 | ||
134 | D7 0E 7D CA 41 BF 43 07 65 86 3C 8C 13 7A D0 8B | ||
135 | 82 5E 96 0B F8 1F 5F 34 06 DA A2 52 C1 A9 D5 26 | ||
136 | 0F F4 04 4B D9 3F 2D F2 AC 2F 74 64 1F 8B CD 3E | ||
137 | 1E 30 38 6C 70 63 69 AB E2 50 DF 49 05 2E E1 8D | ||
138 | 6F 78 44 DA 57 43 69 EE 76 6C 38 8A E9 8E A3 F0 | ||
139 | A7 1F 3C A8 D0 12 15 3E CA 0E BD FA 24 CD 33 C6 | ||
140 | 47 AE A4 18 83 8E 22 39 75 93 86 E6 FD 66 48 B6 | ||
141 | 10 AD 94 14 65 F9 6A 17 78 BD 16 53 84 30 BF 70 | ||
142 | E0 DC 65 FD 3C C6 B0 1E BF B9 C1 B5 6C EF B1 3A | ||
143 | F8 28 05 83 62 26 11 DC B4 6B 5A 97 FF 32 26 B6 | ||
144 | F7 02 71 CF 15 AE 16 DD D1 C1 8E A8 CF 9B 50 7B | ||
145 | C3 91 FF 44 1E CF 7C 39 FE 17 77 21 20 BD CE 9B | ||
146 | |||
147 | Possible values: | ||
148 | |||
149 | Algorithm: TPM_ALG_RSA (1) | ||
150 | Encscheme: TPM_ES_RSAESPKCSv15 (2) | ||
151 | TPM_ES_RSAESOAEP_SHA1_MGF1 (3) | ||
152 | Sigscheme: TPM_SS_NONE (1) | ||
153 | Parameters, a byte string of 3 u32 values: | ||
154 | Key Length (bits): 00 00 08 00 (2048) | ||
155 | Num primes: 00 00 00 02 (2) | ||
156 | Exponent Size: 00 00 00 00 (0 means the | ||
157 | default exp) | ||
158 | Modulus Length: 256 (bytes) | ||
159 | Modulus: The 256 byte Endorsement Key modulus | ||
160 | |||
161 | What: /sys/class/misc/tpmX/device/temp_deactivated | ||
162 | Date: April 2006 | ||
163 | KernelVersion: 2.6.17 | ||
164 | Contact: tpmdd-devel@lists.sf.net | ||
165 | Description: The "temp_deactivated" property returns a '1' if the chip has | ||
166 | been temporarily dectivated, usually until the next power | ||
167 | cycle. Whether a warm boot (reboot) will clear a TPM chip | ||
168 | from a temp_deactivated state is platform specific. | ||
169 | |||
170 | What: /sys/class/misc/tpmX/device/timeouts | ||
171 | Date: March 2011 | ||
172 | KernelVersion: 3.1 | ||
173 | Contact: tpmdd-devel@lists.sf.net | ||
174 | Description: The "timeouts" property shows the 4 vendor-specific values | ||
175 | for the TPM's interface spec timeouts. The use of these | ||
176 | timeouts is defined by the TPM interface spec that the chip | ||
177 | conforms to. | ||
178 | |||
179 | Example output: | ||
180 | |||
181 | 750000 750000 750000 750000 [original] | ||
182 | |||
183 | The four timeout values are shown in usecs, with a trailing | ||
184 | "[original]" or "[adjusted]" depending on whether the values | ||
185 | were scaled by the driver to be reported in usec from msecs. | ||