Enhance TPM driver to protect TPM physical presence flags.
[mirror_edk2.git] / SecurityPkg / Include / Guid / PhysicalPresenceData.h
index 4db20a7..9428657 100644 (file)
@@ -4,7 +4,7 @@
   cleared after it is processed in the next boot cycle. The TPM response \r
   is saved to variable.\r
 \r
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2013, 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
@@ -29,17 +29,8 @@ typedef struct {
   UINT8   PPRequest;      ///< Physical Presence request command.\r
   UINT8   LastPPRequest;\r
   UINT32  PPResponse;\r
-  UINT8   Flags;\r
 } EFI_PHYSICAL_PRESENCE;\r
 \r
-//\r
-// The definition bit of the flags\r
-//\r
-#define FLAG_NO_PPI_PROVISION                    BIT0\r
-#define FLAG_NO_PPI_CLEAR                        BIT1\r
-#define FLAG_NO_PPI_MAINTENANCE                  BIT2\r
-#define FLAG_RESET_TRACK                         BIT3\r
-\r
 //\r
 // The definition of physical presence operation actions\r
 //\r
@@ -67,6 +58,20 @@ typedef struct {
 #define PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR                   21\r
 #define PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR_ENABLE_ACTIVATE   22\r
 \r
+//\r
+// This variable is used to save TPM Management Flags and corresponding operations.\r
+// It should be protected from malicious software (e.g. Set it as read-only variable). \r
+//\r
+#define PHYSICAL_PRESENCE_FLAGS_VARIABLE  L"PhysicalPresenceFlags"\r
+\r
+//\r
+// The definition bit of the TPM Management Flags\r
+//\r
+#define FLAG_NO_PPI_PROVISION                    BIT0\r
+#define FLAG_NO_PPI_CLEAR                        BIT1\r
+#define FLAG_NO_PPI_MAINTENANCE                  BIT2\r
+#define FLAG_RESET_TRACK                         BIT3\r
+\r
 extern EFI_GUID  gEfiPhysicalPresenceGuid;\r
 \r
 #endif\r