]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
MdePkg: UefiTcgPlatform.h: Add UEFI_VARIABLE_DATA
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / UefiTcgPlatform.h
index 23eaa53acdc5e7788a6aeae0012103ef171d02d2..8a3e1704afc1ad2763c281910a6e8b3bad403e9f 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final\r
 \r
-  Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 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
@@ -151,6 +151,7 @@ typedef struct tdEFI_HANDOFF_TABLE_POINTERS {
 /// This structure serves as the header for measuring variables. The name of the\r
 /// variable (in Unicode format) should immediately follow, then the variable\r
 /// data.\r
+/// This is defined in TCG EFI Platform Spec for TPM1.1 or 1.2 V1.22\r
 ///\r
 typedef struct tdEFI_VARIABLE_DATA {\r
   EFI_GUID                          VariableName;\r
@@ -160,6 +161,22 @@ typedef struct tdEFI_VARIABLE_DATA {
   INT8                              VariableData[1];  ///< Driver or platform-specific data\r
 } EFI_VARIABLE_DATA;\r
 \r
+///\r
+/// UEFI_VARIABLE_DATA\r
+///\r
+/// This structure serves as the header for measuring variables. The name of the\r
+/// variable (in Unicode format) should immediately follow, then the variable\r
+/// data.\r
+/// This is defined in TCG PC Client Firmware Profile Spec 00.21\r
+///\r
+typedef struct tdUEFI_VARIABLE_DATA {\r
+  EFI_GUID                          VariableName;\r
+  UINT64                            UnicodeNameLength;\r
+  UINT64                            VariableDataLength;\r
+  CHAR16                            UnicodeName[1];\r
+  INT8                              VariableData[1];  ///< Driver or platform-specific data\r
+} UEFI_VARIABLE_DATA;\r
+\r
 //\r
 // For TrEE1.0 compatibility\r
 //\r
@@ -268,6 +285,33 @@ typedef struct {
 //UINT8               vendorInfo[vendorInfoSize];\r
 } TCG_EfiSpecIDEventStruct;\r
 \r
+\r
+\r
+#define TCG_EfiStartupLocalityEvent_SIGNATURE      "StartupLocality"\r
+\r
+\r
+//\r
+// PC Client PTP spec Table 8 Relationship between Locality and Locality Attribute\r
+//\r
+#define LOCALITY_0_INDICATOR        0x01\r
+#define LOCALITY_1_INDICATOR        0x02\r
+#define LOCALITY_2_INDICATOR        0x03\r
+#define LOCALITY_3_INDICATOR        0x04\r
+#define LOCALITY_4_INDICATOR        0x05\r
+\r
+\r
+//\r
+// Startup Locality Event\r
+//\r
+typedef struct tdTCG_EfiStartupLocalityEvent{\r
+  UINT8       Signature[16];\r
+  //\r
+  // The Locality Indicator which sent the TPM2_Startup command\r
+  //\r
+  UINT8       StartupLocality;\r
+} TCG_EfiStartupLocalityEvent;\r
+\r
+\r
 //\r
 // Restore original structure alignment\r
 //\r