ACPICA: Add header support for TPM2 table changes

ACPICA commit b922ecaf9053dae3b8933664e951ed1ee8f86f07

Update to new version of the TCG/ACPI spec.
Does not include table compiler or disassembler support.

Link: https://github.com/acpica/acpica/commit/b922ecaf
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Bob Moore 2017-06-05 16:39:00 +08:00 committed by Rafael J. Wysocki
parent a86c856eb4
commit bff7f90bbe
2 changed files with 36 additions and 5 deletions

View File

@ -564,12 +564,12 @@ static int crb_acpi_add(struct acpi_device *device)
sm == ACPI_TPM2_COMMAND_BUFFER_WITH_START_METHOD)
priv->flags |= CRB_FL_ACPI_START;
if (sm == ACPI_TPM2_COMMAND_BUFFER_WITH_SMC) {
if (sm == ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC) {
if (buf->header.length < (sizeof(*buf) + sizeof(*crb_smc))) {
dev_err(dev,
FW_BUG "TPM2 ACPI table has wrong size %u for start method type %d\n",
buf->header.length,
ACPI_TPM2_COMMAND_BUFFER_WITH_SMC);
ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC);
return -EINVAL;
}
crb_smc = ACPI_ADD_PTR(struct tpm2_crb_smc, buf, sizeof(*buf));

View File

@ -1221,7 +1221,8 @@ enum acpi_spmi_interface_types {
* Version 2
*
* Conforms to "TCG ACPI Specification, Family 1.2 and 2.0",
* December 19, 2014
* Version 1.2, Revision 8
* February 27, 2017
*
* NOTE: There are two versions of the table with the same signature --
* the client version and the server version. The common platform_class
@ -1284,7 +1285,8 @@ struct acpi_table_tcpa_server {
* Version 4
*
* Conforms to "TCG ACPI Specification, Family 1.2 and 2.0",
* December 19, 2014
* Version 1.2, Revision 8
* February 27, 2017
*
******************************************************************************/
@ -1305,7 +1307,36 @@ struct acpi_table_tpm2 {
#define ACPI_TPM2_MEMORY_MAPPED 6
#define ACPI_TPM2_COMMAND_BUFFER 7
#define ACPI_TPM2_COMMAND_BUFFER_WITH_START_METHOD 8
#define ACPI_TPM2_COMMAND_BUFFER_WITH_SMC 11
#define ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC 11 /* V1.2 Rev 8 */
/* Trailer appears after any start_method subtables */
struct acpi_tpm2_trailer {
u32 minimum_log_length; /* Minimum length for the event log area */
u64 log_address; /* Address of the event log area */
};
/*
* Subtables (start_method-specific)
*/
/* 11: Start Method for ARM SMC (V1.2 Rev 8) */
struct acpi_tpm2_arm_smc {
u32 global_interrupt;
u8 interrupt_flags;
u8 operation_flags;
u16 reserved;
u32 function_id;
};
/* Values for interrupt_flags above */
#define ACPI_TPM2_INTERRUPT_SUPPORT (1)
/* Values for operation_flags above */
#define ACPI_TPM2_IDLE_SUPPORT (1)
/*******************************************************************************
*