diff options
author | Stefan Berger <stefanb@linux.vnet.ibm.com> | 2015-03-23 14:22:16 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2015-05-21 13:15:56 -0400 |
commit | b310dfa59913149bcb728176fd0fcb52731a97d8 (patch) | |
tree | 44459d686d618a60bbd5e4b5f1c1d1dab4d9c674 /src/std/acpi.h | |
parent | dfbc885d622871f8f671b3f07374f922df4d0ec4 (diff) | |
download | seabios-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.h | 20 |
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 |