aboutsummaryrefslogtreecommitdiffstats
path: root/src/std
diff options
context:
space:
mode:
authorStefan Berger <stefanb@linux.vnet.ibm.com>2016-02-02 13:09:17 -0500
committerKevin O'Connor <kevin@koconnor.net>2016-02-05 20:47:37 -0500
commite444dce9361f079c77c1e25e61d3f5864de41e93 (patch)
treefb52f16e5146c56f53d038dd78c781feb3163ef3 /src/std
parent7d596dcccfd5bd931a3d74be5dde1615440b78cb (diff)
downloadseabios-e444dce9361f079c77c1e25e61d3f5864de41e93.tar.gz
tpm: Implement TPM 2's tpm_set_failure part
Implement TPM 2's tpm_set_failure part. We follow this specification: TCG PC Client Specific Platform Firmware Profile for TPM 2.0 Systems Revision 1.0 Version 21 It can be found on this page: http://www.trustedcomputinggroup.org/resources/specifications_in_public_review Make the TPM unavailable for OS-present applications following 6.2 item 2.d.i . Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Diffstat (limited to 'src/std')
-rw-r--r--src/std/tcg.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/std/tcg.h b/src/std/tcg.h
index dd860e61..8466b14d 100644
--- a/src/std/tcg.h
+++ b/src/std/tcg.h
@@ -372,7 +372,9 @@ struct tpm_res_sha1complete {
#define TPM2_SU_CLEAR 0x0000
#define TPM2_SU_STATE 0x0001
+#define TPM2_RH_OWNER 0x40000001
#define TPM2_RS_PW 0x40000009
+#define TPM2_RH_ENDORSEMENT 0x4000000b
#define TPM2_RH_PLATFORM 0x4000000c
#define TPM2_ALG_SHA1 0x0004
@@ -382,6 +384,7 @@ struct tpm_res_sha1complete {
#define TPM2_ST_SESSIONS 0x8002
/* TPM 2 commands */
+#define TPM2_CC_HierarchyControl 0x121
#define TPM2_CC_Clear 0x126
#define TPM2_CC_ClearControl 0x127
#define TPM2_CC_HierarchyChangeAuth 0x129
@@ -460,4 +463,13 @@ struct tpm2_req_clear {
struct tpm2_authblock authblock;
} PACKED;
+struct tpm2_req_hierarchycontrol {
+ struct tpm_req_header hdr;
+ u32 authhandle;
+ u32 authblocksize;
+ struct tpm2_authblock authblock;
+ u32 enable;
+ u8 state;
+} PACKED;
+
#endif // tcg.h