summaryrefslogtreecommitdiff
path: root/src/security/tpm/tspi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/security/tpm/tspi.h')
-rw-r--r--src/security/tpm/tspi.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/security/tpm/tspi.h b/src/security/tpm/tspi.h
new file mode 100644
index 0000000000..fdc9e1c187
--- /dev/null
+++ b/src/security/tpm/tspi.h
@@ -0,0 +1,44 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Copyright 2018 Facebook Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef TSPI_H_
+#define TSPI_H_
+
+#include <security/tpm/tss.h>
+
+/**
+ * Ask vboot for a digest and extend a TPM PCR with it.
+ * @param pcr sets the pcr index
+ * @param digest sets the hash to extend into the tpm
+ * @param out_digest get extended hash
+ * @return TPM_SUCCESS on success. If not a tpm error is returned
+ */
+uint32_t tpm_extend_pcr(int pcr, uint8_t *digest, uint8_t *out_digest);
+
+/**
+ * Issue a TPM_Clear and reenable/reactivate the TPM.
+ * @return TPM_SUCCESS on success. If not a tpm error is returned
+ */
+uint32_t tpm_clear_and_reenable(void);
+
+/**
+ * Start the TPM and establish the root of trust.
+ * @param s3flag tells the tpm setup if we wake up from a s3 state on x86
+ * @return TPM_SUCCESS on success. If not a tpm error is returned
+ */
+uint32_t tpm_setup(int s3flag);
+
+#endif /* TSPI_H_ */