/** @file\r
Header file for NV data structure definition.\r
\r
-Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#define EFI_TCG2_EVENT_LOG_FORMAT_ALL (EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2 | EFI_TCG2_EVENT_LOG_FORMAT_TCG_2)\r
\r
#define TCG2_CONFIGURATION_VARSTORE_ID 0x0001\r
-#define TCG2_CONFIGURATION_INFO_VARSTORE_ID 0x0002\r
+#define TCG2_CONFIGURATION_INFO_VARSTORE_ID 0x0002\r
+#define TCG2_VERSION_VARSTORE_ID 0x0003\r
#define TCG2_CONFIGURATION_FORM_ID 0x0001\r
\r
#define KEY_TPM_DEVICE 0x2000\r
#define KEY_TPM2_PCR_BANKS_REQUEST_3 0x2006\r
#define KEY_TPM2_PCR_BANKS_REQUEST_4 0x2007\r
#define KEY_TPM_DEVICE_INTERFACE 0x2008\r
+#define KEY_TCG2_PPI_VERSION 0x2009\r
+#define KEY_TPM2_ACPI_REVISION 0x200A\r
\r
#define TPM_DEVICE_NULL 0\r
#define TPM_DEVICE_1_2 1\r
#define TPM_DEVICE_MAX TPM_DEVICE_2_0_DTPM\r
#define TPM_DEVICE_DEFAULT TPM_DEVICE_1_2\r
\r
+#define TPM2_ACPI_REVISION_3 3\r
+#define TPM2_ACPI_REVISION_4 4\r
+\r
#define TPM_DEVICE_INTERFACE_TIS 0\r
#define TPM_DEVICE_INTERFACE_PTP_FIFO 1\r
#define TPM_DEVICE_INTERFACE_PTP_CRB 2\r
#define TCG2_PROTOCOL_VERSION_DEFAULT 0x0001\r
#define EFI_TCG2_EVENT_LOG_FORMAT_DEFAULT EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2\r
\r
+#define TCG2_PPI_VERSION_1_2 0x322E31 // "1.2"\r
+#define TCG2_PPI_VERSION_1_3 0x332E31 // "1.3"\r
+\r
//\r
// Nv Data structure referenced by IFR, TPM device user desired\r
//\r
UINT8 TpmDevice;\r
} TCG2_CONFIGURATION;\r
\r
+typedef struct {\r
+ UINT64 PpiVersion;\r
+ UINT8 Tpm2AcpiTableRev;\r
+} TCG2_VERSION;\r
+\r
typedef struct {\r
BOOLEAN Sha1Supported;\r
BOOLEAN Sha256Supported;\r
#define TCG2_STORAGE_NAME L"TCG2_CONFIGURATION"\r
#define TCG2_STORAGE_INFO_NAME L"TCG2_CONFIGURATION_INFO"\r
#define TCG2_DEVICE_DETECTION_NAME L"TCG2_DEVICE_DETECTION"\r
+#define TCG2_VERSION_NAME L"TCG2_VERSION"\r
\r
#define TPM_INSTANCE_ID_LIST { \\r
{TPM_DEVICE_INTERFACE_NONE, TPM_DEVICE_NULL}, \\r