SecurityPkg/TPM2: Move GetDigestFromDigestList() to Tpm2CommandLib

This patch just moves function Tpm2GetDigestFromDigestList() from
drivers to library as GetDigestFromDigestList() and no functionality change.

Cc: Chao B Zhang <chao.b.zhang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
diff --git a/SecurityPkg/Include/Library/Tpm2CommandLib.h b/SecurityPkg/Include/Library/Tpm2CommandLib.h
index 162db19..197d649 100644
--- a/SecurityPkg/Include/Library/Tpm2CommandLib.h
+++ b/SecurityPkg/Include/Library/Tpm2CommandLib.h
@@ -988,4 +988,22 @@
   IN TPMI_ALG_HASH    HashAlgo

   );

 

+/**

+  This function get digest from digest list.

+

+  @param HashAlg    digest algorithm

+  @param DigestList digest list

+  @param Digest     digest

+

+  @retval EFI_SUCCESS   Sha1Digest is found and returned.

+  @retval EFI_NOT_FOUND Sha1Digest is not found.

+**/

+EFI_STATUS

+EFIAPI

+GetDigestFromDigestList(

+  IN TPMI_ALG_HASH      HashAlg,

+  IN TPML_DIGEST_VALUES *DigestList,

+  IN VOID               *Digest

+  );

+

 #endif

diff --git a/SecurityPkg/Library/Tpm2CommandLib/Tpm2Help.c b/SecurityPkg/Library/Tpm2CommandLib/Tpm2Help.c
index 5e24290..b40c2ab 100644
--- a/SecurityPkg/Library/Tpm2CommandLib/Tpm2Help.c
+++ b/SecurityPkg/Library/Tpm2CommandLib/Tpm2Help.c
@@ -1,7 +1,7 @@
 /** @file

   Implement TPM2 help.

 

-Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved. <BR>

+Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved. <BR>

 This program and the accompanying materials

 are licensed and made available under the terms and conditions of the BSD License

 which accompanies this distribution.  The full text of the license may be found at

@@ -164,3 +164,39 @@
 

   return (UINT32)(UINTN)(Buffer - (UINT8 *)AuthSessionIn);

 }

+

+/**

+  This function get digest from digest list.

+

+  @param HashAlg    digest algorithm

+  @param DigestList digest list

+  @param Digest     digest

+

+  @retval EFI_SUCCESS   Sha1Digest is found and returned.

+  @retval EFI_NOT_FOUND Sha1Digest is not found.

+**/

+EFI_STATUS

+EFIAPI

+GetDigestFromDigestList (

+  IN TPMI_ALG_HASH      HashAlg,

+  IN TPML_DIGEST_VALUES *DigestList,

+  IN VOID               *Digest

+  )

+{

+  UINTN  Index;

+  UINT16 DigestSize;

+

+  DigestSize = GetHashSizeFromAlgo (HashAlg);

+  for (Index = 0; Index < DigestList->count; Index++) {

+    if (DigestList->digests[Index].hashAlg == HashAlg) {

+      CopyMem (

+        Digest,

+        &DigestList->digests[Index].digest,

+        DigestSize

+        );

+      return EFI_SUCCESS;

+    }

+  }

+

+  return EFI_NOT_FOUND;

+}
\ No newline at end of file
diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
index 319f245..9080e47 100644
--- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
+++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
@@ -864,41 +864,6 @@
 }

 

 /**

-  This function get digest from digest list.

-

-  @param HashAlg    digest algorithm

-  @param DigestList digest list

-  @param Digest     digest

-

-  @retval EFI_SUCCESS   Sha1Digest is found and returned.

-  @retval EFI_NOT_FOUND Sha1Digest is not found.

-**/

-EFI_STATUS

-Tpm2GetDigestFromDigestList (

-  IN TPMI_ALG_HASH      HashAlg,

-  IN TPML_DIGEST_VALUES *DigestList,

-  IN VOID               *Digest

-  )

-{

-  UINTN  Index;

-  UINT16 DigestSize;

-

-  DigestSize = GetHashSizeFromAlgo (HashAlg);

-  for (Index = 0; Index < DigestList->count; Index++) {

-    if (DigestList->digests[Index].hashAlg == HashAlg) {

-      CopyMem (

-        Digest,

-        &DigestList->digests[Index].digest,

-        DigestSize

-        );

-      return EFI_SUCCESS;

-    }

-  }

-

-  return EFI_NOT_FOUND;

-}

-

-/**

   Get TPML_DIGEST_VALUES data size.

 

   @param[in]     DigestList    TPML_DIGEST_VALUES data.

@@ -1067,7 +1032,7 @@
       DEBUG ((EFI_D_INFO, "  LogFormat - 0x%08x\n", mTcg2EventInfo[Index].LogFormat));

       switch (mTcg2EventInfo[Index].LogFormat) {

       case EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2:

-        Status = Tpm2GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);

+        Status = GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);

         if (!EFI_ERROR (Status)) {

           //

           // Enter critical region

diff --git a/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.c b/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.c
index 0d779f1..adc0350 100644
--- a/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.c
+++ b/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.c
@@ -135,41 +135,6 @@
 EFI_PEI_FIRMWARE_VOLUME_INFO_MEASUREMENT_EXCLUDED_PPI *mMeasurementExcludedFvPpi;

 

 /**

-  This function get digest from digest list.

-

-  @param HashAlg    digest algorithm

-  @param DigestList digest list

-  @param Digest     digest

-

-  @retval EFI_SUCCESS   Sha1Digest is found and returned.

-  @retval EFI_NOT_FOUND Sha1Digest is not found.

-**/

-EFI_STATUS

