]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Library/Tpm12CommandLib/Tpm12Ownership.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / SecurityPkg / Library / Tpm12CommandLib / Tpm12Ownership.c
index 5ca1323c30f02feb5a9deaa9d9a643ff8fe71157..1dae03d17a12e272c4574dbc3a84e5920d6c01c8 100644 (file)
@@ -1,35 +1,16 @@
 /** @file\r
   Implement TPM1.2 Ownership related command.\r
 \r
-Copyright (c) 2013 - 2014, 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) 2013 - 2018, Intel Corporation. All rights reserved. <BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
-#include <Uefi.h>\r
-#include <IndustryStandard/Tpm12.h>\r
+#include <PiPei.h>\r
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/BaseLib.h>\r
 #include <Library/Tpm12DeviceLib.h>\r
 \r
-#pragma pack(1)\r
-\r
-typedef struct {\r
-  TPM_RQU_COMMAND_HDR   Hdr;\r
-} TPM_CMD_FORCE_CLEAR;\r
-\r
-typedef struct {\r
-  TPM_RSP_COMMAND_HDR   Hdr;\r
-} TPM_RSP_FORCE_CLEAR;\r
-\r
-#pragma pack()\r
-\r
 /**\r
   Send ForceClear command to TPM1.2.\r
 \r
@@ -42,31 +23,28 @@ Tpm12ForceClear (
   VOID\r
   )\r
 {\r
-  EFI_STATUS                        Status;\r
-  UINT32                            TpmRecvSize;\r
-  UINT32                            TpmSendSize;\r
-  TPM_CMD_FORCE_CLEAR               SendBuffer;\r
-  TPM_RSP_FORCE_CLEAR               RecvBuffer;\r
-  UINT32                            ReturnCode;\r
+  EFI_STATUS           Status;\r
+  TPM_RQU_COMMAND_HDR  Command;\r
+  TPM_RSP_COMMAND_HDR  Response;\r
+  UINT32               Length;\r
 \r
   //\r
   // send Tpm command TPM_ORD_ForceClear\r
   //\r
-  TpmRecvSize               = sizeof (TPM_RSP_FORCE_CLEAR);\r
-  TpmSendSize               = sizeof (TPM_CMD_FORCE_CLEAR);\r
-  SendBuffer.Hdr.tag        = SwapBytes16 (TPM_TAG_RQU_COMMAND);\r
-  SendBuffer.Hdr.paramSize  = SwapBytes32 (TpmSendSize);\r
-  SendBuffer.Hdr.ordinal    = SwapBytes32 (TPM_ORD_ForceClear);\r
+  Command.tag       = SwapBytes16 (TPM_TAG_RQU_COMMAND);\r
+  Command.paramSize = SwapBytes32 (sizeof (Command));\r
+  Command.ordinal   = SwapBytes32 (TPM_ORD_ForceClear);\r
+  Length            = sizeof (Response);\r
 \r
-  Status = Tpm12SubmitCommand (TpmSendSize, (UINT8 *)&SendBuffer, &TpmRecvSize, (UINT8 *)&RecvBuffer);\r
+  Status = Tpm12SubmitCommand (sizeof (Command), (UINT8 *)&Command, &Length, (UINT8 *)&Response);\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
-  ReturnCode = SwapBytes32(RecvBuffer.Hdr.returnCode);\r
-  switch (ReturnCode) {\r
-  case TPM_SUCCESS:\r
-    return EFI_SUCCESS;\r
-  default:\r
-    return EFI_DEVICE_ERROR;\r
+\r
+  switch (SwapBytes32 (Response.returnCode)) {\r
+    case TPM_SUCCESS:\r
+      return EFI_SUCCESS;\r
+    default:\r
+      return EFI_DEVICE_ERROR;\r
   }\r
-}
\ No newline at end of file
+}\r