\r
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>\r
\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions\r
-of the BSD License which accompanies this distribution. The\r
-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
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
\r
#include <Uefi.h>\r
\r
-#pragma pack(push, 1)\r
+#pragma pack(1)\r
\r
//\r
// Below data structure is used for lockbox registration in SMST\r
//\r
\r
-#define SMM_LOCK_BOX_SIGNATURE_32 SIGNATURE_64 ('L','O','C','K','B','_','3','2')\r
-#define SMM_LOCK_BOX_SIGNATURE_64 SIGNATURE_64 ('L','O','C','K','B','_','6','4')\r
+#define SMM_LOCK_BOX_SIGNATURE_32 SIGNATURE_64 ('L','O','C','K','B','_','3','2')\r
+#define SMM_LOCK_BOX_SIGNATURE_64 SIGNATURE_64 ('L','O','C','K','B','_','6','4')\r
\r
typedef struct {\r
- UINT64 Signature;\r
- EFI_PHYSICAL_ADDRESS LockBoxDataAddress;\r
+ UINT64 Signature;\r
+ EFI_PHYSICAL_ADDRESS LockBoxDataAddress;\r
} SMM_LOCK_BOX_CONTEXT;\r
\r
//\r
// Below data structure is used for lockbox management\r
//\r
\r
-#define SMM_LOCK_BOX_DATA_SIGNATURE SIGNATURE_64 ('L','O','C','K','B','O','X','D')\r
+#define SMM_LOCK_BOX_DATA_SIGNATURE SIGNATURE_64 ('L','O','C','K','B','O','X','D')\r
\r
typedef struct {\r
- UINT64 Signature;\r
- EFI_GUID Guid;\r
- EFI_PHYSICAL_ADDRESS Buffer;\r
- UINT64 Length;\r
- UINT64 Attributes;\r
- EFI_PHYSICAL_ADDRESS SmramBuffer;\r
- LIST_ENTRY Link;\r
+ UINT64 Signature;\r
+ EFI_GUID Guid;\r
+ EFI_PHYSICAL_ADDRESS Buffer;\r
+ UINT64 Length;\r
+ UINT64 Attributes;\r
+ EFI_PHYSICAL_ADDRESS SmramBuffer;\r
+ LIST_ENTRY Link;\r
} SMM_LOCK_BOX_DATA;\r
\r
-#pragma pack(pop)\r
+#pragma pack()\r
\r
-#endif\r
+/**\r
+ Constructor for SmmLockBox library.\r
+ This is used to set SmmLockBox context, which will be used in PEI phase in S3 boot path later.\r
+\r
+ @retval EFI_SUCEESS\r
+ @return Others Some error occurs.\r
+**/\r
+EFI_STATUS\r
+SmmLockBoxMmConstructor (\r
+ VOID\r
+ );\r
+\r
+/**\r
+ Destructor for SmmLockBox library.\r
+ This is used to uninstall SmmLockBoxCommunication configuration table\r
+ if it has been installed in Constructor.\r
\r
+ @retval EFI_SUCEESS The destructor always returns EFI_SUCCESS.\r
+\r
+**/\r
+EFI_STATUS\r
+SmmLockBoxMmDestructor (\r
+ VOID\r
+ );\r
+\r
+#endif\r