]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.h
SecurityPkg: Cache TPM interface type info
[mirror_edk2.git] / SecurityPkg / Tcg / Tcg2Smm / Tcg2Smm.h
index 18e8bfc355a891df9c4bfd3cfd286aa98752b69f..e3a14e8339bc83482a6003d74d344c837ef23654 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   The header file for Tcg2 SMM driver.\r
   \r
-Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2015 - 2018, 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
@@ -39,6 +39,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/Tcg2PhysicalPresenceLib.h>\r
 #include <Library/IoLib.h>\r
 #include <Library/PrintLib.h>\r
+#include <Library/PcdLib.h>\r
+#include <Library/Tpm2DeviceLib.h>\r
 \r
 #include <IndustryStandard/TpmPtp.h>\r
 \r
@@ -64,6 +66,8 @@ typedef struct {
   PHYSICAL_PRESENCE_NVS  PhysicalPresence;\r
   MEMORY_CLEAR_NVS       MemoryClear;\r
   UINT32                 PPRequestUserConfirm;\r
+  UINT32                 TpmIrqNum;\r
+  BOOLEAN                IsShortFormPkgLength;\r
 } TCG_NVS;\r
 \r
 typedef struct {\r
@@ -98,8 +102,27 @@ typedef struct {
 //\r
 // PNP _HID for TPM2 device\r
 //\r
-#define TPM_HID_TAG                                                "NNN0000"\r
+#define TPM_HID_TAG                                                "NNNN0000"\r
 #define TPM_HID_PNP_SIZE                                           8\r
 #define TPM_HID_ACPI_SIZE                                          9\r
 \r
+#define TPM_PRS_RESL                                               "RESL"\r
+#define TPM_PRS_RESS                                               "RESS"\r
+#define TPM_PRS_RES_NAME_SIZE                                      4\r
+//\r
+// Minimum PRS resource template size\r
+//  1 byte    for  BufferOp\r
+//  1 byte    for  PkgLength\r
+//  2 bytes   for  BufferSize\r
+//  12 bytes  for  Memory32Fixed descriptor\r
+//  5 bytes   for  Interrupt descriptor\r
+//  2 bytes   for  END Tag\r
+//\r
+#define TPM_POS_RES_TEMPLATE_MIN_SIZE                              (1 + 1 + 2 + 12 + 5 + 2)\r
+\r
+//\r
+// Max Interrupt buffer size for PRS interrupt resource\r
+// Now support 15 interrupts in maxmum\r
+//\r
+#define MAX_PRS_INT_BUF_SIZE                                       (15*4)\r
 #endif  // __TCG_SMM_H__\r