summaryrefslogtreecommitdiff
path: root/src/security/tpm/tspi/logs.h
diff options
context:
space:
mode:
authorSergii Dmytruk <sergii.dmytruk@3mdeb.com>2022-10-23 00:34:32 +0300
committerFelix Held <felix-coreboot@felixheld.de>2023-03-04 02:00:58 +0000
commit4191dbf0c9a57088e7a7323d8bf02a8708eacdb9 (patch)
treea3cb0341f889c8d740f4d627b8328407e65120bd /src/security/tpm/tspi/logs.h
parent1f81af52a4efde39ba0127b724c6c2e19d0329cd (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.h39
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_ */