aboutsummaryrefslogtreecommitdiff
path: root/src/commonlib
diff options
context:
space:
mode:
Diffstat (limited to 'src/commonlib')
-rw-r--r--src/commonlib/include/commonlib/cbmem_id.h1
-rw-r--r--src/commonlib/include/commonlib/coreboot_tables.h24
2 files changed, 25 insertions, 0 deletions
diff --git a/src/commonlib/include/commonlib/cbmem_id.h b/src/commonlib/include/commonlib/cbmem_id.h
index 6e24545110..f58d7b11c2 100644
--- a/src/commonlib/include/commonlib/cbmem_id.h
+++ b/src/commonlib/include/commonlib/cbmem_id.h
@@ -56,6 +56,7 @@
#define CBMEM_ID_TCPA_TCG_LOG 0x54445041
#define CBMEM_ID_TIMESTAMP 0x54494d45
#define CBMEM_ID_TPM2_TCG_LOG 0x54504d32
+#define CBMEM_ID_TPM_PPI 0x54505049
#define CBMEM_ID_VBOOT_HANDOFF 0x780074f0 /* deprecated */
#define CBMEM_ID_VBOOT_SEL_REG 0x780074f1 /* deprecated */
#define CBMEM_ID_VBOOT_WORKBUF 0x78007343
diff --git a/src/commonlib/include/commonlib/coreboot_tables.h b/src/commonlib/include/commonlib/coreboot_tables.h
index c740975bc7..be40c3818f 100644
--- a/src/commonlib/include/commonlib/coreboot_tables.h
+++ b/src/commonlib/include/commonlib/coreboot_tables.h
@@ -81,6 +81,7 @@ enum {
LB_TAG_FMAP = 0x0037,
LB_TAG_PLATFORM_BLOB_VERSION = 0x0038,
LB_TAG_SMMSTOREV2 = 0x0039,
+ LB_TAG_TPM_PPI_HANDOFF = 0x003a,
LB_TAG_BOARD_CONFIG = 0x0040,
/* The following options are CMOS-related */
LB_TAG_CMOS_OPTION_TABLE = 0x00c8,
@@ -521,4 +522,27 @@ struct lb_smmstorev2 {
uint8_t unused[3]; /* Set to zero */
};
+enum lb_tmp_ppi_tpm_version {
+ LB_TPM_VERSION_UNSPEC = 0,
+ LB_TPM_VERSION_TPM_VERSION_1_2,
+ LB_TPM_VERSION_TPM_VERSION_2,
+};
+
+/*
+ * Handoff buffer for TPM Physical Presence Interface.
+ * * ppi_address Pointer to PPI buffer shared with ACPI
+ * The layout of the buffer matches the QEMU virtual memory device
+ * that is generated by QEMU.
+ * See files 'hw/i386/acpi-build.c' and 'include/hw/acpi/tpm.h'
+ * for details.
+ * * tpm_version TPM version: 1 for TPM1.2, 2 for TPM2.0
+ * * ppi_version BCD encoded version of TPM PPI interface
+ */
+struct lb_tpm_physical_presence {
+ uint32_t tag;
+ uint32_t size;
+ uint32_t ppi_address; /* Address of ACPI PPI communication buffer */
+ uint8_t tpm_version; /* 1: TPM1.2, 2: TPM2.0 */
+ uint8_t ppi_version; /* BCD encoded */
+} __packed;
#endif