]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Library/Tpm12CommandLib/Tpm12Ownership.c
SecurityPkg Tpm2DeviceLibDTpm: Update enum type name to match the one in lib
[mirror_edk2.git] / SecurityPkg / Library / Tpm12CommandLib / Tpm12Ownership.c
index 63cc174a8c5e99a54b2656036f6735196525adb5..0b1bf5c536112e37b5b4a9bcd0cfd6198879cafd 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
-  Implement TPM1.2 Startup related command.\r
+  Implement TPM1.2 Ownership related command.\r
 \r
-Copyright (c) 2013, Intel Corporation. All rights reserved. <BR>\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
@@ -12,24 +12,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \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,28 +29,24 @@ 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
+  switch (SwapBytes32 (Response.returnCode)) {\r
   case TPM_SUCCESS:\r
     return EFI_SUCCESS;\r
   default:\r