mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 12:44:11 +08:00
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:
parent
a86c856eb4
commit
bff7f90bbe
@ -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));
|
||||
|
@ -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)
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user