]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Tcg/TcgSmm/TcgSmm.h
SecurityPkg: Apply uncrustify changes
[mirror_edk2.git] / SecurityPkg / Tcg / TcgSmm / TcgSmm.h
index 1706132d39750e0320f463200e61c0d7abac5b25..e348ad105499447588ba87e6540af9f01b03ce68 100644 (file)
@@ -1,14 +1,8 @@
 /** @file\r
   The header file for TCG SMM driver.\r
-  \r
-Copyright (c) 2012, 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) 2012 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
@@ -17,8 +11,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include <PiDxe.h>\r
 #include <IndustryStandard/Acpi.h>\r
+#include <IndustryStandard/UefiTcgPlatform.h>\r
+\r
 #include <Guid/PhysicalPresenceData.h>\r
 #include <Guid/MemoryOverwriteControl.h>\r
+#include <Guid/TpmInstance.h>\r
+\r
 #include <Protocol/SmmSwDispatch2.h>\r
 #include <Protocol/AcpiTable.h>\r
 #include <Protocol/SmmVariable.h>\r
@@ -30,81 +28,72 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/UefiDriverEntryPoint.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/DxeServicesLib.h>\r
+#include <Library/TpmMeasurementLib.h>\r
+#include <Library/PcdLib.h>\r
+#include <Library/TcgPpVendorLib.h>\r
 \r
 #pragma pack(1)\r
 typedef struct {\r
-  UINT8                  SoftwareSmi;\r
-  UINT32                 Parameter;\r
-  UINT32                 Response;\r
-  UINT32                 Request;\r
-  UINT32                 LastRequest;\r
-  UINT32                 ReturnCode;\r
+  UINT8     SoftwareSmi;\r
+  UINT32    Parameter;\r
+  UINT32    Response;\r
+  UINT32    Request;\r
+  UINT32    LastRequest;\r
+  UINT32    ReturnCode;\r
 } PHYSICAL_PRESENCE_NVS;\r
 \r
 typedef struct {\r
-  UINT8                  SoftwareSmi;\r
-  UINT32                 Parameter;\r
-  UINT32                 Request;\r
-  UINT32                 ReturnCode;\r
+  UINT8     SoftwareSmi;\r
+  UINT32    Parameter;\r
+  UINT32    Request;\r
+  UINT32    ReturnCode;\r
 } MEMORY_CLEAR_NVS;\r
 \r
 typedef struct {\r
-  PHYSICAL_PRESENCE_NVS  PhysicalPresence;\r
-  MEMORY_CLEAR_NVS       MemoryClear;\r
+  PHYSICAL_PRESENCE_NVS    PhysicalPresence;\r
+  MEMORY_CLEAR_NVS         MemoryClear;\r
+  UINT32                   PPRequestUserConfirm;\r
 } TCG_NVS;\r
 \r
 typedef struct {\r
-  UINT8                  OpRegionOp;\r
-  UINT32                 NameString;\r
-  UINT8                  RegionSpace;\r
-  UINT8                  DWordPrefix;\r
-  UINT32                 RegionOffset;\r
-  UINT8                  BytePrefix;\r
-  UINT8                  RegionLen;\r
+  UINT8     OpRegionOp;\r
+  UINT32    NameString;\r
+  UINT8     RegionSpace;\r
+  UINT8     DWordPrefix;\r
+  UINT32    RegionOffset;\r
+  UINT8     BytePrefix;\r
+  UINT8     RegionLen;\r
 } AML_OP_REGION_32_8;\r
 #pragma pack()\r
 \r
 //\r
 // The definition for TCG physical presence ACPI function\r
 //\r
-#define ACPI_FUNCTION_GET_PHYSICAL_PRESENCE_INTERFACE_VERSION      1\r
-#define ACPI_FUNCTION_SUBMIT_REQUEST_TO_BIOS                       2\r
-#define ACPI_FUNCTION_GET_PENDING_REQUEST_BY_OS                    3\r
-#define ACPI_FUNCTION_GET_PLATFORM_ACTION_TO_TRANSITION_TO_BIOS    4\r
-#define ACPI_FUNCTION_RETURN_REQUEST_RESPONSE_TO_OS                5\r
-#define ACPI_FUNCTION_SUBMIT_PREFERRED_USER_LANGUAGE               6\r
-#define ACPI_FUNCTION_SUBMIT_REQUEST_TO_BIOS_2                     7\r
-#define ACPI_FUNCTION_GET_USER_CONFIRMATION_STATUS_FOR_REQUEST     8\r
-\r
-//\r
-// The return code for Get User Confirmation Status for Operation\r
-//\r
-#define PP_REQUEST_NOT_IMPLEMENTED                                 0\r
-#define PP_REQUEST_BIOS_ONLY                                       1\r
-#define PP_REQUEST_BLOCKED                                         2\r
-#define PP_REQUEST_ALLOWED_AND_PPUSER_REQUIRED                     3\r
-#define PP_REQUEST_ALLOWED_AND_PPUSER_NOT_REQUIRED                 4\r
+#define ACPI_FUNCTION_GET_PHYSICAL_PRESENCE_INTERFACE_VERSION    1\r
+#define ACPI_FUNCTION_SUBMIT_REQUEST_TO_BIOS                     2\r
+#define ACPI_FUNCTION_GET_PENDING_REQUEST_BY_OS                  3\r
+#define ACPI_FUNCTION_GET_PLATFORM_ACTION_TO_TRANSITION_TO_BIOS  4\r
+#define ACPI_FUNCTION_RETURN_REQUEST_RESPONSE_TO_OS              5\r
+#define ACPI_FUNCTION_SUBMIT_PREFERRED_USER_LANGUAGE             6\r
+#define ACPI_FUNCTION_SUBMIT_REQUEST_TO_BIOS_2                   7\r
+#define ACPI_FUNCTION_GET_USER_CONFIRMATION_STATUS_FOR_REQUEST   8\r
 \r
 //\r
-// The return code for Sumbit TPM Request to Pre-OS Environment\r
-// and Sumbit TPM Request to Pre-OS Environment 2\r
+// The return code for Return TPM Operation Response to OS Environment\r
 //\r
-#define PP_SUBMIT_REQUEST_SUCCESS                                  0\r
-#define PP_SUBMIT_REQUEST_NOT_IMPLEMENTED                          1\r
-#define PP_SUBMIT_REQUEST_GENERAL_FAILURE                          2\r
-#define PP_SUBMIT_REQUEST_BLOCKED_BY_BIOS_SETTINGS                 3\r
-\r
+#define PP_RETURN_TPM_OPERATION_RESPONSE_SUCCESS  0\r
+#define PP_RETURN_TPM_OPERATION_RESPONSE_FAILURE  1\r
 \r
 //\r
 // The definition for TCG MOR\r
 //\r
-#define ACPI_FUNCTION_DSM_MEMORY_CLEAR_INTERFACE                   1\r
-#define ACPI_FUNCTION_PTS_CLEAR_MOR_BIT                            2\r
+#define ACPI_FUNCTION_DSM_MEMORY_CLEAR_INTERFACE  1\r
+#define ACPI_FUNCTION_PTS_CLEAR_MOR_BIT           2\r
 \r
 //\r
 // The return code for Memory Clear Interface Functions\r
 //\r
-#define MOR_REQUEST_SUCCESS                                        0\r
-#define MOR_REQUEST_GENERAL_FAILURE                                1\r
+#define MOR_REQUEST_SUCCESS          0\r
+#define MOR_REQUEST_GENERAL_FAILURE  1\r
 \r
-#endif  // __TCG_SMM_H__\r
+#endif // __TCG_SMM_H__\r