diff options
author | Sergii Dmytruk <sergii.dmytruk@3mdeb.com> | 2022-10-23 00:34:32 +0300 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2023-03-04 02:00:58 +0000 |
commit | 4191dbf0c9a57088e7a7323d8bf02a8708eacdb9 (patch) | |
tree | a3cb0341f889c8d740f4d627b8328407e65120bd /src/security/tpm/tspi/logs.h | |
parent | 1f81af52a4efde39ba0127b724c6c2e19d0329cd (diff) |
security/tpm: add TPM log format as per 1.2 spec
Used by default for all boards with TPM1 which don't specify log format
explicitly.
Ticket: https://ticket.coreboot.org/issues/423
Change-Id: I89720615a75573d44dd0a39ad3d7faa78f125843
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68747
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/security/tpm/tspi/logs.h')
-rw-r--r-- | src/security/tpm/tspi/logs.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/security/tpm/tspi/logs.h b/src/security/tpm/tspi/logs.h new file mode 100644 index 0000000000..417017628e --- /dev/null +++ b/src/security/tpm/tspi/logs.h @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef LOGS_H_ +#define LOGS_H_ + +#include <stdint.h> +#include <vb2_api.h> + +/* coreboot-specific TPM log format */ + +void *tpm_cb_log_init(void); +void *tpm_cb_log_cbmem_init(void); +void tpm_cb_preram_log_clear(void); +uint16_t tpm_cb_log_get_size(const void *log_table); +void tpm_cb_log_copy_entries(const void *from, void *to); +int tpm_cb_log_get(int entry_idx, int *pcr, const uint8_t **digest_data, + enum vb2_hash_algorithm *digest_algo, const char **event_name); +void tpm_cb_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_len); +void tpm_cb_log_dump(void); + +/* TPM 1.2 log format */ + +void *tpm1_log_init(void); +void *tpm1_log_cbmem_init(void); +void tpm1_preram_log_clear(void); +uint16_t tpm1_log_get_size(const void *log_table); +void tpm1_log_copy_entries(const void *from, void *to); +int tpm1_log_get(int entry_idx, int *pcr, const uint8_t **digest_data, + enum vb2_hash_algorithm *digest_algo, const char **event_name); +void tpm1_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_len); +void tpm1_log_dump(void); + +#endif /* LOGS_H_ */ |