#include <Library/PcdLib.h>\r
\r
typedef struct {\r
- TPM_ALG_ID AlgoId;\r
- UINT32 Mask;\r
+ TPM_ALG_ID AlgoId;\r
+ UINT32 Mask;\r
} TPM2_HASH_MASK;\r
\r
-TPM2_HASH_MASK mTpm2HashMask[] = {\r
- {TPM_ALG_SHA1, HASH_ALG_SHA1},\r
- {TPM_ALG_SHA256, HASH_ALG_SHA256},\r
- {TPM_ALG_SHA384, HASH_ALG_SHA384},\r
- {TPM_ALG_SHA512, HASH_ALG_SHA512},\r
+TPM2_HASH_MASK mTpm2HashMask[] = {\r
+ { TPM_ALG_SHA1, HASH_ALG_SHA1 },\r
+ { TPM_ALG_SHA256, HASH_ALG_SHA256 },\r
+ { TPM_ALG_SHA384, HASH_ALG_SHA384 },\r
+ { TPM_ALG_SHA512, HASH_ALG_SHA512 },\r
};\r
\r
/**\r
VOID\r
)\r
{\r
- UINT32 HashMask;\r
- UINTN Index;\r
+ UINT32 HashMask;\r
+ UINTN Index;\r
\r
HashMask = PcdGet32 (PcdTpm2HashMask);\r
- for (Index = 0; Index < sizeof(mTpm2HashMask)/sizeof(mTpm2HashMask[0]); Index++) {\r
+ for (Index = 0; Index < sizeof (mTpm2HashMask)/sizeof (mTpm2HashMask[0]); Index++) {\r
if (mTpm2HashMask[Index].Mask == HashMask) {\r
return mTpm2HashMask[Index].AlgoId;\r
}\r
EFI_STATUS\r
EFIAPI\r
HashStart (\r
- OUT HASH_HANDLE *HashHandle\r
+ OUT HASH_HANDLE *HashHandle\r
)\r
{\r
- TPMI_DH_OBJECT SequenceHandle;\r
- EFI_STATUS Status;\r
- TPM_ALG_ID AlgoId;\r
+ TPMI_DH_OBJECT SequenceHandle;\r
+ EFI_STATUS Status;\r
+ TPM_ALG_ID AlgoId;\r
\r
AlgoId = Tpm2GetAlgoFromHashMask ();\r
\r
if (!EFI_ERROR (Status)) {\r
*HashHandle = (HASH_HANDLE)SequenceHandle;\r
}\r
+\r
return Status;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
HashUpdate (\r
- IN HASH_HANDLE HashHandle,\r
- IN VOID *DataToHash,\r
- IN UINTN DataToHashLen\r
+ IN HASH_HANDLE HashHandle,\r
+ IN VOID *DataToHash,\r
+ IN UINTN DataToHashLen\r
)\r
{\r
- UINT8 *Buffer;\r
- UINT64 HashLen;\r
- TPM2B_MAX_BUFFER HashBuffer;\r
- EFI_STATUS Status;\r
+ UINT8 *Buffer;\r
+ UINT64 HashLen;\r
+ TPM2B_MAX_BUFFER HashBuffer;\r
+ EFI_STATUS Status;\r
\r
Buffer = (UINT8 *)(UINTN)DataToHash;\r
- for (HashLen = DataToHashLen; HashLen > sizeof(HashBuffer.buffer); HashLen -= sizeof(HashBuffer.buffer)) {\r
-\r
- HashBuffer.size = sizeof(HashBuffer.buffer);\r
- CopyMem(HashBuffer.buffer, Buffer, sizeof(HashBuffer.buffer));\r
- Buffer += sizeof(HashBuffer.buffer);\r
+ for (HashLen = DataToHashLen; HashLen > sizeof (HashBuffer.buffer); HashLen -= sizeof (HashBuffer.buffer)) {\r
+ HashBuffer.size = sizeof (HashBuffer.buffer);\r
+ CopyMem (HashBuffer.buffer, Buffer, sizeof (HashBuffer.buffer));\r
+ Buffer += sizeof (HashBuffer.buffer);\r
\r
- Status = Tpm2SequenceUpdate((TPMI_DH_OBJECT)HashHandle, &HashBuffer);\r
- if (EFI_ERROR(Status)) {\r
+ Status = Tpm2SequenceUpdate ((TPMI_DH_OBJECT)HashHandle, &HashBuffer);\r
+ if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
}\r
// Last one\r
//\r
HashBuffer.size = (UINT16)HashLen;\r
- CopyMem(HashBuffer.buffer, Buffer, (UINTN)HashLen);\r
- Status = Tpm2SequenceUpdate((TPMI_DH_OBJECT)HashHandle, &HashBuffer);\r
- if (EFI_ERROR(Status)) {\r
+ CopyMem (HashBuffer.buffer, Buffer, (UINTN)HashLen);\r
+ Status = Tpm2SequenceUpdate ((TPMI_DH_OBJECT)HashHandle, &HashBuffer);\r
+ if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
HashCompleteAndExtend (\r
- IN HASH_HANDLE HashHandle,\r
- IN TPMI_DH_PCR PcrIndex,\r
- IN VOID *DataToHash,\r
- IN UINTN DataToHashLen,\r
- OUT TPML_DIGEST_VALUES *DigestList\r
+ IN HASH_HANDLE HashHandle,\r
+ IN TPMI_DH_PCR PcrIndex,\r
+ IN VOID *DataToHash,\r
+ IN UINTN DataToHashLen,\r
+ OUT TPML_DIGEST_VALUES *DigestList\r
)\r
{\r
- UINT8 *Buffer;\r
- UINT64 HashLen;\r
- TPM2B_MAX_BUFFER HashBuffer;\r
- EFI_STATUS Status;\r
- TPM_ALG_ID AlgoId;\r
- TPM2B_DIGEST Result;\r
+ UINT8 *Buffer;\r
+ UINT64 HashLen;\r
+ TPM2B_MAX_BUFFER HashBuffer;\r
+ EFI_STATUS Status;\r
+ TPM_ALG_ID AlgoId;\r
+ TPM2B_DIGEST Result;\r
\r
AlgoId = Tpm2GetAlgoFromHashMask ();\r
\r
Buffer = (UINT8 *)(UINTN)DataToHash;\r
- for (HashLen = DataToHashLen; HashLen > sizeof(HashBuffer.buffer); HashLen -= sizeof(HashBuffer.buffer)) {\r
+ for (HashLen = DataToHashLen; HashLen > sizeof (HashBuffer.buffer); HashLen -= sizeof (HashBuffer.buffer)) {\r
+ HashBuffer.size = sizeof (HashBuffer.buffer);\r
+ CopyMem (HashBuffer.buffer, Buffer, sizeof (HashBuffer.buffer));\r
+ Buffer += sizeof (HashBuffer.buffer);\r
\r
- HashBuffer.size = sizeof(HashBuffer.buffer);\r
- CopyMem(HashBuffer.buffer, Buffer, sizeof(HashBuffer.buffer));\r
- Buffer += sizeof(HashBuffer.buffer);\r
-\r
- Status = Tpm2SequenceUpdate((TPMI_DH_OBJECT)HashHandle, &HashBuffer);\r
- if (EFI_ERROR(Status)) {\r
+ Status = Tpm2SequenceUpdate ((TPMI_DH_OBJECT)HashHandle, &HashBuffer);\r
+ if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
}\r
// Last one\r
//\r
HashBuffer.size = (UINT16)HashLen;\r
- CopyMem(HashBuffer.buffer, Buffer, (UINTN)HashLen);\r
+ CopyMem (HashBuffer.buffer, Buffer, (UINTN)HashLen);\r
\r
- ZeroMem(DigestList, sizeof(*DigestList));\r
+ ZeroMem (DigestList, sizeof (*DigestList));\r
DigestList->count = HASH_COUNT;\r
\r
if (AlgoId == TPM_ALG_NULL) {\r
&HashBuffer,\r
&Result\r
);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
\r
- DigestList->count = 1;\r
+ DigestList->count = 1;\r
DigestList->digests[0].hashAlg = AlgoId;\r
CopyMem (&DigestList->digests[0].digest, Result.buffer, Result.size);\r
Status = Tpm2PcrExtend (\r
DigestList\r
);\r
}\r
- if (EFI_ERROR(Status)) {\r
+\r
+ if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
HashAndExtend (\r
- IN TPMI_DH_PCR PcrIndex,\r
- IN VOID *DataToHash,\r
- IN UINTN DataToHashLen,\r
- OUT TPML_DIGEST_VALUES *DigestList\r
+ IN TPMI_DH_PCR PcrIndex,\r
+ IN VOID *DataToHash,\r
+ IN UINTN DataToHashLen,\r
+ OUT TPML_DIGEST_VALUES *DigestList\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT8 *Buffer;\r
- UINT64 HashLen;\r
- TPMI_DH_OBJECT SequenceHandle;\r
- TPM2B_MAX_BUFFER HashBuffer;\r
- TPM_ALG_ID AlgoId;\r
- TPM2B_EVENT EventData;\r
- TPM2B_DIGEST Result;\r
+ EFI_STATUS Status;\r
+ UINT8 *Buffer;\r
+ UINT64 HashLen;\r
+ TPMI_DH_OBJECT SequenceHandle;\r
+ TPM2B_MAX_BUFFER HashBuffer;\r
+ TPM_ALG_ID AlgoId;\r
+ TPM2B_EVENT EventData;\r
+ TPM2B_DIGEST Result;\r
\r
- DEBUG((DEBUG_VERBOSE, "\n HashAndExtend Entry \n"));\r
+ DEBUG ((DEBUG_VERBOSE, "\n HashAndExtend Entry \n"));\r
\r
SequenceHandle = 0xFFFFFFFF; // Know bad value\r
\r
AlgoId = Tpm2GetAlgoFromHashMask ();\r
\r
- if ((AlgoId == TPM_ALG_NULL) && (DataToHashLen <= sizeof(EventData.buffer))) {\r
+ if ((AlgoId == TPM_ALG_NULL) && (DataToHashLen <= sizeof (EventData.buffer))) {\r
EventData.size = (UINT16)DataToHashLen;\r
CopyMem (EventData.buffer, DataToHash, DataToHashLen);\r
Status = Tpm2PcrEvent (PcrIndex, &EventData, DigestList);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
- Status = Tpm2HashSequenceStart(AlgoId, &SequenceHandle);\r
- if (EFI_ERROR(Status)) {\r
+ Status = Tpm2HashSequenceStart (AlgoId, &SequenceHandle);\r
+ if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
- DEBUG((DEBUG_VERBOSE, "\n Tpm2HashSequenceStart Success \n"));\r
\r
- Buffer = (UINT8 *)(UINTN)DataToHash;\r
- for (HashLen = DataToHashLen; HashLen > sizeof(HashBuffer.buffer); HashLen -= sizeof(HashBuffer.buffer)) {\r
+ DEBUG ((DEBUG_VERBOSE, "\n Tpm2HashSequenceStart Success \n"));\r
\r
- HashBuffer.size = sizeof(HashBuffer.buffer);\r
- CopyMem(HashBuffer.buffer, Buffer, sizeof(HashBuffer.buffer));\r
- Buffer += sizeof(HashBuffer.buffer);\r
+ Buffer = (UINT8 *)(UINTN)DataToHash;\r
+ for (HashLen = DataToHashLen; HashLen > sizeof (HashBuffer.buffer); HashLen -= sizeof (HashBuffer.buffer)) {\r
+ HashBuffer.size = sizeof (HashBuffer.buffer);\r
+ CopyMem (HashBuffer.buffer, Buffer, sizeof (HashBuffer.buffer));\r
+ Buffer += sizeof (HashBuffer.buffer);\r
\r
- Status = Tpm2SequenceUpdate(SequenceHandle, &HashBuffer);\r
- if (EFI_ERROR(Status)) {\r
+ Status = Tpm2SequenceUpdate (SequenceHandle, &HashBuffer);\r
+ if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
}\r
- DEBUG((DEBUG_VERBOSE, "\n Tpm2SequenceUpdate Success \n"));\r
+\r
+ DEBUG ((DEBUG_VERBOSE, "\n Tpm2SequenceUpdate Success \n"));\r
\r
HashBuffer.size = (UINT16)HashLen;\r
- CopyMem(HashBuffer.buffer, Buffer, (UINTN)HashLen);\r
+ CopyMem (HashBuffer.buffer, Buffer, (UINTN)HashLen);\r
\r
- ZeroMem(DigestList, sizeof(*DigestList));\r
+ ZeroMem (DigestList, sizeof (*DigestList));\r
DigestList->count = HASH_COUNT;\r
\r
if (AlgoId == TPM_ALG_NULL) {\r
&HashBuffer,\r
DigestList\r
);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
- DEBUG((DEBUG_VERBOSE, "\n Tpm2EventSequenceComplete Success \n"));\r
+\r
+ DEBUG ((DEBUG_VERBOSE, "\n Tpm2EventSequenceComplete Success \n"));\r
} else {\r
Status = Tpm2SequenceComplete (\r
SequenceHandle,\r
&HashBuffer,\r
&Result\r
);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
- DEBUG((DEBUG_VERBOSE, "\n Tpm2SequenceComplete Success \n"));\r
\r
- DigestList->count = 1;\r
+ DEBUG ((DEBUG_VERBOSE, "\n Tpm2SequenceComplete Success \n"));\r
+\r
+ DigestList->count = 1;\r
DigestList->digests[0].hashAlg = AlgoId;\r
CopyMem (&DigestList->digests[0].digest, Result.buffer, Result.size);\r
Status = Tpm2PcrExtend (\r
PcrIndex,\r
DigestList\r
);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
- DEBUG((DEBUG_VERBOSE, "\n Tpm2PcrExtend Success \n"));\r
+\r
+ DEBUG ((DEBUG_VERBOSE, "\n Tpm2PcrExtend Success \n"));\r
}\r
\r
return EFI_SUCCESS;\r
EFI_STATUS\r
EFIAPI\r
RegisterHashInterfaceLib (\r
- IN HASH_INTERFACE *HashInterface\r
+ IN HASH_INTERFACE *HashInterface\r
)\r
{\r
return EFI_UNSUPPORTED;\r