From patchwork Tue Jun 9 11:31:15 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jarkko Sakkinen X-Patchwork-Id: 6571411 Return-Path: X-Original-To: patchwork-linux-acpi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 8E03FC0020 for ; Tue, 9 Jun 2015 11:31:34 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 94A63204DF for ; Tue, 9 Jun 2015 11:31:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8352420381 for ; Tue, 9 Jun 2015 11:31:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753668AbbFILbb (ORCPT ); Tue, 9 Jun 2015 07:31:31 -0400 Received: from mga11.intel.com ([192.55.52.93]:16517 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753613AbbFILba (ORCPT ); Tue, 9 Jun 2015 07:31:30 -0400 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP; 09 Jun 2015 04:31:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,579,1427785200"; d="scan'208";a="743566474" Received: from jsakkine-mobl1.tm.intel.com (HELO localhost) ([10.237.48.36]) by orsmga002.jf.intel.com with ESMTP; 09 Jun 2015 04:31:26 -0700 From: Jarkko Sakkinen To: robert.moore@intel.com Cc: peterhuewe@gmx.de, Jarkko Sakkinen , "Rafael J. Wysocki" , Len Brown , Lv Zheng , linux-acpi@vger.kernel.org (open list:ACPI), devel@acpica.org (open list:ACPI COMPONENT AR...), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] acpi: update ACPI tables to match TCG ACPI specification. Date: Tue, 9 Jun 2015 14:31:15 +0300 Message-Id: <1433849475-20670-1-git-send-email-jarkko.sakkinen@linux.intel.com> X-Mailer: git-send-email 2.1.4 Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Updated struct acpi_table_tpm2 and struct acpi_table_tcpa to match the TCG ACPI specification. Removed struct acpi_tpm2_control as this data structure is not part of the ACPI interface but is device interface used with TPM 2.0 chips possibly even without ACPI in some cases. That structure probably dived in by mistake because it was bundled with the TPM2 ACPI table in the Microsoft specification before there were official TPM2 interface specifications available from TCG. Signed-off-by: Jarkko Sakkinen Reviewed-by: Peter Huewe Acked-by: Peter Huewe # for TPM subsystem --- include/acpi/actbl2.h | 5 ++--- include/acpi/actbl3.h | 31 +++++++++++++------------------ 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h index cafdeb5..2f2b8a6 100644 --- a/include/acpi/actbl2.h +++ b/include/acpi/actbl2.h @@ -1071,14 +1071,13 @@ enum acpi_spmi_interface_types { * TCPA - Trusted Computing Platform Alliance table * Version 1 * - * Conforms to "TCG PC Specific Implementation Specification", - * Version 1.1, August 18, 2003 + * Conforms to "TCG ACPI Specification for Family 1.2 and 2.0" 19 December 2014 * ******************************************************************************/ struct acpi_table_tcpa { struct acpi_table_header header; /* Common ACPI table header */ - u16 reserved; + u16 platform_class; /* 0 for client and 1 for server platforms. */ u32 max_log_length; /* Maximum length for the event log area */ u64 log_address; /* Address of the event log area */ }; diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h index 440ca81..a8c2e94 100644 --- a/include/acpi/actbl3.h +++ b/include/acpi/actbl3.h @@ -688,29 +688,24 @@ enum acpi_rasf_status { * TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table * Version 3 * - * Conforms to "TPM 2.0 Hardware Interface Table (TPM2)" 29 November 2011 + * Conforms to "TCG ACPI Specification for Family 1.2 and 2.0" 19 December 2014 * ******************************************************************************/ -struct acpi_table_tpm2 { - struct acpi_table_header header; /* Common ACPI table header */ - u32 flags; - u64 control_address; - u32 start_method; -}; +/* How to notify that there is a command available for processing. */ -/* Control area structure (not part of table, pointed to by control_address) */ +enum acpi_tpm2_start_method { + ACPI_TPM2_SM_ACPI = 2, + ACPI_TPM2_SM_CRB = 7, + ACPI_TPM2_SM_CRB_AND_ACPI = 8, +}; -struct acpi_tpm2_control { - u32 reserved; - u32 error; - u32 cancel; - u32 start; - u64 interrupt_control; - u32 command_size; - u64 command_address; - u32 response_size; - u64 response_address; +struct acpi_table_tpm2 { + struct acpi_table_header header; /* Common ACPI table header */ + u16 platform_class; /* 0 for client and 1 for server platforms */ + u16 reserved; + u64 control_address; /* Physical address of the control area */ + u32 start_method; /* Method to notify to start processing */ }; /* Reset to default packing */