aboutsummaryrefslogtreecommitdiffstats
path: root/src/std/acpi.h
diff options
context:
space:
mode:
authorStefan Berger <stefanb@linux.vnet.ibm.com>2015-03-23 14:22:16 -0400
committerKevin O'Connor <kevin@koconnor.net>2015-05-21 13:15:56 -0400
commitb310dfa59913149bcb728176fd0fcb52731a97d8 (patch)
tree44459d686d618a60bbd5e4b5f1c1d1dab4d9c674 /src/std/acpi.h
parentdfbc885d622871f8f671b3f07374f922df4d0ec4 (diff)
downloadseabios-b310dfa59913149bcb728176fd0fcb52731a97d8.tar.gz
Implementation of the TCG BIOS extensions
This patch implements the main part of the TCG BIOS extensions. It provides the following functionality: - initialization of the TCPA ACPI table used for logging of measurements - initialization of the TPM by sending a sequence of commands to it - proper setup of the TPM before the BIOS hands over control to the bootloader - support for S3 resume; BIOS sends TPM_Startup(ST_STATE) to TPM - enable configuration of SeaBIOS to be built with TCGBIOS extensions All TCG BIOS extensions are activated with CONFIG_TCGBIOS. Structures that are needed in subsequent patches are also included in tcgbios.h at this point. The effect of this patch is that it initialized the TPM upon VM start and S3 resume. Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Diffstat (limited to 'src/std/acpi.h')
-rw-r--r--src/std/acpi.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/std/acpi.h b/src/std/acpi.h
index e0d9516b..b672bbee 100644
--- a/src/std/acpi.h
+++ b/src/std/acpi.h
@@ -294,4 +294,24 @@ struct acpi_table_mcfg {
struct acpi_mcfg_allocation allocation[0];
} PACKED;
+
+struct rsdt_descriptor {
+ ACPI_TABLE_HEADER_DEF
+ u32 entry[1];
+} PACKED;
+
+#define TCPA_SIGNATURE 0x41504354
+struct tcpa_descriptor_rev2
+{
+ ACPI_TABLE_HEADER_DEF
+ u16 platform_class;
+ u32 log_area_minimum_length;
+ u64 log_area_start_address;
+} PACKED;
+
+/* TCPA ACPI definitions */
+#define TCPA_ACPI_CLASS_CLIENT 0
+#define TCPA_ACPI_CLASS_SERVER 1
+
+
#endif // acpi.h