+}\r
+\r
+/**\r
+ The constructor function of HashLibBaseCryptoRouterDxe.\r
+ \r
+ @param ImageHandle The firmware allocated handle for the EFI image.\r
+ @param SystemTable A pointer to the EFI System Table.\r
+ \r
+ @retval EFI_SUCCESS The constructor executed correctly.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+HashLibBaseCryptoRouterDxeConstructor (\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
+ )\r
+{\r
+ EFI_STATUS Status;\r
+\r
+ //\r
+ // Record hash algorithm bitmap of LAST module which also consumes HashLib.\r
+ //\r
+ mSupportedHashMaskLast = PcdGet32 (PcdTcg2HashAlgorithmBitmap);\r
+\r
+ //\r
+ // Set PcdTcg2HashAlgorithmBitmap to 0 in CONSTRUCTOR for CURRENT module.\r
+ //\r
+ Status = PcdSet32S (PcdTcg2HashAlgorithmBitmap, 0);\r
+ ASSERT_EFI_ERROR (Status);\r
+\r
+ return EFI_SUCCESS;\r
+}\r