-Tpm2GetDigestFromDigestList (

-  IN TPMI_ALG_HASH      HashAlg,

-  IN TPML_DIGEST_VALUES *DigestList,

-  IN VOID               *Digest

-  )

-{

-  UINTN  Index;

-  UINT16 DigestSize;

-

-  DigestSize = GetHashSizeFromAlgo (HashAlg);

-  for (Index = 0; Index < DigestList->count; Index++) {

-    if (DigestList->digests[Index].hashAlg == HashAlg) {

-      CopyMem (

-        Digest,

-        &DigestList->digests[Index].digest,

-        DigestSize

-        );

-      return EFI_SUCCESS;

-    }

-  }

-

-  return EFI_NOT_FOUND;

-}

-

-/**

   Record all measured Firmware Volum Information into a Guid Hob

   Guid Hob payload layout is 

 

@@ -420,7 +385,7 @@
       DEBUG ((EFI_D_INFO, "  LogFormat - 0x%08x\n", mTcg2EventInfo[Index].LogFormat));

       switch (mTcg2EventInfo[Index].LogFormat) {

       case EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2:

-        Status = Tpm2GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);

+        Status = GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);

         if (!EFI_ERROR (Status)) {

           HobData = BuildGuidHob (

                      &gTcgEventEntryHobGuid,

diff --git a/SecurityPkg/Tcg/TrEEDxe/TrEEDxe.c b/SecurityPkg/Tcg/TrEEDxe/TrEEDxe.c
index ecafc12..fb69fa1 100644
--- a/SecurityPkg/Tcg/TrEEDxe/TrEEDxe.c
+++ b/SecurityPkg/Tcg/TrEEDxe/TrEEDxe.c
@@ -625,41 +625,6 @@
 }

 

 /**

-  This function get digest from digest list.

-

-  @param HashAlg    digest algorithm

-  @param DigestList digest list

-  @param Digest     digest

-

-  @retval EFI_SUCCESS   Sha1Digest is found and returned.

-  @retval EFI_NOT_FOUND Sha1Digest is not found.

-**/

-EFI_STATUS

-Tpm2GetDigestFromDigestList (

-  IN TPMI_ALG_HASH      HashAlg,

-  IN TPML_DIGEST_VALUES *DigestList,

-  IN VOID               *Digest

-  )

-{

-  UINTN  Index;

-  UINT16 DigestSize;

-

-  DigestSize = GetHashSizeFromAlgo (HashAlg);

-  for (Index = 0; Index < DigestList->count; Index++) {

-    if (DigestList->digests[Index].hashAlg == HashAlg) {

-      CopyMem (

-        Digest,

-        &DigestList->digests[Index].digest,

-        DigestSize

-        );

-      return EFI_SUCCESS;

-    }

-  }

-

-  return EFI_NOT_FOUND;

-}

-

-/**

   Add a new entry to the Event Log.

 

   @param[in]     DigestList    A list of digest.

@@ -686,7 +651,7 @@
       DEBUG ((EFI_D_INFO, "  LogFormat - 0x%08x\n", mTreeEventInfo[Index].LogFormat));

       switch (mTreeEventInfo[Index].LogFormat) {

       case TREE_EVENT_LOG_FORMAT_TCG_1_2:

-        Status = Tpm2GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);

+        Status = GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);

         if (!EFI_ERROR (Status)) {

           //

           // Enter critical region

diff --git a/SecurityPkg/Tcg/TrEEPei/TrEEPei.c b/SecurityPkg/Tcg/TrEEPei/TrEEPei.c
index 41edfdd..8d8639d 100644
--- a/SecurityPkg/Tcg/TrEEPei/TrEEPei.c
+++ b/SecurityPkg/Tcg/TrEEPei/TrEEPei.c
@@ -133,41 +133,6 @@
 EFI_PEI_FIRMWARE_VOLUME_INFO_MEASUREMENT_EXCLUDED_PPI *mMeasurementExcludedFvPpi;

 

 /**

-  This function get digest from digest list.

-

-  @param HashAlg    digest algorithm

-  @param DigestList digest list

-  @param Digest     digest

-

-  @retval EFI_SUCCESS   Sha1Digest is found and returned.

-  @retval EFI_NOT_FOUND Sha1Digest is not found.

-**/

-EFI_STATUS

-Tpm2GetDigestFromDigestList (

-  IN TPMI_ALG_HASH      HashAlg,

-  IN TPML_DIGEST_VALUES *DigestList,

-  IN VOID               *Digest

-  )

-{

-  UINTN  Index;

-  UINT16 DigestSize;

-

-  DigestSize = GetHashSizeFromAlgo (HashAlg);

-  for (Index = 0; Index < DigestList->count; Index++) {

-    if (DigestList->digests[Index].hashAlg == HashAlg) {

-      CopyMem (

-        Digest,

-        &DigestList->digests[Index].digest,

-        DigestSize

-        );

-      return EFI_SUCCESS;

-    }

-  }

-

-  return EFI_NOT_FOUND;

-}

-

-/**

   Record all measured Firmware Volum Information into a Guid Hob

   Guid Hob payload layout is 

 

@@ -249,7 +214,7 @@
       DEBUG ((EFI_D_INFO, "  LogFormat - 0x%08x\n", mTreeEventInfo[Index].LogFormat));

       switch (mTreeEventInfo[Index].LogFormat) {

       case TREE_EVENT_LOG_FORMAT_TCG_1_2:

-        Status = Tpm2GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);

+        Status = GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);

         if (!EFI_ERROR (Status)) {

           HobData = BuildGuidHob (

                      &gTcgEventEntryHobGuid,