diff options
author | Philipp Deppenwiese <zaolin.daisuki@gmail.com> | 2018-11-10 00:35:02 +0100 |
---|---|---|
committer | Philipp Deppenwiese <zaolin.daisuki@gmail.com> | 2019-03-07 12:47:01 +0000 |
commit | c9b7d1fb57787d7037a5bce031a1300d13f5df40 (patch) | |
tree | 57788b70b069229693dae5727cb8acc54eee3c14 /src/security/tpm/tspi.h | |
parent | 7a732b4781e7b83abda3230055d7110e1db730f3 (diff) |
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.h | 28 |
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); /** |