summaryrefslogtreecommitdiff
path: root/src/security/tpm/tspi.h
diff options
context:
space:
mode:
authorPhilipp Deppenwiese <zaolin.daisuki@gmail.com>2018-11-10 00:35:02 +0100
committerPhilipp Deppenwiese <zaolin.daisuki@gmail.com>2019-03-07 12:47:01 +0000
commitc9b7d1fb57787d7037a5bce031a1300d13f5df40 (patch)
tree57788b70b069229693dae5727cb8acc54eee3c14 /src/security/tpm/tspi.h
parent7a732b4781e7b83abda3230055d7110e1db730f3 (diff)
downloadcoreboot-c9b7d1fb57787d7037a5bce031a1300d13f5df40.tar.xz
security/tpm: Fix TCPA log feature
Until now the TCPA log wasn't working correctly. * Refactor TCPA log code. * Add TCPA log dump fucntion. * Make TCPA log available in bootblock. * Fix TCPA log formatting. * Add x86 and Cavium memory for early log. Change-Id: Ic93133531b84318f48940d34bded48cbae739c44 Signed-off-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/29563 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Diffstat (limited to 'src/security/tpm/tspi.h')
-rw-r--r--src/security/tpm/tspi.h28
1 files changed, 24 insertions, 4 deletions
diff --git a/src/security/tpm/tspi.h b/src/security/tpm/tspi.h
index d69b97695d..55f883c481 100644
--- a/src/security/tpm/tspi.h
+++ b/src/security/tpm/tspi.h
@@ -21,26 +21,46 @@
#include <security/tpm/tss.h>
#include <commonlib/tcpa_log_serialized.h>
#include <commonlib/region.h>
+#include <vb2_api.h>
-#define TPM_PCR_MAX_LEN 64
-#define HASH_DATA_CHUNK_SIZE 1024
+#define TPM_PCR_MAX_LEN 64
+#define HASH_DATA_CHUNK_SIZE 1024
+
+/**
+ * Clears the pre-RAM tcpa log data and initializes
+ * any content with default values
+ */
+void tcpa_preram_log_clear(void);
/**
* Add table entry for cbmem TCPA log.
+ * @param name Name of the hashed data
+ * @param pcr PCR used to extend hashed data
+ * @param diget_algo sets the digest algorithm
+ * @param digest sets the hash extended into the tpm
+ * @param digest_len the length of the digest
*/
void tcpa_log_add_table_entry(const char *name, const uint32_t pcr,
+ enum vb2_hash_algorithm digest_algo,
const uint8_t *digest,
- const size_t digest_length);
+ const size_t digest_len);
+
+/**
+ * Dump TCPA log entries on console
+ */
+void tcpa_log_dump(void *unused);
/**
* Ask vboot for a digest and extend a TPM PCR with it.
* @param pcr sets the pcr index
+ * @param diget_algo sets the digest algorithm
* @param digest sets the hash to extend into the tpm
* @param digest_len the length of the digest
* @param name sets additional info where the digest comes from
* @return TPM_SUCCESS on success. If not a tpm error is returned
*/
-uint32_t tpm_extend_pcr(int pcr, uint8_t *digest, size_t digest_len,
+uint32_t tpm_extend_pcr(int pcr, enum vb2_hash_algorithm digest_algo,
+ uint8_t *digest, size_t digest_len,
const char *name);
/**