]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigNvData.h
SecurityPkg Tcg2ConfigDxe: Typecast to (CHAR8*) as para of AsciiStrSize
[mirror_edk2.git] / SecurityPkg / Tcg / Tcg2Config / Tcg2ConfigNvData.h
index c6b3d32f49a48a90f5769a65f63c32def787137c..7868c212d57016defd961d30a2c87ccd8b2f865b 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Header file for NV data structure definition.\r
 \r
-Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2015 - 2017, 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
@@ -30,6 +30,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #define TCG2_CONFIGURATION_VARSTORE_ID  0x0001\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
@@ -40,6 +41,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define KEY_TPM2_PCR_BANKS_REQUEST_2            0x2005\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
 \r
 #define TPM_DEVICE_NULL           0\r
 #define TPM_DEVICE_1_2            1\r
@@ -48,9 +51,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define TPM_DEVICE_MAX            TPM_DEVICE_2_0_DTPM\r
 #define TPM_DEVICE_DEFAULT        TPM_DEVICE_1_2\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 TPM_DEVICE_INTERFACE_MAX       TPM_DEVICE_INTERFACE_PTP_FIFO\r
+#define TPM_DEVICE_INTERFACE_DEFAULT   TPM_DEVICE_INTERFACE_PTP_CRB\r
+\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
@@ -59,11 +71,18 @@ typedef struct {
 } TCG2_CONFIGURATION;\r
 \r
 typedef struct {\r
-  UINT8  Sha1Supported;\r
-  UINT8  Sha256Supported;\r
-  UINT8  Sha384Supported;\r
-  UINT8  Sha512Supported;\r
-  UINT8  Sm3Supported;\r
+  UINT64  PpiVersion;\r
+} TCG2_VERSION;\r
+\r
+typedef struct {\r
+  BOOLEAN  Sha1Supported;\r
+  BOOLEAN  Sha256Supported;\r
+  BOOLEAN  Sha384Supported;\r
+  BOOLEAN  Sha512Supported;\r
+  BOOLEAN  Sm3Supported;\r
+  UINT8    TpmDeviceInterfaceAttempt;\r
+  BOOLEAN  TpmDeviceInterfacePtpFifoSupported;\r
+  BOOLEAN  TpmDeviceInterfacePtpCrbSupported;\r
 } TCG2_CONFIGURATION_INFO;\r
 \r
 //\r
@@ -77,6 +96,7 @@ typedef struct {
 #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