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