CryptPkg: Enable CryptoPkg BaseCryptLib ParallelHash for PEI and DXE
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4097 The BaseCryptLib in the CryptoPkg currently supports ParallelHash algorithm for SMM. The MP Services PPI and MP Services Protocol could be used to enable ParallelHash in PEI and DXE versions of the BaseCryptLib. Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Signed-off-by: Zhihao Li <zhihao.li@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
35
CryptoPkg/Library/BaseCryptLib/Hash/CryptDispatchApMm.c
Normal file
35
CryptoPkg/Library/BaseCryptLib/Hash/CryptDispatchApMm.c
Normal file
@ -0,0 +1,35 @@
|
||||
/** @file
|
||||
Dispatch the block task to each AP in Smm mode for parallelhash algorithm.
|
||||
|
||||
Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#include "CryptParallelHash.h"
|
||||
#include <Library/MmServicesTableLib.h>
|
||||
|
||||
/**
|
||||
Dispatch the block task to each AP in SMM mode.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
DispatchBlockToAp (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
|
||||
if (gMmst == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (Index = 0; Index < gMmst->NumberOfCpus; Index++) {
|
||||
if (Index != gMmst->CurrentlyExecutingCpu) {
|
||||
gMmst->MmStartupThisAp (ParallelHashApExecute, Index, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
Reference in New Issue
Block a user